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.
- 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.
- 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.
"meow" say // Kittens don't speak English.
define greet (List<Char> -> +IO): -> name; ["Hello, ", name, "!"] concat say "What is your name? " ask greet