This is Lazy K, which I am submitting to the Essies for consideration in the category of "most entertaining new Turing-complete language." Lazy K is, roughly speaking, a referentially-transparent Unlambda. For all the gory details (excuse me, all the clean and elegant details) please refer to lazy-k.html, which is a draft of a web page introducing the language. (It doesn't exist on the web yet.) Many of the source code files also contain semi-edifying comments. One of the sample programs is a rather pretty implementation of mergesort, which I would like to submit for consideration under the "iron programmer" category, though whether it constitutes enough material to qualify is questionable. I would also like to submit my Unlambda, Brainfuck and Befunge interpreters for consideration under the category of "best language implementation in an esoteric language," but unfortunately I can't because that category doesn't exist this time around. Oh well. Portability and build details: This archive contains files written in four languages: C, C++, Scheme, and Lazy K. The C, C++, and Scheme programs are standards-compliant to the best of my knowledge and should be quite portable. There are a couple of portability issues affecting Lazy K programs. One is that gcc likes to buffer output lines even when they're going to a console, which causes the prime-number printer to appear to hang for a while under a gcc-compiled interpreter. The other issue is the old newline versus CR-LF problem. The Lazy K interpreter has a -b flag which is intended for working around newline problems. In general, use it if omitting it causes problems and omit it if using it causes problems. No makefiles are provided for the C or C++ files; however, as there is only one of each, and they compile to separate executables, building them by hand with any compiler is straightforward. A pre-built Win32 executable of the Lazy K interpreter is included in the archive. It requires MSVCRT.DLL. To run the sample programs (*.lazy) just specify them on the command line, like this: lazy eg/primes.lazy The distribution has undergone umpteen revisions in the last few days and it's entirely possible I screwed something up (e.g. missing files, HTML formatting problems). If you have any problems please inform me and I will address them posthaste.