[SCL] REQUEST FOR FEDBACK: core syntax
John F. Sowa
sowa at bestweb.net
Sun Dec 21 20:18:03 CST 2003
Pat, Jay, Tanel, and Murray,
We should give a clear statement of who or what
is expected to read or write the SCL core syntax.
1. If it's intended for people to read and write,
then human readability is essential.
2. If it is intended as an intermediate language
for programs to read and write then simplicity
in the grammar is more important than human
readability.
I have been assuming that SCL core syntax is primarily
intended for computational purposes, and people would
prefer to use many other notations, such as controlled
English (or French, or Estonian, or whatever) or some
other previously designed language, such as infix
predicate calculus, CGs, TMs, UML, or whatever.
Assuming that human readability is not a primary design
requirement for SCL core syntax, then I would recommend
the following design decisions:
1. A preference for a LISP-like (or KIF-like) syntax
for expressions. But this is only a mild preference,
since it is not too difficult to interchange the name
of the relation with the opening parenthesis.
2. Programs are easier to write when there are no
exceptions. Therefore, if we have an explicit
symbol for "or" and "exists", it would be easier
to handle "and" and "forall" in the same way
than to treat them as exceptions.
3. Logically, a constant is simply a name that is
existentially quantified with a global scope
rather than sentence or parenthetical block scope.
Therefore, the presence or absence of a distinction
in the spelling of constants and variables is
irrelevant, because a parser would need to maintain
a symbol table to keep track of the scope of names
(and types with a sorted or restricted notation).
4. Much more important is the question of whether we
want to adopt a unique-name convention: if "abc" and
"def" are two constants with different names, can we
assume that they are distinct, or must we assume
that they could be equal? For theorem provers,
that is a far more significant issue than whether
they are local or global. If we do want to have
a unique-name convention, then we would need some
marker to indicate such names.
John
More information about the SCL
mailing list