New JavaScript code generator in Idris 2
github.com
github.com
[1]. https://idris2.readthedocs.io/en/latest/updates/updates.html...
And no, -fllvm exists, but it is not the default: https://downloads.haskell.org/~ghc/8.8.3/docs/html/users_gui...
The logical target for a high-performance backend would be LLVM instead of rust. After elaboration Idris 2 has a series of intermediate languages, from lambda calculus to a simple register machine. Creating LLVM code from the least abstract of them wouldn't be any harder than creating Rust code.
If you're producing code for a collected language, you can forward on all of the allocations to that language, and if not, you will need to implement one.
Zero-cost abstractions or not, Idris needs a GC from somewhere.
But basically, having true closures requires some kind of GC. That was already recognized in Steele's Lambda papers in the 70s. Rust has to make compromises with its closures to avoid that.
E.g, websites, video games, etc.
https://flowing.systems/2020/01/13/a-game-in-a-pure-language...
https://flowing.systems/2020/04/13/a-game-in-a-pure-language...
The book is otherwise still totally relevant for Idris 2 and is a great read & introduction to dependent types.
The Edwin’s book about Idris is good, BTW.