llvm-project
Mono
Our great sponsors
llvm-project | Mono | |
---|---|---|
346 | 90 | |
25,055 | 10,809 | |
3.9% | 0.6% | |
10.0 | 5.5 | |
about 2 hours ago | about 15 hours ago | |
C++ | C# | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
llvm-project
-
Programming from Top to Bottom - Parsing
You can never mistake type_declaration with an identifier, otherwise the program will not work. Aside from that constraint, you are free to name them whatever you like, there is no one standard, and each parser has it own naming conventions, unless you are planning to use something like LLVM. If you are interested, you can see examples of naming in different language parsers in the AST Explorer.
-
C++ Safety, in Context
> It's true, this was a CVE in Rust and not a CVE in C++, but only because C++ doesn't regard the issue as a problem at all. The problem definitely exists in C++, but it's not acknowledged as a problem, let alone fixed.
Can you find a link that substantiates your claim? You're throwing out some heavy accusations here that don't seem to match reality at all.
Case in point, this was fixed in both major C++ libraries:
https://github.com/gcc-mirror/gcc/commit/ebf6175464768983a2d...
https://github.com/llvm/llvm-project/commit/4f67a909902d8ab9...
So what C++ community refused to regard this as an issue and refused to fix it? Where is your supporting evidence for your claims?
> Take for example CVE-2022-21658 (https://blog.rust-lang.org/2022/01/20/cve-2022-21658.html) in Rust, related to a filesystem API. It's true, this was a CVE in Rust and not a CVE in C++, but only because C++ doesn't regard the issue as a problem at all.
That just plain wrong. Just simply wrong. And I hope it is not a lie done on purpose.
The C++ community acknowledge the issue as soon as the Rust one posted the problem and issued a fix which is already deployed with major compilers [^1] [^2]
It does not have a CVE associated since the issue was spotted within Rust stdlib first.
This is this exact kind of FUD and zealotism that makes people hate the Rust community. I wish the community mature a bit on this aspect.
[^1]: https://github.com/gcc-mirror/gcc/commit/ebf6175464768983a2d...
[^2]: https://github.com/llvm/llvm-project/commit/4f67a909902d8ab9...
-
Clang accepts MSVC arguments and targets Windows if its binary is named clang-cl
For everyone else looking for the magic in this almost 7k lines monster, look at line 6610 [1].
[1] https://github.com/llvm/llvm-project/blob/8ec28af8eaff5acd0d...
-
Rewrite the VP9 codec library in Rust
Through value tracking. It's actually LLVM that does this, GCC probably does it as well, so in theory explicit bounds checks in regular C code would also be removed by the compiler.
How it works exactly I don't know, and apparently it's so complex that it requires over 9000 lines of C++ to express:
https://github.com/llvm/llvm-project/blob/main/llvm/lib/Anal...
-
MiniScript Ports
• Go • Rust • Lua • pure C (sans C++) • 6502 assembly • WebAssembly • compiler backends, like LLVM or Cranelift
-
On Avoiding Register Spills in Vectorized Code with Many Constants
Compilers also may even spill data to stack from memory, even when the original location is still available, as can be seen in this issue: https://github.com/llvm/llvm-project/issues/53348
I vaguely remember that spilling like this could allow high-end CPUs to use something similar to register renaming, i.e. stack locations like [rsp + 96] could be stay in a physical registers during function execution (high-end CPUs often have more physical registers, than logical ones), but could find good references whether such optimization exists in practice or not.
Unfortunately, I think more often than note it causes performance regressions and in some cases it may even cause unnecessary stack spilling of sensitive data: https://github.com/rust-lang/rust/issues/88930#issuecomment-...
-
MRISC32 – An Open 32-Bit RISC/Vector ISA (Suitable for FPGA CPU)
Looks like llvm recently got some fusion support via -mtune now: https://github.com/llvm/llvm-project/commits/main/llvm/lib/T...
-
Std: Clamp generates less efficient assembly than std:min(max,std:max(min,v))
https://github.com/llvm/llvm-project/issues/57589
Turn on fast-math, it flips the FTZ/DAZ bit for the entire application. Even if you turned it on for just a shared library!
Mono
-
Is there anything inherently wrong with .net applications for self-hosting? (especially in terms of privacy)
4- Any user-side telemetry would be in the MS .Net framework, which is not used when you selfhost as .net based stuff like Jellyfin use Mono, which is fully open-source and independent (https://www.mono-project.com/)
-
Mono: A Simple UI/Web/Desktop/Mobile Framework Written in Nim
Did they intentionally name it after a widely used, well known programming framework[1], or did they want to guarantee, I dunno, that they will fly way, way under the radar? I thought it was bad form to name a new programming language 'Cedar', but at least the other Cedar isn't actively developed, unlike the other Mono.
[1] https://www.mono-project.com/ for the few of you who didn't know.
-
Java 21 will introduce Unnamed Classes and Instance Main Methods
They have deceived you. https://www.mono-project.com/ I seriously don't know how well wine can deal with newer .NET winforms
- Ich werde niemals auf Proprietäre r Basis software entwickeln
-
never ending
It also gained a lot of more popularity and success after the release of the open source implementation of it called Mono.
-
I wanted to work with C#, but it's unnecessarily difficult to be able to compile it on Linux
Check out this thing: https://www.mono-project.com/
- Is Maui dead on arrival?
-
I lost 8 months worth of progress on my unity game.
Yeah, because they were executed by Mono (https://www.mono-project.com/). Not for any reason related to this discussion at all.
-
Why isn't there a GCed variant of C++ that'd be functionally like Java, but with C++'s syntax?
c# via .net isnt open source(its microsoft) while Mono is the open source version of .net https://www.mono-project.com/ and so you shouldnt need to worry about it going closed source
-
Any way to download Windows’ Visual Studio on intel mac?
There is a Visual Studio for Mac version, but an underlying problem is .NET Framework as it officially doesn't run on anything that's not Windows, you could try using Mono with VS or it's accompanying MonoDevelop instead but I've never had a great or even good experience using it.
What are some alternatives?
Introducing .NET Multi-platform App UI (MAUI) - .NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
Uno Platform - Build Mobile, Desktop and WebAssembly apps with C# and XAML. Today. Open source and professionally supported.
ABP - Open Source Web Application Framework for ASP.NET Core. Offers an opinionated architecture to build enterprise software solutions with best practices on top of the .NET and the ASP.NET Core platforms. Provides the fundamental infrastructure, production-ready startup templates, application modules, UI themes, tooling, guides and documentation.
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
ASP.NET Boilerplate - ASP.NET Boilerplate - Web Application Framework
squoosh - Make images smaller using best-in-class codecs, right in the browser.
CoreFX - This repo is used for servicing PR's for .NET Core 2.1 and 3.1. Please visit us at https://github.com/dotnet/runtime
DotNetty - DotNetty project – a port of netty, event-driven asynchronous network application framework
PSXPackager - A utility to convert Playstation disc images in various formats to PBP format and back
Lark - Lark is a parsing toolkit for Python, built with a focus on ergonomics, performance and modularity.
Spring.Net - Spring Framework for .NET
gcc