I mean with a modern typesystem used correctly
and I do mean *static*: so, actually erased in the machine code
I mean with a modern typesystem used correctly
and I do mean *static*: so, actually erased in the machine code
youtu.be/gKNJKce1p8M?...
youtu.be/gKNJKce1p8M?...
unwrap is generally used for the "I can't be bothered to handle this rn" case
unwrap is generally used for the "I can't be bothered to handle this rn" case
I love #ocalm.
it has many superpowers
- #soundcomplete and #strong #typesystem with #typeinference
- #algebraiceffects
- #algebraicdatatypes
- #GADT
- #patternmatching
- pragmatic by default #immutanbility
- pragmatic and optional laziness
I love #ocalm.
it has many superpowers
- #soundcomplete and #strong #typesystem with #typeinference
- #algebraiceffects
- #algebraicdatatypes
- #GADT
- #patternmatching
- pragmatic by default #immutanbility
- pragmatic and optional laziness
But what I am eager about is to see what new edge cases are uncovered by the enhenced typesystem.
But what I am eager about is to see what new edge cases are uncovered by the enhenced typesystem.
oshub.org/projects/mae...
#osdev #oshub #maestro
oshub.org/projects/mae...
#osdev #oshub #maestro
I want:
- good performance so I can build serious backends in it
- good typesystem
- good tooling (compiler, crosscompiles, formatters, etc)
And I can find 2-out-of-3 in a couple places. But no 3/3.
I want:
- good performance so I can build serious backends in it
- good typesystem
- good tooling (compiler, crosscompiles, formatters, etc)
And I can find 2-out-of-3 in a couple places. But no 3/3.
haskell makes it too difficult sometimes when more than one monad is happening or when you want to define more complex data structures (a json for instance)
haskell makes it too difficult sometimes when more than one monad is happening or when you want to define more complex data structures (a json for instance)
Any foreseeable advantages wrt low level optimizations? Like, can I optimize the code *between* the synchronization points better if I know them at the type system level at compile time?
Any foreseeable advantages wrt low level optimizations? Like, can I optimize the code *between* the synchronization points better if I know them at the type system level at compile time?