Un Lambda Language

Scheme Language without the fluff. Unlambda enables (read: forces) the developer to write programs using the Ess And Kay Combinators. 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 Un Lambda Language homepage can be found at www.madore.org . www.ofb.net also has a distribution available.

www.eleves.ens.fr:8080 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 Fibonacci Sequence 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. -- Stephan Houben

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 Turing Complete, writing code in it is akin to building the a bridge atom by atom.

Who needs the I-combinator? A Turing machine was written using only SK combinators. slashdot.org

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 Un Lambda 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" -- Leo Scott

That would be Combinatory Calculus, not Unlambda...


Wasn't Inter Cal 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 Esoteric Programming Language.


The following, I'm lead to believe, is an Un Lambda interpreter written in Un Lambda:

``` ``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 Un Lambda 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 Un Lambda 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 Bloop Floop And Gloop for some more language theory.


See original on c2.com