fez
fez copied to clipboard
F# to core erlang compiler experiment
Let's say I wanted to compile Logary (the core library) with Fez; can it be done? It depends on NodaTime and Hopac and FSharp.Core so it has minimal dependencies IMO.
All IO in erlang is "async" (non blocking) so for that kind of code async can effectively be erased. In the case of `Async.Start*` we could potentially compile these to...
Currently all fixed size fsharp numerals map onto erlang integers and floats. We should provide either a compiler option or a custom compiler directive to insert the appropriate bit masks...
Not sure exactly what form this would take but I see there are other language plugins available, e.g. for LFE and it would be nice to provide something similar. Part...
Arrays have no direct equivalent in `core erlang`. A lot of code that uses arrays can be quite directly translated to using lists instead (fsharp `List`s or `Seq`s). The exception...
Only a few functions left. https://github.com/kjnilsson/fez/blob/master/src/Microsoft.FSharp.Collections.MapModule.erl
https://github.com/kjnilsson/fez/blob/master/src/Microsoft.FSharp.Collections.SetModule.erl Currently it uses a map internally. Perhaps it would be quicker to just use erlang's `sets` module instead although it is likely to be less efficient. Alt finish module...
Consider a function: `f int -> int -> int` being passed as a higher order function requiring fewer arguments. This fails as we flatten the lambda into a function with...
Currently object constructors return unit as is their signature. We need to intercept this to instead return an appropriately object formatted tuple containing the appropriate fields.