Lambda

From OLPC
Revision as of 18:53, 24 September 2008 by Hummingbird (talk | contribs)
Jump to: navigation, search
Xo-lambda-icon.svg
OlpcProject.png Antoine van Gelder

see more templates or propose new


About

XO-Lambda is a simple Lisp interpreter for the OLPC XO-1.

It features:

  • Integer & Real numeric types
  • Mark & Sweep garbage collection
  • A simple foreign function interface
  • A full screen editor which can freely mix text and graphics
  • Implemented in ~2000 lines of (mostly) C
  • Released under a MIT/X11 license


Goal

The goal of xo-lambda is not to be a full featured, standards compliant, high performance Lisp as there already exists several excellent examples of such systems!

Rather, the xo-lambda system attempts to accomplish two highly specialized objectives:

  • Fun - A text based Lisp console may be a barrel-load of fun if all you have is a 300 baud modem and an account on a university mainframe but if you have a bitmapped color display, a video camera, microphone and 16 bit digital audio you have to ask yourself: "Can this thing sing?"
  • Simplicity - There is an enormous difference in complexity between the original single page implementation of Lisp in John McCarthy's 1960 paper and modern implementations. Given the performance improvements computers have seen in the last few years it seems that there is significant educational value to be gotten from a system which, while performant enough to have fun, is still simple enough that it can reveal all of its secrets to the disciplined student in a reasonable amount of time.

Activity Summary

Icon: Sugar icon::http://wiki.laptop.org/go/Image:Xo-lambda-icon.svg
Genre: Activity genre::Programming
Activity group: ,|x|Activity group::x}}
Short description: Short description::XO-Lambda is a simple Lisp interpreter for the OLPC XO-1.
Description: [[Description::XO-Lambda is a simple Lisp interpreter for the OLPC XO-1 featuring:
  • Integer & Real numeric types
  • Mark & Sweep garbage collection
  • A simple foreign function interface
  • A full screen editor which can freely mix text and graphics
  • Implemented in ~2000 lines of (mostly) C
  • Released under a MIT/X11 license]]
Maintainers: ,|x|Contact person::x}}
Repository URL:
Available languages: ,|x|Available languages::x}}
Available languages (codes): ,|x|Language code::x}}
Pootle URL:
Related projects: Related projects,|x|Related projects::x}}
Contributors: ,|x|Team member::x}}
URL from which to download the latest .xo bundle Activity bundle::http://localhost/
Last tested version number:
The releases with which this version of the activity has been tested. ,|x|Software release::x}}
Development status: Devel status::2. Pre-Alpha
Ready for testing (development has progressed to the point where testers should try it out): ,|x|Ready for testing::x}}
smoke tested :
test plan available :
test plan executed :
developer response to testing :