# ackermann in false

## stevan apter — 2004-05-20 22:25:39

    see http://www.nsl.com/papers/false.htm

    i've made a few upward-compatible changes to the 'false' language

    definition.  the most significant is the addition of the dip

    combinator (since i can hardly imagine programming without it.)

    here's ackermann's function:

    [0=]z:

    [1+]s:

    [1_+]p:

    [\$Z!@\]b:

    [\S!@%\]c:

    [$Z!]d:

    [%%P!1A!1]e:

    [[$P!\](P!A!A!]f:

    [B!$C?~[D!$E?~F?]?]a:

    e.g. [1+]s: sets 's' to the successor function.

    'a' is ackermann, and reads (more or less):

        if B dup C else if D dup then E else F

    where B, C, D, E, and F are defined above.