next up previous
Next: 6.9 Comparison with Other Languages Up: 6. Conclusions Previous: 6.7 Beyond the Fringe

6.8 SETL Implementations

As was remarked in Chapter 1 [Introduction], there has never really been a fully satisfactory SETL implementation, although my own has at least the advantages of being actively maintained, released under the GNU Public License, written in portable C, blessed with a very fast translator, and packaged in a way which makes heavy use of autoconf to allow it to be configured and adapted easily to a wide variety of Unix-based operating systems.

However, its interpreter reflects a much greater interest in modularity than speed. When a new version of the language which includes a respectable type system has been sufficiently well defined, I think it would be worthwhile to write an entirely new SETL compiler and run-time system in Ada 95. If the language is defined in terms of Ada expansions, and the compiler is designed around that definition, it will be possible to take advantage of the GNAT [1] system. Deeper code transformations like those performed by APTS [33,161,126,162], in the presence of a serious type system, might permit the kind of thorough optimization usually seen only in the implementations of lower-level languages.

Another advantage of tying SETL's definition and implementations to Ada is that Ada's run-time semantics are readily expressed in term of the Java Virtual Machine (JVM) [129]. This would pave the way to writing browser ``applets'' in SETL.


next up previous
Next: 6.9 Comparison with Other Languages Up: 6. Conclusions Previous: 6.7 Beyond the Fringe
David Bacon
1999-12-10