I reckon other languages could replicate this combination, it’s not very hard. Dart added this feature recently. I just don’t know why it’s taken so long for tagged unions + exhaustive match to become widely adopted.
I reckon other languages could replicate this combination, it’s not very hard. Dart added this feature recently. I just don’t know why it’s taken so long for tagged unions + exhaustive match to become widely adopted.
But for a high performance compiler, manually managed arena allocation will beat out a generational GC.
I need to come up with a haskell "new project" template thing
Thx for expositing my remark :)
Not only the type system is quite nice, the ecosystem is full of nice crates:
- lexing: logos
- parsers: rust-peg / lalrpop / nom
- utilities: string-interner / linecol / snailquote
I also wrote about this here: https://david-delassus.medium.com/writing-a-simple-lisp-inte... (friend link, no paywall)Though personally I think writing LISP interpreters with parser libraries should be considered sacrilege
Agreed, though the point of the article was to explore the Rust ecosystem. When learning, a little bit of blasphemy isn't a bad thing :)