Programming with Kitten
A guide to practical programming with the concatenative programming language Kitten.
Introduction
This book is intended to serve as a guide to help you learn the Kitten programming language. It will give you the tools and resources you need to get started, but it can’t do everything for you: in order to become productive with the language, you should solve the exercises in each chapter, and try to develop projects on your own, to solidify your understanding. The best way to learn is by doing!
It assumes that you have some familiarity with the basics of programming, such as using a text editor and terminal, and concepts such as variables, looping, recursion, types, and data structures. It does not assume any familiarity with concatenative programming, but a background in imperative programming with some knowledge of functional programming ideas will be very helpful. When it makes a comparison to some other programming language, this is only to provide some additional illustration—if it helps you, great, if not, don’t worry about it.
If you need help, feel free to visit /r/concatenative on Reddit or #concatenative on Freenode IRC for questions about concatenative programming; /r/kittenlang on Reddit or the kittenlang Gitter channel for questions about Kitten.
Conventions in This Book
Kitten code and terminal commands are presented in a fixed-width
typeface. Commands for the Kitten interpreter are prefixed with >>>
, and their output is presented afterward:
>>> 1 + 2
3
Likewise, commands for a terminal are prefixed with $
:
$ kitten meow.ktn
meow