The Kipple Programming Language


Kipple is a minimalistic programming language where all data manipulation is done with stacks of integers. Kipple's only features are the stacks, four operators and one control structure, but it is nonetheless Turing-complete. My primary source of inspiration for creating Kipple was the programming language Brainfuck which introduced me to the wonderful world of Esoteric programming languages. For details about the language see the specification, or check out the examples below.

The word kipple is taken from the excellent book Do Androids Dream Of Electric Sheep by Philip K. Dick.

Questions, comments, bug reports etc. can be sent to me at rune@krokodille.com. If you write anything cool in Kipple, please let me know! I'll be happy to put it here on this page.

Updates

12.05.2008
The site is online again.

30.05.2005
Added two programs by Jannis Harder to the samples section. One who squares a number read from input, and one who computes the digital root.
Wow! Daily updates. Where will this end...

29.05.2005
I've uploaded an early version of the Kipple 05 specification. Subject to change without notice.
Also, Jannis Harder has written a C interpreter which beats the crap out of mine when it comes to performance. Get the latest version here.

28.05.2005
Added a prime number generator made by Jannis Harder to the samples section.

25.05.2005
The web site is up again. I've added a linux binary version of the interpreter (compiled with gcj) for download, for people who don't wish to install Java. Get it here (requires glibc 2.3.2).

19.05.2005
Gregor Richards has written the world's second Kipple interpreter. And he did it in ORK! The interpreter can be found here.

10.05.2005
My web server crashed last week. It's up and running again now, but since I don't know what caused the crash, I don't know for how long...
In other news, Keymaker has made a great quine in Kipple. It can be found in the samples section. I've also added a nice bubblesort program made by DeathPing a while back.

18.11.2003
Fixed a bug in the interpreter which caused the applet version to not clear the stacks between executions. Also added a clarification to the Specification about what happens with statements of type a+a (Thanks to Daniel Cristofani for pointing this out).

01.10.2003
The Kipple web site is up.

Resources

The Kipple Language Specification
Online interpreter (Java applet)
Download the Interpreter v.1.01 (includes sample programs and complete source code licensed under the GPL)
Linux binary version of the Interpreter (4MB) - Compiled with glibc 2.3.2.
A few Kipple programs
Kipple syntax definition file for TextPad
Syntax coloring mode for SubEthaEdit by Jannis Harder

Code examples

Hello World:
33>o 100>o 108>o 114>o 111>o 87>o 32>o 111>o 108>o 108>o 101>o 72>o
A program that simply outputs it's input (i.e. the linux command cat):
(i>o)
A program that outputs the first 25 Fibonacci numbers:
24>n 0>t 1>a
(n-1
  a+0
  t<a>b+a
  c<b>a<c
  n?
)
(t>@
  (@>o)
  32>o
)


Back to Rune's Esoteric Corner

The Esoteric Programming Languages Ring
<< Prev Ring Hub Next >>

Copyright (C) 2003 Rune Berge
The Kipple language is licensed under the GNU General Public License.

Last modified: