From: Aaron Sloman
Subject: Possible port of poplog (pop11/prolog/common lisp/ml) to OSX
Date: 
Message-ID: <ca49gk$lgl$1@soapbox.cs.bham.ac.uk>
[Sent to comp.lang.pop,comp.lang.prolog,comp.lang.lisp
and separately to moderated group comp.lang.ml]

This is partly an announcement, and partly an invitation to help with
the port of poplog to OSX.

Since poplog became a free, open source system, interest in it has been
gradually spreading, mainly in the linux community, partly because it
now includes a toolkit for exploring agent architectures. though there
are some windows users, despite the lack of any graphical facilities
in windows poplog.

One of the users, in Canada, who leads a software project requiring
poplog, has identified a need for poplog to run on Mac OSX and can put
significant resources into the port, but has asked for help.

This may be of interest to people in several language communities,
since poplog includes incremental compilers for four languages
(which all compile to a common virtual machine):

    - Pop11
        (the core language, similar to Common Lisp in power, but with a
        more conventional syntax, FORTH-like stack, etc.)

    - Prolog
        (lacking many of the library extensions in other versions
        of prolog, but partly compensated by ability to invoke pop11)

    - Common Lisp
        (Almost all of CLTL II)

    - Standard ML
        (I don't know if this language has changed since work on the
        poplog version stopped around 1996)

The core system starts with pop11 (and its integrated editor Ved/XVed)
and the other languages can be added in any order as libraries. The
languages can invoke each other because they share a heap and underlying
virtual machine. They have their native syntax because pop11 has a
facility for defining syntactic extensions that is more powerful than
macros: instead of expanding to legal pop11 an added syntax form
can be directly compiled to the underlying virtual machine.

(It's basically quite small run-time system with a lot of autoloadable
libraries: e.g. starting pop11+lisp+ved (the editor) produces a running
image of about 6Mbytes. Invoking the multi-window X-based editor
adds another 3Mbytes or so. Those figures include the incremental
compilers for pop11 and common lisp. Obviously it can grow much bigger
if more libraries are compiled, huge files read into the editor, etc.
Many people prefer using emacs to using the integrated editor and there
is an emacs extension for pop11).

Doing a port requires porting pop11, and then everything else should
just run, as the languages all share a common back-end generator for
machine code.

I've produced a first draft set of steps required for the port here

    http://www.cs.bham.ac.uk/research/poplog/osx-poplog/porting.txt

and may add more information.

If successful this will later merge with the open poplog project
(whose main focus is extending the windows poplog port to include
graphics):
    http://www.cs.bham.ac.uk/research/poplog/openpoplog.html

There is more information about what poplog is, its availability, the
news group, the core language pop11, and a sample of its uses in these
files:
    http://www.cs.bham.ac.uk/research/poplog/poplog.info.html
    http://www.cs.bham.ac.uk/research/poplog/freepoplog.html
    http://www.cs.bham.ac.uk/research/poplog/comp.lang.pop.faq.html
        (News group linked to pop-forum email list)
    http://www.cs.bham.ac.uk/research/poplog/primer/START.html
        (Pop11 primer)
    http://www.cs.bham.ac.uk/research/poplog/packages/simagent.html
    http://www.cs.bham.ac.uk/research/poplog/figs/simagent/
        (movie demos)

Anyone who wants to help with the port may wish to join the
poplog-dev email list. Let me know if you wish to be added.
Alternatively watch the osx-poplog directory for notices,
progress reports, etc.

Aaron
====
Aaron Sloman, ( http://www.cs.bham.ac.uk/~axs/ )
JOBS AVAILABLE: http://www.cs.bham.ac.uk/research/projects/cosy/
PAPERS: http://www.cs.bham.ac.uk/research/cogaff/  (also talks in /talks )
FREE BOOK: http://www.cs.bham.ac.uk/research/cogaff/crp/
FREE TOOLS: http://www.cs.bham.ac.uk/research/poplog/packages/simagent.html