From: William Chesters
Subject: Re: LISP Denotational Semantics
Date: 
Message-ID: <1993Jun21.133025@aifh.ed.ac.uk>
In article <······················@cee.hw.ac.uk>, ····@cs.hw.ac.uk (Greg
Michaelson) writes:
# There's a partial denotational semantics in the defining documents for
# EULISP - the proposed new European LISP standard.
                            ^^^^^^^^^^^^^^^^^^^^^^
Well, sanity is prevailing at last.  We need a new LISP standard almost
as much as we need, say, a new flavour of COBOL [ouch :)]. And these
local standards are just the bees' knees.

Not.

Can someone explain exactly what's going on here?  Why a new standard?
[Aside: if a new standard, why LISP & not, say, ML?]  If a new
standard, why a EUROPEAN standard?!  Isn't that an oxymoron?

-- 
William "does this have anything to do with the EuCommission by any
chance" Chesters (········@aifh.ed.ac.uk)

`/usr/games/fortune`

From: Hallvard Tretteberg
Subject: Re: LISP Denotational Semantics
Date: 
Message-ID: <HAL.93Jun21152025@monsun.si.no>
In article <················@aifh.ed.ac.uk> ········@aifh.ed.ac.uk
(William Chesters) writes:
   # There's a partial denotational semantics in the defining documents for
   # EULISP - the proposed new European LISP standard.
			       ^^^^^^^^^^^^^^^^^^^^^^
   Well, sanity is prevailing at last.  We need a new LISP standard almost
   as much as we need, say, a new flavour of COBOL [ouch :)].

   Can someone explain exactly what's going on here?  Why a new standard?
   [Aside: if a new standard, why LISP & not, say, ML?]  If a new
   standard, why a EUROPEAN standard?!  Isn't that an oxymoron?

I think the idea is that Scheme is elegant but too small and Common
Lisp has nice functionality but is too unmodular, so we need a new
modular Lisp with the elegance of Scheme and the functionality of
Common Lisp.

I also think some European countries are more concerned about being
independent of USA, e.g. France, and like the idea of a European
Community a lot, e.g. France.

Lisp is perhaps also a younger language to europeans so it is easier
to push a new standard than in USA where there are lots of Lisp users
already committed to Common Lisp.

Perhaps, someone in the EuLisp development group can elaborate on
this. Especially, how and when will they get vendor support for
EuLisp and utilities/tools that Common Lisp already has, in short,
things they need to compete with CL.


--
Hallvard Traetteberg
Dept. of Knowledge Based Systems
SINTEF SI (Center for Industrial Research)
Box 124 Blindern, 0314 Oslo 3
NORWAY

Tlf: +47 22 06 79 83 or  +47 22 06 73 00
Fax: +47 22 06 73 50
Email: ···················@si.sintef.no
From: William Chesters
Subject: Re: LISP Denotational Semantics
Date: 
Message-ID: <1993Jun21.163144@aifh.ed.ac.uk>
In article <·················@monsun.si.no>, ···@si.no (Hallvard Tretteberg)
writes:
# In article <················@aifh.ed.ac.uk> ········@aifh.ed.ac.uk
# (William Chesters) writes:
#    # There's a partial denotational semantics in the defining documents for
#    # EULISP - the proposed new European LISP standard.
# 			       ^^^^^^^^^^^^^^^^^^^^^^
#    Well, sanity is prevailing at last.  We need a new LISP standard almost
#    as much as we need, say, a new flavour of COBOL [ouch :)].
# ...
# I also think some European countries are more concerned about being
# independent of USA, e.g. France, and like the idea of a European
# Community a lot, e.g. France.

It's not (quite) only the Frogs :)---I have some sympathy with this
Euro-nonsense myself, don't you know.  After all, it was the cream
of the US computer establishment that gave us Common LISP in the
first place :)---surely we can do better than *that*.

Followups to /dev/null.

