SchemeLanguage without the fluff. Unlambda enables (read: forces) the developer to write programs using the
EssAndKayCombinators. As a sop to the lazy, the 'I' combinator is provided as syntactic sugar.
The 'd' and 'c' special forms provide easy access to promises and continuations.
The main
UnLambdaLanguage homepage can be found at
http://www.madore.org/~david/programs/unlambda/.
http://www.ofb.net/~jlm/unlambda/unlambda.html also has a distribution available.
http://www.eleves.ens.fr:8080/home/madore/programs/unlambda/ gives the follwing example of an Unlambda program:
```s``s``sii``s`kk`ki`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks`
`s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`k
s``s`kk`kk``s`kk`kr``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk
`ks``s``s`ks``s`kk`kk`ki``s``s`ks``s`kk`kk``s`kk`k.*``s``s`ks``s`kk`kk
``s`kki``s``s`ks``s`kk`kk``s`kki``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``
s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`k``s``s`ks``s``s`ks`
`s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`k
s``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk
`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s``s`ks``s`
kk`kk``s`kki``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s`
kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``
s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks
``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`
kk``s`kk`kk``s``s`ks``s`kk`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``
s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks``s`kk`kk
`ki``s`kk`ki
This program finds each sucessive term in the
FibonacciSequence and prints that many asterisks. Allegedly.
The core constructs are
s,
k,
i, which correspond to the
SKI combinators; backquote which is a grouping operator; and
.x, which prints the character
x.
I suspect this program was not written by hand. -- StephanHouben
The program is derived by writing the equivalent lambda abstractions, and applying some simple rewriting rules to obtain the corresponding sequence of combinators. The rules to convert a lambda expression to an Unlambda program are simple enough and could probably be coded up over a lunch break. Of course, now that I've said this I'm gonna have to do it. While Unlambda is
TuringComplete, writing code in it is akin to building the a bridge atom by atom.
. -
DavidBrantley
Who needs the I-combinator? A Turing machine was written using only SK combinators.
http://slashdot.org/articles/02/03/18/2133207.shtml?tid=156
Here's a couple of Scheme procedures for converting lambda calculus to SKI combinators. It outputs the SKI expressions as a list, not in the
UnLambda syntax. Nevertheless, it shows how simple this conversion is.
; Check if a variable is free in the lambda calculus expression
(define (free-in-lambda? expr var)
(cond
((symbol? expr)
(eq? expr var))
((eq? (car expr) 'lambda)
(if (eq? (cadr expr) var)
#f
(free-in-lambda? (caddr expr) var)))
(else
(or (free-in-lambda? (car expr) var)
(free-in-lambda? (cadr expr) var)))))
; Produce with SKI-combinators an expression that is equivalent
; to (lambda var expr)
(define (apply-lambda expr var)
(cond
((symbol? expr)
(if (eq? expr var)
'i
`(k ,expr)))
((free-in-lambda? expr var)
`((s ,(apply-lambda (car expr) var))
,(apply-lambda (cadr expr) var)))
(else
`(k ,expr))))
; Convert a lambda calculus expression to a SKI expression
(define (lambda->ski expr)
(cond
((symbol? expr)
expr)
((eq? (car expr) 'lambda)
(apply-lambda (lambda->ski (caddr expr)) (cadr expr)))
(else
(map lambda->ski expr))))
; A few examples
(write (lambda->ski '(lambda x x)))
(newline)
; ==> i
(write (lambda->ski '(lambda x (lambda y y))))
(newline)
; ==> (k i)
(write (lambda->ski '(lambda y (lambda x (x y)))))
(newline)
; ==> ((s (k (s i))) ((s (k k)) i))
"This is the assembly language of functional programming" --
LeoScott
That would be
CombinatoryCalculus, not Unlambda...
Wasn't
InterCal enough?
No. A web search will uncover a great quantity of 'joke' languages, some carried quite far. It's not clear whether this should be amusing or annoying... See
EsotericProgrammingLanguage.
The following, I'm lead to believe, is an
UnLambda interpreter written in
UnLambda:
```
``s``s`ks``s`k`s`ks
``s``s`ks``s`k`s`ks
``s`k`s`kk ``s`k`si ``s`kki `k`ki `k``s`kki
` ``sii
`d```s `k
``s``s`ks``s``s`ks``s`kk``s`k ``s`kc``s`k`s`k`k`ki``ss`k`kk
i`k ``s`d`k `
``s``s`ks``s``s`ks``s``s`ks``s`kk`k ``s`kc``s`k`s`k`k`ki``ss`k`kk
``s`kki``s``s`ks``s``s`ks
``s`kk`k
``s`k`s`k ``s`kk``s`k`sik
``s``s`ks``s`kk``s`k ``s``s`ks``s`kk``s`ks``s`k`sik`kk i `ki
``s``s`ks``s``s`ks``s`kki`ki`ki``s``s`ks``s``s`ks
``s`kki`ki`ki``s``s`ks``s`kk
``s`kc ``s`k`s`k
`d`k
` ``s``s`ks ``s``s`ks ``s`kk``s`k ``s`kc``s`k`s`k`k`ki``ss`k`kk
i ``s``s`ks ``s``s`ks kii
``s`kc ``s`k`s`k `d`k
` ``s``s`ks ``s``s`ks ``s`kk``s`k ``s`kc``s`k`s`k`k`ki``ss`k`kk
i ``s``s`ks ``s``s`ks kii
``s`kc ``s`k`s`k `d`k
`d`
``s``s``s`k ``s`kc``s`k`s`k`k`ki``ss`k`kk i
`k`k ` ``s`k`s`kk``s`k`sik
` ``s`kk``s`k`sik
` ``s`kk``s`k`sik
` ``s`kk``s`k`sik ` ``s`k`s`kk``s`k`sik v
`k`d` ``s``s``s`k ``s`kc``s`k`s`k`k`ki``ss`k`kk i
`k`k ` ``s`k`s`kk``s`k`sik
` ``s`kk``s`k`sik ` ``s`kk``s`k`sik
` ``s`k`s`kk``s`k`sik ` ``s`k`s`kk``s`k`sik v
`k`d` ``s``s``s`k ``s`kc``s`k`s`k`k`ki``ss`k`kk i
`k`k ` ``s`k`s`kk``s`k`sik
` ``s`kk``s`k`sik ` ``s`k`s`kk``s`k`sik
` ``s`k`s`kk``s`k`sik ` ``s`k`s`kk``s`k`sik v
`k`d` ``s``s``s`k ``s`kc``s`k`s`k`k`ki``ss`k`kk i
`k`k ` ``s`k`s`kk``s`k`sik
` ``s`k`s`kk``s`k`sik ` ``s`kk``s`k`sik
` ``s`kk``s`k`sik ` ``s`k`s`kk``s`k`sik v
`k`d` ``s``s``s`k ``s`kc``s`k`s`k`k`ki``ss`k`kk i
`k`k ` ``s`k`s`kk``s`k`sik
` ``s`kk``s`k`sik ` ``s`k`s`kk``s`k`sik
` ``s`k`s`kk``s`k`sik ` ``s`kk``s`k`sik v
`k`d` ``s``s``s`k ``s`kc``s`k`s`k`k`ki``ss`k`kk i
`k`k ` ``s`k`s`kk``s`k`sik
` ``s`k`s`kk``s`k`sik ` ``s`kk``s`k`sik
` ``s`kk``s`k`sik ` ``s`kk``s`k`sik v
`k`d` ``s``s``s`k ``s`kc``s`k`s`k`k`ki``ss`k`kk i
`k`k ` ``s`k`s`kk``s`k`sik
` ``s`k`s`kk``s`k`sik ` ``s`kk``s`k`sik
` ``s`k`s`kk``s`k`sik ` ``s`k`s`kk``s`k`sik v
`k`d` ``s``s``s`k ``s`kc``s`k`s`k`k`ki``ss`k`kk i
`k`k ` ``s`k`s`kk``s`k`sik
` ``s`k`s`kk``s`k`sik ` ``s`k`s`kk``s`k`sik
` ``s`kk``s`k`sik ` ``s`k`s`kk``s`k`sik v
`k`d` ``s``s``s`k ``s`kc``s`k`s`k`k`ki``ss`k`kk i
`k`k ` ``s`k`s`kk``s`k`sik
` ``s`k`s`kk``s`k`sik ` ``s`k`s`kk``s`k`sik
` ``s`k`s`kk``s`k`sik ` ``s`kk``s`k`sik v
`k`d` ``s``s``s`k ``s`kc``s`k`s`k`k`ki``ss`k`kk i
`k`k ` ``s`k`s`kk``s`k`sik
` ``s`k`s`kk``s`k`sik ` ``s`k`s`kk``s`k`sik
` ``s`kk``s`k`sik ` ``s`kk``s`k`sik r
`k`d` ``s``s``s`k ``s`kc``s`k`s`k`k`ki``ss`k`kk i
`k`d`k ` ``s`k`s`kk``s`k`sik
` ``s`k`s`kk``s`k`sik ` ``s`k`s`kk``s`k`sik
` ``s`kk``s`k`sik ` ``s`kk``s`k`sik `@|
`k `d`k ` ``s`k`s`kk``s`k`sik ````.:.(rev
`d`?. i
`d`?r i
`d`?| i
`d`?@ i
`d`?e i
`d`?c i
`d`?d i
`d`?v i
`d`?i i
`d`?s i
`d`?k i
``s``s`ks ``s``s`ks ``s`kki `ki `k`ki
`d`?
i
``s``s`ks ``s``s`ks ``s`kki `ki `k`ki
`d`? i
``s``s`ks ``s``s`ks ``s`kki `ki `k`ki
`ki
` ?` i i
``s`kc ``s `k`s`k`d ````.:.(rev
``s``s`ks``s``s`ks``s`kki`ki`k`ki
`@i i
``s``si `k
``s`kkk
`k
``s``s`ks``s``s`ks`k`ks
``s``s`ks``s``s`ks`k`ks
``s``s`ks``s``s`ks`k`ks
``s``s`ks``s``s`ks`k`ks
`k`k`k
``s
``s``si `k
``s``si `k
``s``si `k
``s``si `k `k
``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`
kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``
s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s
`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks`
`s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`k
s``s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s
`ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk``s`kki``s``s`ks``s``s`ks``s`kk
`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s`
`s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``
s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk
``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`
ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk`ki``s``s`ks``s``s`ks``s`kk`ks``
s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks
``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s`kk`
kk``s`kk`ki
`k `k
``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`
kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``
s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s
`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks`
`s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`k
s``s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s
`ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk``s`kki``s``s`ks``s``s`ks``s`kk
`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s`
`s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``
s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk
``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`
ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk`ki``s``s`ks``s``s`ks``s`kk`ks``
s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks
``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s`kk`
kk``s`kk`ki
`k
``s``si `k `k
``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`
kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``
s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s
`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks`
`s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`k
s``s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s
`ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk``s`kki``s``s`ks``s``s`ks``s`kk
`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s`
`s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``
s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk
``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`
ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk`ki``s``s`ks``s``s`ks``s`kk`ks``
s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks
``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s`kk`
kk``s`kk`ki
`k `k
``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`
kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``
s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s
`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks`
`s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`k
s``s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s
`ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk``s`kki``s``s`ks``s``s`ks``s`kk
`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s`
`s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``
s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk
``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`
ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk`ki``s``s`ks``s``s`ks``s`kk`ks``
s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks
``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s`kk`
kk``s`kk`ki
`k
``s``si `k
``s``si `k `k
``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`
kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``
s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s
`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks`
`s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`k
s``s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s
`ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk``s`kki``s``s`ks``s``s`ks``s`kk
`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s`
`s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``
s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk
``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`
ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk`ki``s``s`ks``s``s`ks``s`kk`ks``
s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks
``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s`kk`
kk``s`kk`ki
`k `k
``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`
kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``
s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s
`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks`
`s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`k
s``s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s
`ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk``s`kki``s``s`ks``s``s`ks``s`kk
`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s`
`s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``
s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk
``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`
ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk`ki``s``s`ks``s``s`ks``s`kk`ks``
s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks
``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s`kk`
kk``s`kk`ki
`k
``s``si `k `k
``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`
kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``
s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s
`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks`
`s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`k
s``s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s
`ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk``s`kki``s``s`ks``s``s`ks``s`kk
`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s`
`s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``
s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk
``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`
ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk`ki``s``s`ks``s``s`ks``s`kk`ks``
s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks
``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s`kk`
kk``s`kk`ki
`k `k
``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`
kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``
s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s
`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks`
`s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`k
s``s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s
`ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk``s`kki``s``s`ks``s``s`ks``s`kk
`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s`
`s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``
s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk
``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`
ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk`ki``s``s`ks``s``s`ks``s`kk`ks``
s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks
``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s`kk`
kk``s`kk`ki
`k
``s``si `k
``s``si `k
``s``si `k `k
``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`
kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``
s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s
`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks`
`s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`k
s``s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s
`ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk``s`kki``s``s`ks``s``s`ks``s`kk
`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s`
`s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``
s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk
``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`
ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk`ki``s``s`ks``s``s`ks``s`kk`ks``
s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks
``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s`kk`
kk``s`kk`ki
`k `k
`k ``s`kk``s`kk
``s`k ``s`k`s`kk``s`k`sik
``s`k ``s`kk``s`k`sik
``s`k ``s`k`s`kk``s`k`sik
``s`kk``s`k`sik
`k
``s``si `k `k
``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`
kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``
s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s
`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks`
`s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`k
s``s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s
`ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk``s`kki``s``s`ks``s``s`ks``s`kk
`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s`
`s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``
s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk
``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`
ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk`ki``s``s`ks``s``s`ks``s`kk`ks``
s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks
``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s`kk`
kk``s`kk`ki
`k `k
``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`
kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``
s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s
`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks`
`s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`k
s``s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s
`ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk``s`kki``s``s`ks``s``s`ks``s`kk
`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s`
`s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``
s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk
``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`
ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk`ki``s``s`ks``s``s`ks``s`kk`ks``
s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks
``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s`kk`
kk``s`kk`ki
`k
``s``si `k
``s``si `k `k
``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`
kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``
s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s
`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks`
`s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`k
s``s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s
`ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk``s`kki``s``s`ks``s``s`ks``s`kk
`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s`
`s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``
s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk
``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`
ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk`ki``s``s`ks``s``s`ks``s`kk`ks``
s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks
``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s`kk`
kk``s`kk`ki
`k `k
``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`
kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``
s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s
`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks`
`s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`k
s``s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s
`ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk``s`kki``s``s`ks``s``s`ks``s`kk
`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s`
`s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``
s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk
``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`
ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk`ki``s``s`ks``s``s`ks``s`kk`ks``
s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks
``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s`kk`
kk``s`kk`ki
`k
``s``si `k `k
``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`
kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``
s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s
`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks`
`s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`k
s``s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s
`ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk``s`kki``s``s`ks``s``s`ks``s`kk
`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s`
`s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``
s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk
``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`
ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk`ki``s``s`ks``s``s`ks``s`kk`ks``
s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks
``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s`kk`
kk``s`kk`ki
`k `k
``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`
kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``
s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s
`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks`
`s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`k
s``s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s
`ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk``s`kki``s``s`ks``s``s`ks``s`kk
`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s`
`s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``
s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk
``s`kk`ks``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`
ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk`ki``s``s`ks``s``s`ks``s`kk`ks``
s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks
``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s`kk`ki``s``s`ks``s`kk`
kk``s`kk`ki
i
``s``s`ks``s``s`ks`k`ks
``s``s`ks``s``s`ks`k`ks
``s`kk``s`k`si ``s`kk ``s`k ``si`kk i `k ``s`kki `k` k i
``s`kk ``s`kk ``s`k ``si`k`ki i `kk `k `ki
`d
``s``s`ks``s`kk``s`ks
``s``s`ks``s`kk`ks
``s``si `k
``s``si `k
``s``si `k
``s``si `k
``s`kk``s`kk i
`k
`k ``s``s`ks``s`kk``s`ks``s``s`ks``s``s`ks
``s``s`ks``s`kki`ki`k `k`
``s`k ``s`k`s`kk``s`k`sik
``s`k ``s`k`s`kk``s`k`sik
``s`k ``s`kk``s`k`sik ``s`kk``s`k`sik
`|i ``s`kki`k ``s`kki
`k
``s``si `k
`k ``s``s`ks ``s`kk``s`ks ``s``s`ks``s``s`ks i `k`d`k`@
``s``s ``s`kc``s`k`s`k`k`ki``ss`k`kk
`k ```s`kk``s`k`sik ```s`k`s`kk``s`k`sik
```s`k`s`kk``s`k`sik ```s`k`s`kk``s`k`sik v
`k ```s`k`s`kk``s`k`sik ```s`kk``s`k`sik
```s`kk``s`k`sik
```s`k`s`kk``s`k`sik v
k `kk
`k
``s`kk``s`kki
`k
``s``si `k
``s``si `k
`k`k`ke
`k
``s``s`ks ``s`k`s`ks ``s`k`s``s`ks``s`kk`ks
``s``s`ks ``s`k`s`ks ``s`k`s``s`ks``s`kk`ks
``s``s`ks ``s`k`s`ks ``s`k`s``s`ks``s`kk`ks
``s `k`s `k`s`kk ``s`k`s``s`ksk
``s``s`ks``s `k`s`ks ``s``s`ks``s `k`s`ks
``s`kk``s`k`si k `kk `k`ki `k`k`ki
`k``s`kkk `k`kk
`k
``s``si
`k
`k`k`k`k
```s`k`s`kk``s`k`sik ```s`kk``s`k`sik
```s`kk``s`k`sik
```s`k`s`kk``s`k`sik v
`k
`k ``s`k`s`k`s`kc
``s``s`ks ``s`k`s`ks ``s`k `s`k`s`ks ``s`kk
``s``s`ks``s`k`s`ks ``s``s`ks``s`k`s`ks
``s``s`ks``s`kk`kki `k`k
``s`k ``s`k`s`kk``s`k`sik
``s`k ``s`k`s`kk``s`k`sik
``s`k ``s`k`s`kk``s`k`sik ``s`k`s`kk``s`k`sik
``s`kk k `k``s`kkk
`k
``s``si `k
``s``si `k
`k`k`k i
`k
``s``si `k
``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`
kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``
s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s
`kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks`
`s`kk`kk``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk`ki``s``s`ks``s``s`ks``s`k
k`ks``s``s`ks``s`kk`kk``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s
``s`ks`ki``s``s`ks``s`kk`k ``si`kk
``s`kki``s``s`ks``s`kk`kk`ki``s`kk`kk``s``
s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s``s`ks``s`kk`ks``s``s`ks``s
``s`ks``s`kk`ks``s``s`ks`ki``s``s`ks``s`kk`k ``si`k`ki
``s`kki``s``s`ks``s`kk`k
k`ki``s`kk`kk``s``s`ks``s`kk`kk``s``s`ks``s`kk`kk`ki``s`kk`kk
`k
``s`kk``s`kk
``s`k`s`k ``s`kk``s`k`sik
``s`k`s`k ``s`k`s`kk``s`k`sik
``s`k`s`k ``s`kk``s`k`sik
``s`k`s`k ``s`k`s`kk``s`k`sik
``s``s`ks``s`kk``s`ks``s`k`sik`kk
`k
``s``si `k
``s``si `k
`k`k`k ``s`k ``s`kk``s`k`sik
``s`k ``s`k`s`kk``s`k`sik
``s`k ``s`kk``s`k`sik ``s`kk``s`k`sik
`k
``s`kk ``s`kk ``s`kk i
`k
`k`k`k ``s`k ``s`kk``s`k`sik
``s`k ``s`kk``s`k`sik
``s`k ``s`k`s`kk``s`k`sik
``s`k ``s`kk``s`k`sik i
`k``s`kkk
Is the whitespace intended to enhance readability? :)
An
UnLambda program containing only the
` s k and
i operators could be encoded on a strand of DNA, say A for
s, G for
k, S for
i and T for
`. What useful
UnLambda programs are lurking around in
your genes?
None. Assuming aproximately equal distribution of each gene, there wouldn't be enough backtics to make a syntacticly valid program. With genes maping to (, s, k, and ), however...
See
BloopFloopAndGloop for some more language theory.
CategoryProgrammingLanguage FunctionalProgrammingLanguage EsotericProgrammingLanguage