[net.lang.prolog] Syntax...

Pereira%SRI-AI@sri-unix.UUCP (05/26/84)

I feel that the recent discussion on Prolog syntax on this Digest has
been less than illuminating, concentrating as it did on obscure points
of Edinburgh Prolog syntax which I'm sure most users have never come
accross. I think the discussion would be better continued in the more
constructive direction suggested by Richard O'Keefe of designing an
interchange format for Prolog programs.  Having had to convert
recently a very large Prolog program from DEC-20 Prolog to Waterloo
Prolog, I feel that such an interchange mechanism would probably be
the one single step that would most improve the cohesion of a
fragmented Prolog world.

Furthermore, syntax is the least of the interchange problems.
Differences in the effect of evaluable predicates, often subtle, are a
much bigger problem, at least judging by my recent experience.  To
make the interchange format really useful, a small kernel of common
evaluable predicates should be defined into which most of the usages
of particular systems could be mapped. Converters to the interchange
format would warn of nonportable constructions (a bit like the Lint
style checker for C).

At first sight, the syntax of Richard's proposed format looks
reasonable. For those who didn't wade through the syntax rules, it is
essentially prefix Polish with every function symbol preceded by its
arity. For those who still remember the old Fortran Marseille Prolog
interpreter, this should bring fond memories of a convoluted
bootstrap process...

-- Fernando