The Camouflage Programming Language

The official draft for this programming language was written by Benedict Roeser. You can obtain further information on his homepage: http://benedict.roeserundroeser.de/camouflage/

Since the above website is currently not available, I also attached copies of the previous language specifications. camouflage-spec-0.1.1.txt camouflage-spec-0.2.1.txt

A far from finished Ruby Interpreter for Camouflage

No comments, no guarantees (apart from guaranteed incompleteness), no warranties. Have fun! icam.rb
If you want to use/modify/whatever the above interpreter, you are free to do so under the MIT license.

Some simple Camouflage programs working with the above interpreter

The obligatory "hello world" program (by Benedict Roeser). hello_world.cam

A program that does nothing at all (by Benedict Roeser). doing_nothing_at_all.cam

The well known "99 bottles of beer" song. This program takes a number n from stdin and prints more or less the "n bottels of beer" song. It was written by the creator of the Camouflage language without having a working interpreter. So it has a few glitches you can try to find. 99bottles.cam

A very bloated Camouflage quine (bzip2 compressed for some reason). quine.cam.bz2
If you are interested in the tools I used to create this quine, have a look at the following files: prolog.dat epilog.dat tool.rb

By the way, it can be shown that each Turing complete programming language admits the creation of a quine, that means a program that prints its own source code -- without doing any io on the source code file, of course. Unfortunately the proofs seem to be non constuctive. Nonetheless, it was quite easy to generate a quine for Camouflage.


Last change: 2010-02-09