Multiple language support

Luca Pisati pisati@nichimen.com
Fri, 02 May 1997 10:49:56 -0700


Fare Rideau wrote:
> 
> >>: Fare
> >: Rainer Joswig
> 
> >> (HOW? (CAN LISPOS (SUPPORT (MULTIPLE (LISP DIALECTS)))))
> >>as I don't think LispOS can reasonably qualify as an OS
> >>if it is unable to provide such support.
> >
> > Genera does support ZetaLisp, Common Lisp, ANSI Common Lisp
> > and Symbolics Common Lisp in one System.
> >
> > For Scheme one may load a Scheme in CL system (can't remember
> > the name).
> >
> I've been asking HOW?, and you're answering me "yes it has been done".
> I guess I've not been specific enough.
> Just the ability to run programs in other languages does not mean
> *supporting* them.

I do not know if this answers your question, but, on Symbolics there
is a non-ANSI basic concept, similar to what packages do for keeping
namespaces separate, called "Syntax".

A Syntax is defined more or less as a readtable, packages which are
visible to that syntax only, and packages which resides in another
syntax, but have a different name in this syntax.  Using this feature,
it was possible to write one buffer in ZetaLisp syntax, one in
Symbolics-Common-Lisp syntax (CL pre-Cltl1), one in Cltl1, and so on.

At the end, everything compiles, so there are "no" problems.

Theoretically you could have more than one C Syntax (which means that
the parser does a different job), and so on.

I'm setting up a running XL1200 at my office, this days, so, maybe
I can help in answering the "how" questions about Symbolics.

>    After all, any Turing-tarpit-equivalent system can be used
> to run programs in any other language.
> There are lots of LISP systems running over C-based OSes.
> How well does the underlying system support them to you?
> [not to mistake with the question of knowing how well the LISP system
> does support the underlying system].
>    Supporting them means that components written in any of the
> supported languages can be used seamlessly from any other,
> without any knowledge about the implementing language;
> it means that the system can express, enforce and propagate the invariants
> required by the supported language in as automatized a way as possible.
>    In a real OS, I want ML people to use ML without having
> to fight against the system, and finally open an MLOS@math.gatech.edu
> mailing list to discuss the beauty of ML machines
> and how the (then) currently omnipresent LispOS is a pain-in-the-ass
> twenty-year-old-technology annoyance to get rid of!
>    This should be even truer of Scheme people
> and <pick-any-Lisp-dialect> fans.
> 
> PS: ZetaLisp, Common Lisp, ANSI CL, and SMBX CL are very similar
> languages without great semantical differences. Scheme-in-CL is
> more interesting, but then, how well does that existing Scheme-in-CL
> allow interaction between software written in Scheme and in CL?
> 
> #f

--
Luca Pisati		       Voice:	 (310) 577-0518
Nichimen Graphics	       Fax:	 (310) 577-0577
12555 W. Jefferson #285        EMail:    pisati@nichimen.com
Los Angeles, CA 90066          Web:      http://www.nichimen.com