Post #746572
2026-03-22 14:33 UTC
Replies (4)
-
@jack@berlin.social 2026-03-24 11:45
I couldn't leave it alone, so now it correctly refuses to emit C until it can ground every expression in a C-compatible type (type hints can be used to resolve ambiguities), and the generated C compiles to perfectly good WASM modules. This is now dangerously close to being useful. 🤔
-
@abnv@fantastic.earth 2026-03-22 14:58
@jack wow, exactly what I was looking for today to implement in my compiler for a JS like dynamically typed language. Thanks! Do you think it would work my non-lisp language?
-
@simon_brooke@mastodon.scot 2026-03-22 20:49
@jack which, obvs, fails when it hits the bignum transition. #Lisp-like languages are not good just because they handle recursion well -- #Clojure, running on the limited and unextensible JVM stack, does not handle recursion well -- but because when a result cannot fit into one storage type, you can return it as another storage type, because data items are tagged with their type. You cannot easily move automatically between int32 and int64 in C, let alone between int64 and a bignum library.
-
@nixfreak@masto.hackers.town 2026-03-24 12:04
@jack why not take over #prescheme since it got abandoned it looks like. https://codeberg.org/prescheme/prescheme