Article View: comp.lang.prolog
Article #3214Re: Prolog as a "real" language
From: Richard A. O'Keefe
Date: Thu, 07 Apr 1988 00:47
Date: Thu, 07 Apr 1988 00:47
35 lines
2606 bytes
2606 bytes
In article <1315@hubcap.UUCP>, steve@hubcap.UUCP ("Steve" Stevenson) writes:
> If you insist that arrays are not legitimate, then how will you
> address mathematics? I have had several numerical types who say
> they really like the idea of prolog, but no arrays makes it impossible
> to consider "numerical logic programming." Let's pull together, folks.
(1) Mathematics and numerical programming are not co-extensive.
(2) If by "arrays" one means the rectangular structures found in Fortran
and Pascal, bear in mind that large-scale numerical programming is
to a large extent a matter of fighting around the limitations of
such arrays (band matrices, triangular matrices, sparse matrix
packages, generalised upper bounding, ...)
(3) "Arrays" covers two things: constant-time *access* to large
collections of data, and constant-time *update* of such collections.
There's no reason why something like Trilogy couldn't be extended
with the computational parts of APL.
(4) The same absence of constant-time update is to be found in functional
languages such as ML. Does this mean that it is 'impossible to
consider "numerical functional programming"'?
(5) It turns out that assignment to individual array elements is one of
the principal reasons for there being so little potential parallelism
in Fortran programs. There was a study which claimed to show that if
you were prepared to build new arrays instead of copying old ones you
could get 700-fold parallelism rather than 7-fold. (This is not an
argument _for_ logic programming, just an argument _against_ blind
faith in current practice.)
Something I would like to do, if only I could find the time, is to write
a linear programming routine in Prolog. I've done it before in a
conventional language. The key to efficiency was the use of a particular
sparse matrix representation. I believe that a couple of lists of lists
of pairs will be an adequate Prolog encoding of the data structure.
Would it not be more profitable for the "numerical types" to provide
specific examples which they think cannot be done efficiently in Prolog
or ML, rather than to refuse to consider it?
Technical Details
Message-ID:
<855@cresswell.quintus.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!mnetor!uunet!seismo!sundc!pitstop!sun!quintus!okReferences:
<1926@ubc-cs.UUCP> <1315@hubcap.UUCP>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!seismo!sundc!pitstop!sun!quintus!ok From: ok@quintus.UUCP (Richard A. O'Keefe) Newsgroups: comp.lang.prolog Subject: Re: Prolog as a "real" language Message-ID: <855@cresswell.quintus.UUCP> Date: 7 Apr 88 00:47:04 GMT References: <1926@ubc-cs.UUCP> <1315@hubcap.UUCP> Organization: Quintus Computer Systems, Mountain View, CA Lines: 35