-- 
William Chesters (········@aifh.ed.ac.uk)
`/usr/games/fortune`
From: spoon
Subject: Re: LISP Denotational Semantics
Date: 
Message-ID: <1993Jun22.035201.22420@newsroom.utas.edu.au>
In article <················@aifh.ed.ac.uk> ········@aifh.ed.ac.uk (William Chesters) writes:
>In article <·················@monsun.si.no>, ···@si.no (Hallvard Tretteberg)
>writes:
># In article <················@aifh.ed.ac.uk> ········@aifh.ed.ac.uk
># (William Chesters) writes:
>#    # There's a partial denotational semantics in the defining documents for
>#    # EULISP - the proposed new European LISP standard.
># 			       ^^^^^^^^^^^^^^^^^^^^^^
>#    Well, sanity is prevailing at last.  We need a new LISP standard almost
>#    as much as we need, say, a new flavour of COBOL [ouch :)].

Before you start criticizing why don't you look at the standard, it
available ftp from the same place you get FEEL (see the FAQ). If you'd
looked at it you might have realized this is actually a VERY GOOD
idea. CL is for many applications virtually useless just because of
its sheer size. Don't get me wrong, I think CL is great, but I also
think EULISP is great too. It has many useful features, not the least
of which is an object system that is truly integrated with the rest of
the system, not an add on after thought. Again, I'm not critisizing
CLOS, but the EULISP system is a good idea.

Sp
From: Harley Davis
Subject: Re: EuLisp (was LISP Denotational Semantics)
Date: 
Message-ID: <DAVIS.93Jun22112600@passy.ilog.fr>
In article <······················@newsroom.utas.edu.au> ·····@hilbert.maths.utas.edu.au (spoon) writes:

   >(Hallvard Tretteberg)
   ># (William Chesters) writes:
   >#    # There's a partial denotational semantics in the defining documents for
   >#    # EULISP - the proposed new European LISP standard.
   ># 			       ^^^^^^^^^^^^^^^^^^^^^^
   >#    Well, sanity is prevailing at last.  We need a new LISP standard almost
   >#    as much as we need, say, a new flavour of COBOL [ouch :)].

   Before you start criticizing why don't you look at the standard, it
   available ftp from the same place you get FEEL (see the FAQ). If you'd
   looked at it you might have realized this is actually a VERY GOOD
   idea. CL is for many applications virtually useless just because of
   its sheer size. Don't get me wrong, I think CL is great, but I also
   think EULISP is great too. It has many useful features, not the least
   of which is an object system that is truly integrated with the rest of
   the system, not an add on after thought. Again, I'm not critisizing
   CLOS, but the EULISP system is a good idea.

I am on the EuLisp committee; in particular, I specialize in TELOS,
the EuLisp object system.  I thank you for your appreciation of our
efforts.  A special issue of Lisp and Symbolic Computation, devoted to
EuLisp, will soon appear, so you can find out more details about the
language at that point.

We have removed the denotional semantic description of EuLisp, written
by Christian Quenneic, from the more recent versions of the definition
because the definition was evolving too fast to properly maintain it.
It may be restored at some time in the future.

Let me clear up one misconception:  EuLisp is not a European standard,
nor does it even make much sense to speak of a European standard for
Lisp.  The EEC does not, as far as I know, have a mechanism by which
such a standard could be adopted.  Such standards are still up to
individual countries in their national standards groups.  Even
international standards bodies such as ISO or IEEE do not really have
national force; individual countries must adopt the ISO standard.
This is usually a matter of course.

EuLisp's goals to bring together a number of ideas which have been
developed in the last few years in the Lisp community into a single,
relatively small, integrated language.  These ideas include a
CLOS-like object system with a metaobject protocol, threads,
conditions, and modules.  The language is divided into two levels
which are considered appropriate for teaching and serious programming.
The separation of language and library is formalized by putting many
advanced features into standard modules.

While currently the only full implementation of EuLisp is the public
domain FEEL, which was mentioned above, many of the ideas have been
adopted into Ilog's Le-Lisp version 16 (renamed Ilog Talk for the
current release).  In particular, TELOS, the condition system, the
dynamic variable syntax, and many of the ideas from the EuLisp module
system have been incorporated into this product. (If you want more
information on Ilog Talk and other Ilog products, you can send mail to
me or ····@ilog.com.)

