Article View: comp.lang.prolog
Article #2735Re: Prolog terminology
From: Saumya Debray
Date: Thu, 30 Jul 1987 15:35
Date: Thu, 30 Jul 1987 15:35
50 lines
2844 bytes
2844 bytes
In article <505@ivax.doc.ic.ac.uk>, cdsm@doc.ic.ac.uk (Chris Moss) writes:
> We would like to encourage some discussion of standardization issues
> on the net. [...] This is the terminology to be adopted in standard Prolog.
----------
> argument A term which is associated with a literal or compound
> term.
"associated" seems rather vague here. E.g. I'd argue that if T2 is
a subterm of T1, then T1 is associated with T2 just as much as T2 is
associated with T1. I'd rather say something like "if p is an n-ary
predicate symbol and L = p(t1, ..., tn) a literal, then the terms
t1, ..., tn are the arguments to L; if f is an n-ary function symbol ..."
----------
> atom One of a set of unstructured objects whose only
> property is that equality of two elements can be determined.
Prolog's usage of the term "atom" has often bothered me, because standard
texts on logic typically define an atom to be a literal p(t1,..., tn).
I'd prefer to have Prolog's usage of "atom" replaced by "constant" (i.e.
0-ary function symbol). That would also do away with any need to
explain what it means for an object to be "structured". (Of course,
given established Prolog usage, I expect the atomic ambiguity will
live on!)
----------
> built-in predicate A procedure whose definition is part of the
> Prolog system. NOTE - A built-in predicate cannot be redefined.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
I have trouble with this one: surely this depends on the implementation?
E.g. in SB-Prolog, most built-in predicates *can* be redefined.
Also, what does it mean to be "part of the Prolog system"? Do libraries
count?
----------
> goal A literal, or a disjunction or conjunction of goals.
There should be some provision for negation.
----------
> substitution A mapping from variables to terms. By
> extension a substitution acts on a term by acting on each
> variable in the term.
I like my substitutions idempotent, i.e. "fully dereferenced", but
this might be a matter of taste. It does simplify things elsewhere,
though: "repeated applications" of substitutions become unnecessary.
----------
--
Saumya Debray CS Department, University of Arizona, Tucson
internet: debray@arizona.edu
uucp: {allegra, cmcl2, ihnp4} !arizona!debray
Technical Details
Message-ID:
<1839@megaron.arizona.edu>Path:
arc1-ca.pugleaf.net!utzoo!mnetor!uunet!seismo!rutgers!sunybcs!boulder!hao!noao!arizona!debrayReferences:
<505@ivax.doc.ic.ac.uk>Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!seismo!rutgers!sunybcs!boulder!hao!noao!arizona!debray From: debray@arizona.edu (Saumya Debray) Newsgroups: comp.lang.prolog Subject: Re: Prolog terminology Message-ID: <1839@megaron.arizona.edu> Date: Thu, 30-Jul-87 11:35:05 EDT Article-I.D.: megaron.1839 Posted: Thu Jul 30 11:35:05 1987 Date-Received: Sat, 1-Aug-87 10:27:32 EDT References: <505@ivax.doc.ic.ac.uk> Organization: U of Arizona CS Dept, Tucson Lines: 50