The youtoo Home Page
Youtoo Logo
Mountains

[What is youtoo?] The youtoo system is a public domain implementation of the object-oriented dynamic programming language EuLisp. EuLisp is a single-valued dialect of Lisp with an integrated object system, a defined meta-object protocol, modules and a simple light-weight process mechanism (threads).

The youtoo compiler/interpreter compiles EuLisp into C-embedded virtual machine code which can be statically or dynamically linked with the virtual machine, the conservative garbage collector, the EuLisp language library and arbitrary other Lisp and foreign code (C, C++, Fortran, Pascal). Resulting stand-alone executables are portable, interoperable and efficient (see The Lisp Performance Page). The language implementation is extended towards a Virtual Multicomputer Architecture (see Denton and VIM Projects). Object serialization and inter-process communication (via Sockets, MPI, Harvest Object Cache) support the migration of arbitrary data and code.

Puzzle Picture

The youtoo distribution and other EuLisp related things can be found at http://www.cs.bath.ac.uk/~jap/EuLisp. The README of the current release provides some more information. The distribution includes bindings with Solaris Threads, Posix Portable Common Runtime (PPCR) Threads, MPI and Tcl/Tk. The youtoo system is implemented by Andreas Kind, Julian Padget and Keith Playford. The following platforms are supported: Solaris, Linux, IRIX and AIX. Shared libraries can be used with Solaris, Linux and IRIX. The Tcl/Tk binding with youtoo is described here.

The system reuses ideas from the Oaklisp system written by Barak Perlmutter and Kevin Lang. The meta-object protocol (Telos) was originally implemented in Common Lisp by Russell Bradford. By default, a garbage collector written by Hans Boehm and Alan Demers is used.

[What is EuLisp?] EuLisp is a single-valued dialect of Lisp with the following features: (i) an integrated object system (Telos) with a defined meta-object protocol to enable reflective programming, (ii) a module system and (iii) a simple light-weight process mechanism (threads). The language definition and more information about EuLisp can be found at the EuLisp FAQ page. For an update on the language definition see also EuLisp online definition.

[What is also interesting?] Euscheme is an implementation of EuLisp level 0 which is based on xscheme. ---youtoo is linked to the Denton and VIM projects. ---Multi-threading based on MIT Pthreads will be supported soon. ---The photo above is by Claude Fournier.


Address: School of Mathematical Sciences, University of Bath, Bath BA2 7AY, UK

University of Bath logo Email: ak1@maths.bath.ac.uk
Telephone: +44 (0)1225 82-6605 (direct)
Telephone: +44 (0)1225 82-6965 (secretary)
Fax: +44 (0)1225 462508