Other work on EuLisp is continuing at a number of places.  In Berlin,
the APPLY project is working on developing a type-inferencing, highly
optimizing compiler for complete applications.  The University of
Southampton in England is using EuLisp in conjunction with the Abelson
& Sussman book and a Scheme compatibility module in order to better
present object-oriented programming.  The University of Bath is
continuing their work on FEEL and parallel programming.  And so on.

Now a word on the Lisp standardization effort as I understand it:

EuLisp, along with CommonLisp and Le-Lisp (with which I am also
associated in a commercial context), was one of the three original
dialects submitted to the ISO Lisp working group, WG16.  None of these
three dialects was accepted as a working draft for a variety of
reasons, both political and technical.  The current working draft
could be considered a sub/sideset of all three, with contributions
from the German DKLisp and the Japanese Kernel Lisp.  You can imagine
the complexity of trying to forge a standard from five different
dialects.

It has an object system similar to both TELOS and CLOS without a lot
of the hair of CLOS.  If I remember correctly, it has limited
multiple inheritance and method combination, which are not included in
the TELOS kernel.  However, it does not have CHANGE-CLASS or EQL
methods.

At the library level, it is compatible with a (small) subset of
CommonLisp.  Most of the excesses of CommonLisp were cut out.  Some
people would say that some of the essentials were cut out too, but I
disagree.  This is the price we pay for having a more realistic
language.

The language itself differs from CommonLisp in certain key areas,
notably the separate syntax for dynamic variables (derived from EuLisp
and Le-Lisp version 16), a stack-based multiple argument mechanism
(derived from Le-Lisp version 16) and a cleaner approach to name
spaces.

Unfortunately, no module system is included in the current proposal.
There is no consensus on how modules should be done.  There are
macros, but I think they are too limited.

Happily, no condition system is included.  I have a deep distaste for
the CommonLisp and Dylan condition systems, and a strong preference
for the much simpler, equally powerful, and better integrated system
of EuLisp (also adopted by Le-Lisp version 16).

The name of this dialect is ISLisp.  If I understand correctly, ANSI
is standardizing CommonLisp.  There is also the IEEE standard for
Scheme.  Therefore, it is probably inappropriate to speak of "Lisp"
standardization.  This is perhaps unfortunate for those who want a
simple view of things, but is warranted by the diversity of dialects
available in the Lisp world and the subsequent impossibility of
completely unifying the various efforts.

Another concern is standardizing current practice.  It looks like ISO
is going to standardize a new dialect.  However, this dialect does not
contain any new or untested ideas.  Rather, it is an amalgam of a set
of different current practices.  It will be relatively easy for a
number of vendors to be able to claim the ISO stamp of approval, and
for users to write portable, if not profligate, programs.

-- Harley Davis
--

------------------------------------------------------------------------------
nom: Harley Davis			ILOG S.A.
net: ·····@ilog.fr			2 Avenue Gallie'ni, BP 85
tel: (33 1) 46 63 66 66			94253 Gentilly Cedex, France
From: William Chesters
Subject: Re: EuLisp (was LISP Denotational Semantics)
Date: 
Message-ID: <1993Jun22.122411@aifh.ed.ac.uk>
In article <······················@newsroom.utas.edu.au>
·····@hilbert.maths.utas.edu.au (spoon) writes:
 
    Before you start criticizing why don't you look at the standard, it
    available ftp from the same place you get FEEL (see the FAQ). If you'd
    looked at it you might have realized this is actually a VERY GOOD
    idea. CL is for many applications virtually useless just because of
    its sheer size. Don't get me wrong, I think CL is great, but I also
					^^^^^^^^^^^^^^^^^^^
I don't.  I'm very happy to take your word for it that EULISP is a big
improvement.  My point was that CL is now standard and widely-used
[perhaps I'm wrong---I'm no expert]; so is Scheme; this is in itself
a happy state of affairs which took a lot of effort and all the clout
of CL's backers to achieve; and inventing a new version of [IMHO :)]
an old-fashioned language [:)] will risk destroying this achievement
without actually offering all that much benefit to anyone.

Otoh, Harley Davis sees EuLisp as a contribution to ISO Lisp, which
makes more sense to me than would a purely European standard:

In article <···················@passy.ilog.fr>, ·····@passy.ilog.fr (Harley
Davis) writes:

