bflat
VisualFSharp
bflat | VisualFSharp | |
---|---|---|
27 | 56 | |
3,474 | 3,757 | |
0.7% | 0.5% | |
6.9 | 9.9 | |
about 2 months ago | 3 days ago | |
C# | F# | |
GNU Affero General Public License v3.0 | MIT License |
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.
bflat
-
Borgo is a statically typed language that compiles to Go
The sibling pretty much sums it up. But if you want more detail, read on:
Generally, there are three publishing options that each make sense depending on scenario:
JIT + host runtime: by definition portable, includes slim launcher executable for convenience, the platform for which can be specified with e.g. -r osx-arm64[0].
JIT + self-contained runtime: this includes IL assemblies and runtime together, either within a single file or otherwise (so it looks like AOT, just one bin/exe). These requires specifying RID, like in the previous option.
AOT: statically linked native binary, cross-OS compilation is not supported officially[1] because macOS is painful in general, and Windows<->Linux/FreeBSD is a configuration nightmare - IL AOT Compiler depends on Clang or MSVC and a native linker so it is subject to restrictions of those as a start. But it can be done and there are alternate, more focused toolchains, that offer it, like Bflat[1].
If you just want a hello world AOT application, then the shortest path to that is `dotnet new console --aot && dotnet publish -o {folder}`.
[0] https://learn.microsoft.com/en-us/dotnet/core/rid-catalog
[1] https://github.com/bflattened/bflat (can also build UEFI binaries, lol)
-
Learn how to build beautiful and interactive .NET command-line applications using System.CommandLine and Spectre.Console with my latest blog post
See here
-
Question about NativeAOT platform support
See B flat
-
Native AOT Overview
I've been wondering how to integrate modern .NET Core into a custom build system (buck2) and was wondering similar things. There's this project I think is cool called bflat[1] that basically makes the C# compiler more like the Go compiler in the sense it's a one-shot single-use tool that can cross compile binaries natively. It's done by one of the people on the .NET Runtime team as a side project, but quite neat.
I think in practice you're supposed to compile whole .dll's or assemblies all at once, which acts as the unit of compilation; I don't think the csharp compiler generates native object-files-for-every-.cs, the kind of approach you'd expect from javac or g++. Someone please correct me if I'm wrong though! I'd like to learn more about this.
[1] https://github.com/bflattened/bflat
-
If you were stuck on a remote island, would you pick C# as your programming language
You can compile without a GC using https://github.com/bflattened/bflat
- AOT
-
Hey people, made a game for my CS homework as a freshman using C#, what do you guys think about it?
nice. have you tried compile it using https://github.com/bflattened/bflat to have native executable? as long as you don't have PackgeReference it can be compiled using bflat instead of full dotnet
- Bflat – a single ahead of time crosscompiler and runtime for C#
-
bflat - Build native C# applications independent of .NET
The creator actually addresses this issue:
VisualFSharp
- Change F#'s Color on GitHub
-
Experimentation with Optimized Closures
There's docs about how the compiler generally does optimizations here: https://github.com/dotnet/fsharp/blob/main/docs/optimizations.md
-
Load projects with dependencies on Repl
You should add your +1 to https://github.com/dotnet/fsharp/issues/8764, which would add a syntax like #r: project ... to FSI.
-
Updated .NET Managed languages strategy - .NET
So when people are mad about MS and F#, one can see here that: https://github.com/dotnet/fsharp/graphs/contributors MS does a lot more for F# then people being all pessimistic in reddit.
-
AOT
F# AOT feature tracking
- old languages compilers
-
Ask HN: Is Clojure Dead?
Can't speak to the others, but I'm pretty sure the F# team just doubled or tripled in size (it's still small though). Also the GitHub repo is very active: https://github.com/dotnet/fsharp .
- Why is it not possible to pipeline .NET class methods?
- What are the features you're looking forward to in the next version of Fsharp?
-
Help with trying to get a .NetFramework project running in VS2022
Have you tried the workaround listed here? https://github.com/dotnet/fsharp/issues/12239
What are some alternatives?
asdf-dotnet-core - ✨ .Net Core plugin for asdf version manager
FunScript - F# to JavaScript compiler with JQuery etc. mappings through a TypeScript type provider
zerosharp - Demo of the potential of C# for systems programming with the .NET native ahead-of-time compilation technology.
F# - Please file issues or pull requests here: https://github.com/dotnet/fsharp
TinyGo - Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
Roslyn - The Roslyn .NET compiler provides C# and Visual Basic languages with rich code analysis APIs.
dmd - dmd D Programming Language compiler
Nemerle - Nemerle language. Main repository.
centos-stream
language-ext - C# functional language extensions - a base class library for functional programming
vscodium - binary releases of VS Code without MS branding/telemetry/licensing
ClojureCLR - A port of Clojure to the CLR, part of the Clojure project