<https://github.com/mrakgr/The-Spiral-Language/blo...
# thinking-together
g
https://github.com/mrakgr/The-Spiral-Language/blob/master/readme.md this is going to take a while for me to get through but it seems extremely unique and also cool
👍 1
d
Thanks for posting. Curv is also a staged functional language for GPU programming, so probably I can learn something from this.
I say that Curv is dynamically typed, even code staged to the GPU is statically typed. Spiral is the same (inlineable functions are dynamically typed), but Spiral claims to be statically typed. In truth, for both languages, stage 1 is dynamically typed, stage 2 is statically typed.
Something similar is happening in Zig (ziglang.org). "In Zig, types are first-class citizens. They can be assigned to variables, passed as parameters to functions, and returned from functions. However, they can only be used in expressions which are known at compile-time". Just like Spiral.
😮 1
The Spiral documentation is very idiosyncratic and hard to read. Here's a related project, with clearer documentation and a wider scope of applicability. AnyDSL is a framework for building DSLs using partial evaluation. http://compilers.cs.uni-saarland.de/papers/anydsl.pdf https://anydsl.github.io/
g
good to hear that the documentation isn’t just an issue with my brain
❤️ 1
extremely excited to check out anydsl—thank you!