Index of /~atehwa/essie4

[ICO]NameLast modifiedSizeDescription

[PARENTDIR]Parent Directory  -  
[   ]syntax.ml2014-07-22 14:52 2.6K 
[   ]stree.ml2014-07-22 14:52 609  
[   ]options.ml2014-07-22 14:52 183  
[   ]main.ml2014-07-22 14:52 497  
[DIR]examples/2014-07-22 14:52 -  
[   ]eval.ml2014-07-22 14:52 3.6K 
[TXT]README.html2014-07-22 14:52 2.9K 
[   ]README2014-07-22 14:52 2.6K 
[   ]Makefile2014-07-22 14:52 451  
[TXT]Lisp2k.txt2014-07-22 14:52 14K 
[TXT]Lisp2k.html2014-07-22 14:52 17K 
[   ]LICENSE2014-07-22 14:52 619  

Lisp2k

Lisp2k

Lisp2k is an participation in the essies2004 competition / event. It tries to combine all the power of Lisp with a modern, 21st century environment, while remaining true to its real goals (this is supposed to be esoteric programming). In particular, it features:

On the other hand, Lisp2k is:

based on a Forth-like evaluator
functions, not their callers, decide how much parameters they get. Notation is Lispishly prefix, though. Lisp2k does not re-evaluate expressions after evaluation, you have to request that yourself. This sometimes makes composing functions tricky.
intended to be a minimal system
the primitive operations of Lisp2k are few, even more so than for ordinary Lisps. For example, there is no (car). (Lisp2k tries to gain new ground in the Turing Tarpit art, extending the functional world away for idemponent environments like the lambda calculus.)
properly tail recursive
Lisp2k does not have primitives for looping, so this is a must.
not natively equipped with a REP loop
you could write one, though. A reader and printer are already available. Lisp2k lacks all other kinds of runtime services, too. Implementing a proper support library might be a future project.
intended to be hard to use, yet provide powerful abstractions
in the field of esoteric programming languages, most really-hard-to-use ones have been imperative, and promising rivals on the functional side have had automatic code generators available. Lisp2k is meant to be sufficiently far from well-known research areas so as to prevent trivial mappings from a well-known formalism to Lisp2k.
natively pattern-matching
Pattern matching helps to reduce the number of primitives in the language. Besides, it's a Good Thing™.

I hope you're enthusiastic to get your hands dirty with Lisp2k. More detailed information is available in Lisp2k language reference.