Came across this in the announcement of the new LLVM release. It looks interesting, I haven't had time to check it out.
Kai (Japanese 会 for meeting/gathering) is an experimental interpreter that provides a highly extensible runtime environment and explicit control over the compilation process. Programs are defined using nested symbolic expressions, which are all parsed into first-class values with minimal intrinsic semantics. Kai can generate optimised code at run-time (using Low Level Virtual Machine) in order to exploit the nature of the underlying hardware and to integrate with external software libraries. It is a unique exploration into world of dynamic code compilation, and the interaction between high level and low level semantics. It is born out of my desire to learn more about programming languages.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

There are several

There are several goals:

* Simple semantics using fexprs.

Seems apropos... though I still don't want fexprs near any language that I maintain :)

Very off topic, but my eyes

Very off topic, but my eyes are rolling a bit at the name.

Japanese and Chinese treat characters differently, the Chinese 会 is mostly used as a common verb modifier meaning "able to" or "can," it means meeting only when paired with 'kai' (开会). It's nothing interesting, this would be like naming your tool "can" or some other very common English word. Better to choose an obscure or more complex character for a project; say 'jiong' 囧, which looks like an emoticon. Or just avoid ideographic names all together, since interpretation is language specific.