SECD Mania collection

SECD: [ index ] [ collection ] [ hard_SECK reference ]
LISP: [ reference ] [ tutorial ] [ implementation scheme ]

This package consist from different models of SECD machines - result of my experience with P. Henderson book "Functional Programming: Application and Implementation", 1980, Prentice Hall.

I have a russian translation of this book since 1986. From march 2002 i started my second attempt to implement a sequence of modified SECD models. This package is the result of these efforts.

All software in the package is licensed under GPL if it not conflicts with some pattents or licenses owned by any people related with SECD architecture such as Peter Henderson, Gordon Plotkin and Peter Landin.

Different machines inherits each other and are placed in different subdirectories.

The implamentation language for these machines is FreePascal.

More important machines in package are:

Full list of inheritance for the machines is listed in file Inherit.lst.

Some comments for each machine improvements you may found in file MachineDIR/Changes.txt

All these files are concatenated in file History.txt.

Machines from the package may be used for educational purposes in areas such as functional programing, computer design, system programming ....

Many of Henderson book exercises are solved by some of machines:

Exercise 6.3 is solved by SEC_0 machine.
Exercises 6.1, 6.2 and 6.4 are partialy solved in Fast_1.
Exercise 6.5 is solved in Base_0.
Exercise 6.6 is solved in TR_SECD, Fast_1 and SEC_0.
Exercise 8.7 is solved in Lasy_0.

Other possibility is to use some of these SECD machines as starting point for some practical implementation of your own functional language.

The appropriate machine for this is CacheL2 (or Base_0) - it have the following advantages:

The pascal sources for CacheL2 are compact and simple - about 20K, including comments and meta_IO functions.

The next appropriate machine is Base_1. It inherits all properties from Base_0. New properties:

Base_2 machine adds: Base_3 machine adds: The last machine Base_4 adds:

Since Dec, 2002 i no new ideas in this field of investigations.

I done all these programs for fun, without any specific goal.

If you have comments, recomendations, improvements or someting else, mail me at work or home .

(c) Skelet, Oct 2004 in terms of GNU GPL