archives

Parser combinators in Factor

Chris Double has written a wonderfully concise example of parser combinators in Factor. Slava Pestov's Factor continues to be one of the most interesting language projects in development, in that it's both elegant and already has a solid set of tools.

Breaking the Abstraction Ceiling

Programing Languiges like: ruby, (lisp/scheme), smalltalk, dylan, ect.; do not limit your expressivenes by removing features like Dynamic Typeing, Lambda, Higher Order Functions. whereas languiges digsinged for DOLTS like: Java; artifisaly limit your expressivenes by Weak Static Typeing System, Lack of lambda, lack of ability to pass in functions. As programing languiges inch towrds lisp, the Abstraction ceeling of an avreage languige gets higher and higher.

Benchmarking and Statistics

I recently posted an excerpt from a Ruby book I'm working on (it's a sidebar from a section on the Benchmark library), but I'm not sure if it's solid enough for publication (my math background isn't up to snuff). I'd love to see/hear what LtUers think about it.

Generally the idea is that benchmarking as currently provided by the library is insufficient -- doing one comparison run between options (even a large run) doesn't indicate anything about the statistical significance of the variation between run times of the two (or more) options. So I present a somewhat naive statistical model for doing those comparisons (and in the blog post encourage someone with better Ruby and Math chops to librarify the idea).

You can read the post at: Benchmarking, Lies, and Statistics.

T: A Dialect of Lisp

T: A Dialect of Lisp, or, LAMBDA: The Ultimate Software Tool

The T project is an experiment in language design and implementation.
Its purpose is to test the thesis developed by Steele and Sussman in
their series of papers about the Scheme language: that Scheme may be
used as the basis for a practical programming language of exceptional
expressive power; and, that implementations of scheme could perform
better than other Lisp systems, and competitively with implementations of programming languages, such as C and Bliss, which are usually
considered to be inherently more efficient than Lisp on conventional
machine architectures. We are developing a portable implementation of
T, currently targetted fo rthe VAX under the Unix and VMS operating
systems and for the Apollo, a MC68000-based workstations.

Self-Reproducing Programs in Common Lisp

Self-Reproducing Programs in Common Lisp by Peter Norvig, 1990.

This paper reviews the classic self-reproducing expressions in Lisp, and presents some new ones that are unique to Common Lisp.