Comments (3)
The way forward with F# is to create a library project and pull it in on your C# executable.
I tested a simple function using this method
from bflat.
Its like rewriting code to add support for F#.
Even if added, then folks for more, like visual basic, J#... and alot of bugs and harder to concentrate. lol
Instead I suggest developers to do something like dnspy does.
It de-compile .net byte code, and then generates equivalent code in C# and VB.
Even code becomes more readable if pdb symbols are present.
So bflat can do following way:
- de-compile assemblies (using dnlib or mono.cecil)
- convert that il to c# (which dnspy does)
- use that c# code in bflat to generate executables
That way you don't need to fight different language packs. Any .net executable whether C#, VB, F#, IronPython etc can be converted to native code without really need to add support for each.
Just sharing some thoughts, rest author know well.
from bflat.
VB should have no issue exclusively running C# libraries, you need language support F# because the F# core library is different from the C# core library. The IL support is probably how we will do it, though you should not need to compile to C#. The good news is it will not lead to more bugs in the C# code since it is completely separated and will be maintained by F# devs. VB is the only other big language that may want to compile to native and their language is in most respects extremely similar to C#. It probably isn't going to be much work for them to add it if they put their mind to it.
from bflat.
Related Issues (20)
- Detected as malware. HOT 1
- Compiler exits with status code 0 even there are errors. Confusing automated platform as a result HOT 2
- Memory management with Zero stdlib? HOT 2
- run in docker HOT 3
- Cannot run Sokol sample on Linux (Ubuntu 22.04 WSL2) HOT 6
- [zerolib] can you give a printf combined with an example of printing string (including Chinese) Thank HOT 4
- [zerolib] Span<T> is readonly
- No auto library specifying HOT 9
- [zerolib x86] Implement Concat, string Assignment issues? HOT 1
- Debugging doesn't work on Linux HOT 3
- Tight inner loop recommended in /src/zerolib doesn't work on Linux (doesn't link 3 SystemNative functions) HOT 4
- Can't reference System.Diagnostics with --stdlib:zero HOT 5
- Which language features not available in the Zero stdlib? HOT 12
- [zerolib] `Console.Write` and some overloads
- [zerolib] `Console.WriteLine` and some overloads
- Please add this method to `ClassConstructionRunner` to make `ReadOnlySpan` returning methods compile HOT 6
- [zerolib] What is the encoding of `string`? HOT 1
- [zerolib] Implement `System.Math` HOT 5
- [zerolib] Binding to C standard library HOT 3
- On Linux, command line arguments cannot contain multi-byte codepoints because of limitation on the String type HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bflat.