Oxyl is a functional programming language focused on being explicit and safe but not clunky or verbose. The language design is currently in the alpha stage (generally planned out, but the interface may change), so any ideas or discussion about the language will be appreciated.
The compiler is currently written in OCaml (though there are plans to become self hosting in the future), but at this point in time, it isn't complete yet.
Just as C is based on the nonexistant machine of the modern SISD PDP11, Oxyl is based on a nonexistant machine, which I’ll call the theoretically infinite threads. Technically, each context is one such machine (except for serial, which is more like a modern single SIMD core, but that is just a special case in which only one thread is used), but this can be thought as an abstraction of a TITh machine that has AMP (which is itself an abstraction of multiple finite SMP processing units making up an AMP setup).
rec u64 factorial u64 input u64 one = 1.u64 u64 next = input - one u64 fact = factorial next input * fact