Thanks for posting. Curv is also a staged functional language for GPU programming, so probably I can learn something from this.
Doug Moen
11/17/2019, 7:52 PM
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.
Doug Moen
11/17/2019, 8:02 PM
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.