# Now a word on the Lisp standardization effort as I understand it:
# 
# EuLisp, along with CommonLisp and Le-Lisp (with which I am also
# associated in a commercial context), was one of the three original
# dialects submitted to the ISO Lisp working group, WG16.
# [...]
# The name of this dialect is ISLisp.  If I understand correctly, ANSI
# is standardizing CommonLisp.  There is also the IEEE standard for
# Scheme.  Therefore, it is probably inappropriate to speak of "Lisp"
# standardization.  This is perhaps unfortunate for those who want a
# simple view of things, but is warranted by the diversity of dialects
# available in the Lisp world and the subsequent impossibility of
# completely unifying the various efforts.

Again, maybe I'm overestimating just how widely used CL is, and maybe
I just don't like LISP enough to *want* a choice of three competing
standards ("Do you want this World Boxing org or that one?" "No"),
but I still think this is all a bit silly.

-- 
William Chesters (········@aifh.ed.ac.uk)
`/usr/games/fortune`
From: Harley Davis
Subject: Re: EuLisp (was LISP Denotational Semantics)
Date: 
Message-ID: <DAVIS.93Jun23103038@passy.ilog.fr>
In article <················@aifh.ed.ac.uk> ········@aifh.ed.ac.uk (William Chesters) writes:

   I don't.  I'm very happy to take your word for it that EULISP is a big
   improvement.  My point was that CL is now standard and widely-used
   [perhaps I'm wrong---I'm no expert]; so is Scheme; this is in itself
   a happy state of affairs which took a lot of effort and all the clout
   of CL's backers to achieve; and inventing a new version of [IMHO :)]
   an old-fashioned language [:)] will risk destroying this achievement
   without actually offering all that much benefit to anyone.

I take umbrage at the idea that Lisp is somehow an "old-fashioned"
language.  One of Lisp's great virtues is its ability to evolve with
the times.  Modern Lisps, of which EuLisp is an exemplary model, take
into account the advances in computer science and software engineering
practice.  I don't think the same could be said of the dominant
languages, such as C or even C++.

There are at least three commercially available Lisp dialects in
widespread use throughout the world (CommonLisp, Le-Lisp, and Scheme).
The nature of the standards process requires that a compromise be
found in such a situation, or that no standard is adopted, or that
three standards be adopted.  The greatest benefit to everyone involved
is a compromise, since it allows everyone to be ISO compatible.  In
fact, Scheme dropped out of the ISO process and has a separate
international standard (from IEEE).  The remaining players have now
decided on a compromise; this seems like the best solution to what,
since the birth of the ISO Lisp process, has seemed like an impossible
task.

Perhaps the Lisp world would have been better off had only one
commercially viable Lisp dialect emerged.  But this wasn't the case,
and the standardization process must deal with the actual situation.

   Otoh, Harley Davis sees EuLisp as a contribution to ISO Lisp, which
   makes more sense to me than would a purely European standard:

Of course, EuLisp is not *just* a contribution to ISLisp.  It stands
on its own as a solid technical contribution to language design.  See
the upcoming special issues of Lisp and Symbolic Computation for
justification of this claim.

-- Harley Davis

PS CommonLisp is not yet a standard.  All signs indicate that it will
be soon (about four years after its backers claimed it would be), but
even then it will be only an American standard.  The rest of the
world, which comprises the largest market share, prefers international
standards.

--

------------------------------------------------------------------------------
nom: Harley Davis			ILOG S.A.
net: ·····@ilog.fr			2 Avenue Gallie'ni, BP 85
tel: (33 1) 46 63 66 66			94253 Gentilly Cedex, France
From: Dave De Roure
Subject: Re: EuLisp (was LISP Denotational Semantics)
Date: 
Message-ID: <20bo8l$dfk@robinson.ecs.soton.ac.uk>
>In article <················@aifh.ed.ac.uk> ········@aifh.ed.ac.uk (William Chesters) writes:

>   I don't.  I'm very happy to take your word for it that EULISP is a big
>   improvement.  My point was that CL is now standard and widely-used
>   [perhaps I'm wrong---I'm no expert]; so is Scheme; this is in itself
>   a happy state of affairs which took a lot of effort and all the clout
>   of CL's backers to achieve; and inventing a new version of [IMHO :)]
>   an old-fashioned language [:)] will risk destroying this achievement
>   without actually offering all that much benefit to anyone.

