Next: 7.2 The Modular Architecture
Up: 7. Implementation of SIESTA
Previous: 7. Implementation of SIESTA
SIESTA is based on a LISP interpreter called
VLISP [4,35]. There are several arguments for
the usage of VLISP and some against its usage. The strong points
are:
- The LISP language itself provides inherent capabilities for
manipulation of data sets with variable size and heterogeneous data
through its lists. This is comparable to functionality
emerging lately with the standard template library of C++
(although it may be slower in LISP).
- VLISP offers a highly developed object system (see
also Appendix A) which
encourages modularity, simplifies maintenance, and
speeds up development.
- Dynamic invocation of objects of arbitrary classes is possible
with VLISP.
- VLISP offers a binding to the MOTIF
toolkit [17,31]. That means that the most
elaborate and widespread toolkit available on UNIX platforms is
available from within SIESTA.
- LISP's inherent parser can be used for various purposes.
- The JAVA [10,21] language was not an industry
standard when the development of SIESTA started. Moreover the
GUI features provided by JAVA through the Abstract
Windowing Toolkit (AWT) lack a lot of functionality which
is offered by MOTIF. And its successor, the SWING
toolkit, was not available at all when the development of SIESTA
was started.
Arguments against the usage of VLISP are:
- LISP is not very popular.
- LISP is not an industry standard.
- Programs written in LISP are slower compared to
programs which have been written in languages like C or
C++.
However, since the advantages of using VLISP were dominant, it was
selected to be the language of choice. It should be stressed that all
the concepts that are presented in this work, are in no way related to
VLISP or specific features of VLISP. To some extent, however,
VLISP's object oriented features, which are also available in some
other languages, simplified the implementation of the anticipated
functionality.
Next: 7.2 The Modular Architecture
Up: 7. Implementation of SIESTA
Previous: 7. Implementation of SIESTA
Rudi Strasser
1999-05-27