[net.lang.prolog] Transport Syntax

Shebs%UTAH-20@sri-unix.UUCP (07/10/84)

From:  Stan Shebs <Shebs@UTAH-20>

YES!  Although I don't care much for the idea of a transport syntax
parser written in C or Pascal (some of us are trying to avoid those
low-level languages altogether!).  Why not set up a DCG for the
transport syntax, then have implementors translate to the syntax for
their implementation?  A version in DEC-10 Prolog could be supplied
as an example, to be hacked as necessary.  The problem I see with a
C version is that it will be horribly gross and almost certainly
incorrect. Since Prolog is such a wonderful language, it should be
quite easy to take the transport syntax DCG, produce a parser, and
load it on top ofan implementation, and either use it directly in a
"compatibility mode", or compile code in transport syntax into the
implementation's syntax.

Aside: most Lisps can be set up to read each other's syntax with only
a small amount of work on readmacros, etc.  In fact, PSL's reader is
built using a YACC lookalike and rules for parsing s-expressions,
so *none* of the syntax is wired in.

Another aside: I don't like CGOL.  Actually, I don't care much for
Interlisp as a whole; it's a prime example of grotesque hackery
that Prologers would do well to beware of (experience has already
shown that nasty Prolog hacks are just as prevalent as in any
other language)...

-- Stan Shebs

O'KeefeHPS@sri-unix.UUCP (09/09/84)

From:  O'Keefe HPS (on ERCC DEC-10)

I have now patched all the holes I could find in my previous
proposal on this topic, written it up, and given some examples.
By the time you read this, the paper should be available in the
Prolog library (as TRANSPORT.MSS).

If you care about moving code between different Prolog dialects,
please read this paper and send your comments to me or the
Digest or both.  The paper is just my opinion, and if you think
there's a gaping hole in it you may well be right.  To be of any
use, we have to agree about transport syntax, and now is the
time to do it.

Don't take the fact that the transport syntax looks vaguely like
LM-Prolog as an endorsement of anything but DEC-10 syntax for
human consumption.  The transport syntax I've come up with is
(I think) trivial to parse, makes all the necessary distinctions,
and has a hundred other virtues, but I don't **like** it.