I've made pretty extensive use of Common Lisp and Scheme for both research 
and teaching in the last decade.  When the first EuLisp interpreter became
available we used it experimentally, and have subsequently adopted it for 
teaching - we use it for research too, but Scheme (with an object system)
is still a major research platform for us.  As Harley said, our early
use of EuLisp essentially involved a Scheme subset - we've subsequently
moved over to the EuLisp dialect itself.

The great thing we've found about EuLisp is precisely that it captures a 
number of modern ideas (object system, modules, threads, condition system) 
in a simple and consistent framework, making it ideal as a vehicle for 
teaching computer science (cf Scheme in Abelson and Sussman).  It can be 
argued that you can teach in any language, but some offer more impedance 
to the educational process than others - we've found EuLisp to have very 
low overheads in this respect for our syllabus.  We teach SML as the first 
language, then in the second year we build on that with EuLisp, using it
to introduce object oriented programming.

Compared to Scheme, EuLisp has a lot more (for a start, it's a sort of
Scheme++-, i.e. Scheme with an integrated object system, but without full 
continuations!)  Philosophically it seems to have many of the same goals,
but is less conserative in its definition - it's inevitably bigger than 
Scheme, so I think there's still very much a place for Scheme as the 
`smallest neatest' dialect.  Compared to Common Lisp with CLOS (and 
stackgroups or suchlike), EuLisp doesn't offer more functionality, but 
it does offer considerable simplicity - such as the integrated object 
system and the layered approach to the language design.  It's this 
simplicity that's paid off for us in teaching.

I should mention some other people here - Russell Bradford at Bath has
also used EuLisp for teaching (mainly parallelism), as has Ian Craig 
in Warwick.  The Bath group have used it extensively as a research 
platform, while we're using it in the lab alongside Scheme (with Christian 
Queinnec's `meroon' object system), Hugh Glaser's FAST compiler, Miranda 
and SML.  In that context we use EuLisp mainly for work where we need a 
threads mechanism.

Re standards.  Our experience suggests that there does seem to be space 
in between Scheme and Common Lisp which can be usefully occupied by a 
modern Lisp dialect.  ISLISP sounds as if its going to fall in that space 
too, and since it is pretty much post-EuLisp, it's able to inherit much 
from the EuLisp experience.  Dylan also has some conceptual commonality 
with EuLisp.  I think what we're seeing is a broad concensus about modern 
Lisp dialects (I recall Jeff Dalton making this observation), and I hope 
the standard captures this.

-- Dave

-- 
David DeRoure, Declarative Systems Laboratory       |  ····@ecs.soton.ac.uk
Department of Electronics and Computer Science      |  phone +44 703 593649  
University of Southampton, Southampton SO9 5NH, UK  |  fax   +44 703 593045
From: Lou Steinberg
Subject: Re: EuLisp (was LISP Denotational Semantics)
Date: 
Message-ID: <LOU.93Jun24154545@atanasoff.rutgers.edu>
In article <··········@robinson.ecs.soton.ac.uk> ····@ecs.soton.ac.uk (Dave De Roure) writes:

   [...]  Compared to Common Lisp with CLOS (and 
   stackgroups or suchlike), EuLisp doesn't offer more functionality, but 
   it does offer considerable simplicity - such as the integrated object 
   system and the layered approach to the language design.  It's this 
   simplicity that's paid off for us in teaching.

   -- 
   David DeRoure, Declarative Systems Laboratory       |  ····@ecs.soton.ac.uk
   Department of Electronics and Computer Science      |  phone +44 703 593649  
   University of Southampton, Southampton SO9 5NH, UK  |  fax   +44 703 593045

This is interesting - one of the main problems with
subsetting/layering of common lisp, either for teaching or for
implementation, is the way the parts are intermingled - e.g. the use
of clos in the condition system.  You cannot, e.g., implement the
condition system in one library and clos in another, and only load (or
teach about) the condition system if you want conditions but have no
explicit need for objects.

Can anyone summarize how EuLisp manages to be both integrated and layered?

--
					Lou Steinberg

