From: Keunen Vincent
Subject: all platforms support
Date: 
Message-ID: <9308300924.AA08295@montefiore.ulg.ac.be>
I'd like to compile a list of all the features that can distinguish the various platforms/compilers that are used for lisp.  It would be good if all of you could send me the features that distinguish their environment.

I will post the results.

Here are the ones I already have:

  #+Allegro
  #+Lucid
  #+Harlequin
  #+Symbolics
  #+MCL

Obviously, I miss (at least) ACL/PC, Ibuki, CMUCL, KCL, and the other free ones.


Also, a few questions:

1) Would it be useful to also collect the old ones (ex: #+coral, ...)
2) Would it be useful to discriminate between various machines for the same compiler (ex: lucid on hp, dec (vax/ultrix), sun (sparc/non-sparc)...)
3) Would it be useful to discriminate between various versions of the environment (ex: pre-clos genera, pre-clim genera,...)


Thanks for any help

From: Giuseppe Attardi
Subject: all platforms support
Date: 
Message-ID: <9308300959.AA18891@Early-Bird.Think.COM>
I have a new implementation of CL, that I call ECoLisp, because it can
be used as a C library from any C application.

A preliminary version is available via anonymous FTP from apollo.di.unipi.it,
under /pub/software/lisp.

Its feature is:

	#+ecl

Regards

G. Attardi
From: Aaron Sloman
Subject: Re: all platforms support
Date: 
Message-ID: <CCuFIJ.yx@cs.bham.ac.uk>
······@montefiore.ulg.ac.be (Keunen Vincent) writes:

> Date: 30 Aug 1993 05:21:19 -0400
> Organization: Thinking Machines Corporation
>
> I'd like to compile a list of all the features that can distinguish the
> various platforms/compilers that are used for lisp.

The following information may be relevant to your question, if I've
understood it correctly.

Poplog Common Lisp (compatible with CLTL first edition) is
implemented in the multi-language Poplog system, which also supports
incremental compilers for other languages.

Poplog has two virtual machines PVM (the high level Poplog virtual
machine) and PIM (the Poplog implementation machine). All Poplog
languages (Lisp, Prolog, Pop-11 Standard ML, and user-defined
languages) are compiled directly into PVM using special virtual
machine-code planting routines provided in Poplog. Then a language
independent and machine independent compiler generates code for the
PIM. Thereafter a special translator for the current host produces
machine code instructions. A similar but slightly different process
is used for rebuilding and porting poplog, the core of which is
written in an extended dialect of Pop-11 including C-like pointer
manipulation facilities, for efficiency. The structure looks
something like this:

    {POP-11, COMMON LISP, PROLOG, ML, SYSPOP11, OTHER LANGUAGES}
                                  |
                             Compile to
                                  |
                                  V
             [High level VM (extended for SystemPOP11)]
                                  |
                      **Optimise & compile to**
                                  |
                                  V
      [PIM - LOW LEVEL PORTABLE VM (EXTENDED FOR SystemPOP11)]
                                  |
                       Compile or translate to
                                  |
                                  V
   [NATIVE MACHINE INSTRUCTIONS (OR ASSEMBLER - FOR SystemPOP11)]


On this basis procedure definitions in the high level language are
incrementally compiled into procedure records containing machine
code. These compiled procedures can be run as soon as they have been
created (they are not "externally" linked.)

The different languages share a common heap and store management
system, so that they can share data-structures. Also there are lots
of built in sub-routines, e.g. for list processing, mathematical
functions, prolog unification, prolog continuation management, etc.

It is also possible to link in precompile programs written in C,
Pascal, etc. and this is heavily used for the Poplog interface to
the X window system.

Support for callbacks from such external programs produces many
complications, as does support for event handling in X.

The above structure implies that when the PIM has been ported to a
new machine or operating system, then all the rest of Poplog is
automatically available on the new machine. In practice there can
be complications (e.g. different versions of X, etc.).

Some further details are given in:

    R. Smith, A. Sloman, J. Gibson
    `POPLOG's two-level virtual machine support for interactive
    languages' in
    Research Directions in Cognitive Science Volume 5: Artificial
    Intelligence,
    eds D. Sleeman and N. Bernsen, Lawrence Earlbaum Associates,
    pages 203-231, 1992

    (Also available as Cognitive Science Research Paper 153,
    University of Sussex, Jan 1990, available from Berry Harper at
    Sussex: email ·····@cogs.sussex.ac.uk asking for full list
    and prices).

I hope this helps.
Aaron
--
Aaron Sloman,
School of Computer Science, The University of Birmingham, B15 2TT, England
EMAIL   ········@cs.bham.ac.uk  OR ········@bham.ac.uk
Phone: +44-(0)21-414-3711       Fax:   +44-(0)21-414-4281