Announcement: Sigma 0.6

Thant Tessman <>
8 Nov 2005 23:35:24 -0500

          From comp.compilers

Related articles
Announcement: Sigma 0.6 (Thant Tessman) (2005-11-08)
| List of all articles for this month |

From: Thant Tessman <>
Newsgroups: comp.compilers
Date: 8 Nov 2005 23:35:24 -0500
Organization: XMission
Keywords: functional, available
Posted-Date: 08 Nov 2005 23:35:24 EST

Sigma is a small, interpreted, functional programming language
implemented in C++ as a set of modular library components.

Release 0.6 is now available. There is no change in the language between
0.5 and 0.6, but the library components from which Sigma is built are
actively used in other projects and have continued to be developed and
enhanced. Since a couple hundred people downloaded version 0.5, I
thought it only polite to provide an updated version.

And maybe some folks might find a full-fledged functional language
interpreter in just over 7K lines of C++ code interesting in its own regard.

Major changes from 0.5 to 0.6:

The smart pointer implementation now uses both mark-and-sweep and
reference-counting techniques simultaneously. In practice, reference
counting greatly improves performance, but the problem of circular
references doesn't go away. The user has a choice of letting the
pointer implementation automatically trigger mark-and-sweep
collections, or triggering them programmatically either from their own
applications, or from within the interpreter itself. See the Makefile
and the Cell source for various compiler and runtime options.

The lexer generator and parser generator are now parameterized to
allow for a shared context. The Sigma interpreter itself uses a
context-free grammer, but these libraries are also used in other
projects (which continues to drive their development).


"That's not a good way to determine how good or bad things are, by
how many things are exploding." -- Lawrence DiRita, chief spokesman
for the United States Defense Department

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.