Just a quick note to tell you about a new functional programming
language, specially designed for obfuscation. It's called Unlambda,
and it's essentially a typeless lambda-calculus, without the lambda
operation (the K and S combinators are used instead), and with a
call/cc and a special form to allow for a form of lazy evaluation. The
interpreter is written in Scheme.
Unlambda can be found on metalab in devel/lang; there also is a web
page at
http://www.eleves.ens.fr:8080/home/madore/programs/unlambda/
Happy hacking.
--
David A. Madore
(david....@ens.fr,
http://www.eleves.ens.fr:8080/home/madore/)
My winning obfuscated C program is implemented in a language called
"OFL" (Obfuscated Functional Language, pronounced "awful"), which is
basically SKI augmented with a few combinators for character equality
and IO. This is translated into C using preprocessor macros and then
compiled. The evaluation at run-time is fully lazy. The program I
implemented in OFL is a lambda to SK translator.
Tony.
--
f.a.n.finch d...@dotat.at fa...@demon.net
Winner, International Obfuscated C Code Competition 1998
> My winning obfuscated C program is implemented in a language called
> "OFL" (Obfuscated Functional Language, pronounced "awful"), which is
> basically SKI augmented with a few combinators for character equality
> and IO. This is translated into C using preprocessor macros and then
> compiled. The evaluation at run-time is fully lazy. The program I
> implemented in OFL is a lambda to SK translator.
Cool! I won (i.e., got a prize) in -85 and -86 by translating
a lazy functional program into C and submitting it. I guess
functional programming corresponds to obfuscated C. :-) :-)
--
-- Lennart Augustsson
[This non-signature is unintentionally not left unblank.]
BTW, my code is now available from
<http://www.ioccc.org/years.html#1998_fanf>.