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`kkkIs 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