Awesome
Kempe
Kempe is a stack-based language and toy compiler for x86_64 and aarch64. It requires the nasm assembler when targeting x86_64.
Inspiration is primarily from Mirth.
See manual here. There is also a tour of the compiler available here.
Installation
Installation is via cabal-install:
cabal install kempe
For shell completions put the following in your ~/.bashrc
or
~/.bash_profile
:
eval "$(kc --bash-completion-script kc)"
Defects
-
Errors don't have position information
-
Monomorphization fails on recursive polymorphic functions
Hopefully this isn't too sinful; I can't think of any examples of recursive polymorphic functions
-
Can't export or call C functions with more than 6 arguments; can't call or export large arguments (i.e. structs) passed by value.
This is less of an impediment than it sounds like.
-
Cyclic imports are not detected
-
Imports are kind of defective
Comparison
You may wish to use Mirth or Factor instead. Mirth is statically typed (similar to Kempe) but less mature.