uucp:   {pretty much any major site}!rutgers!aramis.rutgers.edu!lou 
internet:   ···@cs.rutgers.edu
From: Richard A. O'Keefe
Subject: Re: LISP Denotational Semantics
Date: 
Message-ID: <20422@goanna.cs.rmit.oz.au>
Concerning EuLisp: Jeff Dalton and others have mentioned it many times in
comp.lang.lisp, and it's listed in the FAQ (together with information about
where to get Free and Eventually EuLisp).  It may be soothing to think of it
as "Industrial Strength Scheme" rather than as a rival to Common Lisp.
I have been informed in comp.lang.scheme that about half of the Scheme
committee were opposed to the creation of the IEEE Scheme standard, and
that the RnRS group (the people who create new versions of the "working"
standard) feel free to ignore the IEEE standard and existing practice in
the pursuit of a better language.  Well, the world has room for better
languages.  But for those of us who like Scheme, it would be nice to have
a Scheme-ish language where the people working on it intend to be bound
by their own standard.
From: Kelly Murray
Subject: Re: LISP Denotational Semantics
Date: 
Message-ID: <204mm0INNfse@no-names.nerdc.ufl.edu>
In article <·················@monsun.si.no>, ···@si.no (Hallvard Tretteberg) writes:
|> In article <················@aifh.ed.ac.uk> ········@aifh.ed.ac.uk
|> (William Chesters) writes:
|>    # There's a partial denotational semantics in the defining documents for
|>    # EULISP - the proposed new European LISP standard.
|> 			       ^^^^^^^^^^^^^^^^^^^^^^
|>    Well, sanity is prevailing at last.  We need a new LISP standard almost
|>    as much as we need, say, a new flavour of COBOL [ouch :)].
|> 
|>    Can someone explain exactly what's going on here?  Why a new standard?
|>    [Aside: if a new standard, why LISP & not, say, ML?]  If a new
|>    standard, why a EUROPEAN standard?!  Isn't that an oxymoron?
|> 
|> I think the idea is that Scheme is elegant but too small and Common
|> Lisp has nice functionality but is too unmodular, so we need a new
|> modular Lisp with the elegance of Scheme and the functionality of
|> Common Lisp.

I believe that a more modular Common Lisp is needed.  
But it should be exactly that --- a modular Common Lisp.  If the Euro standard
is incompatible, it is a big mistake.  
I've always thought standards are supposed to represent a coming together 
of competing ideas being used /in practice/.  So far, I don't know of many
CL subsets that are defined as such in practice.  Gensym's product uses only a
subset of CL.  Are their others?  Henry Baker was working/thinking/defining a
CL subset.  Anyone else?  Have the European's been using the equivalent
of CL subsets?

-Kelly Murray
From: Harley Davis
Subject: Re: LISP Denotational Semantics
Date: 
Message-ID: <DAVIS.93Jun22114110@passy.ilog.fr>
In article <············@no-names.nerdc.ufl.edu> ···@prl.ufl.edu (Kelly Murray) writes:

   I believe that a more modular Common Lisp is needed.  But it should
   be exactly that --- a modular Common Lisp.  If the Euro standard is
   incompatible, it is a big mistake.  I've always thought standards
   are supposed to represent a coming together of competing ideas
   being used /in practice/.  So far, I don't know of many CL subsets
   that are defined as such in practice.  Gensym's product uses only a
   subset of CL.  Are their others?  Henry Baker was
   working/thinking/defining a CL subset.  Anyone else?  Have the
   European's been using the equivalent of CL subsets?

Well, a lot of Europeans have been using Le-Lisp, which is not a CL
subset.  We have over 7000 Le-Lisp licenses sold in about 10
countries, which makes for a pretty hefty interest in seeing our
customers' investments protected.

Also, there are a number of technical arguments against CL as a
standard, even a subset version.

I think the current ISLisp working draft pretty much represents what
you describe, a "coming together" of competing ideas.

-- Harley Davis

--

------------------------------------------------------------------------------
nom: Harley Davis			ILOG S.A.
net: ·····@ilog.fr			2 Avenue Gallie'ni, BP 85
tel: (33 1) 46 63 66 66			94253 Gentilly Cedex, France