The way Singeli design differs is that it embraces compile-time programming being a different kind of language than runtime, where other frameworks treat the differences as dirty secrets.
Interesting! Mojo runs the same language at compile-time and run-time, except that:
The compile-time language can manipulate types as values.
You can do things like comptime if (compile time conditionals) and comptime for (compile time loop unrolling).
It’s actually a pretty slick system: Quite a bit of power, and vastly simpler than C++ template tricks.
but I’m always amazed at how many hurdles these languages put in front of what in Singeli is just normal array programming.
To be fair, Mojo is less interested in arrays (though it does support them) and more interested in tiled tensors. This is the kind of memory-layout optimization you normally expect to see in Fortran and on GPUs, but not in too many other places.
Interesting! Mojo runs the same language at compile-time and run-time, except that:
comptime if(compile time conditionals) andcomptime for(compile time loop unrolling).It’s actually a pretty slick system: Quite a bit of power, and vastly simpler than C++ template tricks.
To be fair, Mojo is less interested in arrays (though it does support them) and more interested in tiled tensors. This is the kind of memory-layout optimization you normally expect to see in Fortran and on GPUs, but not in too many other places.
score 1 · canonical
Janet unfortunately has compwhen, compif and even a comptime at home, besides macros and… Things out of main being comptime, ish.
score 1 · canonical