3 ms·
Strong replacement for Ocaml which is also performant and has rich ecosystem is F#. Technically speaking, Java and C# would serve somewhat different purposes a
by neonsunset 3y ago
Strong replacement for Ocaml which is also performant and has rich ecosystem is F#.
Technically speaking, Java and C# would serve somewhat different purposes and I would rather recommend Kotlin and C# with the former serving higher-level code goals better with existential types, SRTPs and overall strong type system and the latter for lower-level and/or performance-sensitive code with SIMD, pointers/byrefs, struct generics (zero-cost abstractions) and free/cheap interop.
The only concern is how well Kotlin Native works today regarding compatibility. NativeAOT has seen a lot of work to improve this and scenarios that will never be supported (runtime reflection emit which needs JIT or arbitrary unbound reflection) are now well-documented.
You may also be interested in Bflat[0] which has 'UEFI' as a target or even Zerosharp[1] as a demonstration how far you can push this (which is, of course, impractical, just use Rust :D)
[0] https://github.com/bflattened/bflat https://github.com/bflattened/bflat
[1] https://github.com/MichalStrehovsky/zerosharp/tree/master/no-runtime https://github.com/MichalStrehovsky/zerosharp/tree/master/no...