8000 GitHub - vmchale/kempe: Kempe is a compiled stack-based language
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
/ kempe Public

Kempe is a compiled stack-based language

License

Notifications You must be signed in to change notification settings

vmchale/kempe

Repository files navigation

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.

0