Kitten is a statically typed, stack-based functional programming language designed for simplicity, speed, and safety. This is an in-progress implementation of that language, including:
-
An interactive console for testing code
-
An interpreter
-
A native-code compiler producing static executables (incomplete)
I need help to make Kitten a reality! If you’re interested in helping in any way, you’re more than welcome, even if you’re not experienced with Haskell or compiler development. You can look at the project for the initial release to see what I’m working on, and check out the contribution guidelines for suggestions on how you can help.
-
Browse some examples to get a feel for the language
-
Join the chat room to ask questions
-
Skim a quick intro on the official site
-
Read the most recent updates to the ebook
-
Read my article introducing some interesting things about concatenative programming, Why Concatenative Programming Matters
-
Watch my lecture describing the theory, history, and implementation techniques of the paradigm, Concatenative Programming: From Ivory to Metal
To build the latest compiler, you need Stack:
git clone https://github.com/evincarofautumn/kitten.git
cd kitten
stack setup # only necessary on first build
stack build
stack exec kitten
stack exec kitten -- <flags>
# OR
stack install
~/.local/bin/kitten
~/.local/bin/kitten <flags>
Kitten is distributed under the terms of the MIT license. Contributors should agree to abide by the code of conduct.