You are looking at historical revision 30563 of this page. It may differ significantly from its current revision.

Juergen Lorenz

ju (at) jugilo (dot) de

I am a mathematician and a member of the "small is beautiful" crowd. And R5RS-Scheme is the definite example, that a small language is possible which allows one to do almost everything with it. And that in a clear syntax -- or should I better say -- with almost no syntax at all? And it is a programmable programming language! You can always add new syntax to it.

In my mind, Chicken is the best Scheme implementation. Its compiler compiles to C in the most ingenious way, it has the simplest interface to C, and it has a beautiful infrastructure, the eggs system, a helpful community and, and, and ...



An implementation of "Design by Contract", coined by Bertrand Meyer for his Eiffel language.


exports two modules, methods and multi-methods. The former implements another variant of design-by-contract for procedures, the latter a variant of generic functions: The client has complete control over the multi-methods state, a search tree, and can decide where to insert methods, so that more specific methods are found before less specific ones.


Low level macros made easy. A merger of the two eggs er-macros and ir-macros, which are now obsolete. Deprecated, use bindings instead.


Anaphoric macros.


Some simple loop macros.


A light-weight alternative to the matchable egg, with many enhancements. Can destructure arbitrary mixtures of lists, pseudolists, vectors and strings.


Restricting some macros of the bindings egg to nested list expressions and supplying define-macro as an application. Deprecated, use bindings instead.


Something like immutable random-access vectors, with empty, couples and triples as special cases, and mutable singles as a possible replacement of boxes.


Simple implementation of the cell datatype, a lightweight variant of box.


lazy list implementation based on lazy-seq.


A functional interface to Oleg Kiselyov's and Ivan Raikov's treap eagg


An alternative to balanced search-trees.


combine the advantages of linked lists (fast insert and remove) and vectors (fast access)


Some simple macros and commands which help debugging and testing


Syntactic sugar for Marc Feeley's continuation interface providing i.a. catch and throw


My first implementation of "Design by Contract". Now obsolete, use dbc instead.


Explicit renaming macros made easy. Deprecated, use low-level-macros instead!


Implicit renaming macros made even easier. Deprecated, use low-level-macros instead!


Design by Contract

Explicit (and implicit) renaming macros made easy

The Iup GUI toolkit