Exanoke is a functional language which is syntactically restricted to expressing the primitive recursive functions.
Sample Program
def inc(#)
cons(:one, #)
def add(#, other)
if eq?(#, :nil) then other else self(<tail #, inc(other))
def mul(#, other)
if eq?(#, :nil) then :nil else
add(other, self(<tail #, other))
def fact(#)
if eq?(#, :nil) then cons(:one, :nil) else
mul(#, self(<tail #))
def four(#)
cons(:one, cons(:one, cons(:one, cons(:one, #))))
fact(four(:nil))
Computational Class
Programming Paradigms
Documentation
Implementations
-
exanoke.py, an interpreter in Python
To run this implementation, you need:
- an implementation of Python (we suggest cPython 2.6.7)
Test Requirements
- an implementation of Falderal (we suggest py-falderal)
Download
Development
Github: catseye/Exanoke
Bitbucket: catseye/exanoke
Issue tracker: on github