Shirka is a programming language that does not generate memory garbage: its runtime does not need a garbage collector to function properly, but the human is not required to manage memory manually either.
It is concatenative (like Forth) and homoiconic (like Lisp). Below is a short Shirka program implementing the Trabb Pardo–Knuth algorithm.
-- Operation computing |n|^0.5 + 5*n^3 (=> f) [ -> n n abs 0.5 ^ n 3 ^ 5 * + ] -- Ask the human to enter 11 numbers "Please enter 11 numbers:" puts [] (11 times) [ get-value cons ] -- Apply `f' and display the result (each) [ f >> 400 > (if) [ [ << "Overflow!" puts ] [ puts ] ] ]
The Shirka interpreter is written in ANSI C and should work on most Unix‑like systems (it is developed on OS X).
git clone git://github.com/hashmal/shirka.git cd shirka make
It reads and executes Shirka files (usually saved with the
.shk
extension):
./shirka FILE
You can now try the interactive mode
(./shirka examples/repl.shk
) and
learn the language.
Have fun!