The Kitten Programming Language
Kitten is a statically typed, stack-based functional programming language designed to be simple and fast. It is a concatenative language, combining aspects of imperative and pure functional programming. There is an introduction available and a tutorial in progress.
Features
- Concatenative Programming
- A compositional style of programming to make refactoring easier and improve code reuse.
- Static Types
- Type inference based on Hindley–Milner to help improve correctness and performance.
- Permissions
- A system of effect types to control where side-effects are allowed.
- Deterministic Resource Management
- Automatic management of memory and resources with no garbage collector.
Examples
Hello world
"meow" say // Kittens don't speak English.
Hello user
define greet (List<Char> -> +IO):
-> name;
["Hello, ", name, "!"] concat say
"What is your name? " ask
greet
Larger examples
The source code is hosted on GitHub, and you can join #concatenative on Freenode to keep up with the latest developments.