Newsgroups: comp.lang.prolog
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!news.mathworks.com!gatech!news.sprintlink.net!demon!uknet!newsfeed.ed.ac.uk!hwcee!andrew
From: andrew@cee.hw.ac.uk (Andrew Dinn)
Subject: Re: speed of prolog
Message-ID: <D9nGnu.L2K@cee.hw.ac.uk>
Sender: news@cee.hw.ac.uk (News Administrator)
Organization: Dept of Computing and Electrical Engineering, Heriot-Watt University
X-Newsreader: TIN [version 1.2 PL2]
References: <3pam2e$9jh@chuangtsu.acns.carleton.edu> <3pptgj$6do@percy.cs.bham.ac.uk> <3ps2ck$hge@hitchcock.dfki.uni-sb.de> <9515210.9197@mulga.cs.mu.OZ.AU>
Date: Sun, 4 Jun 1995 13:11:53 GMT
Lines: 55

Thomas Charles CONWAY (conway@mundil.cs.mu.OZ.AU) wrote:

: First, since we presumably are in agreement that predicate logic
: is am elegant and powerful notation for writing programs, it would
: be nice to use a logic programming language to write software for
: my digital signal processing applications, my operating system,
: and so on. I think it is possible to settle on accepting Prolog
: as being a good tool for a particular group of problems, and to
: miss the oppertunity to bring the power of LP to other problem
: domains.

Whoa! How do you get from the premise

    predicate logic is am elegant and powerful notation for writing
    programs

with which I agree to the conclusion

    it would be nice to use a logic programming language to write
    software for my digital signal processing applications, my
    operating system, and so on

with which I am little inclined to agree?

There are many elegant and powerful notations and some inelegant and
powerful ones too. Some of them work well for describing some kind of
problems, others well for other kinds of problems. Is your inference
based on dogma or hard reasoning? experience or faith? Have you
written any operating system software? digital signal processing
software? and so on?

Logic is a useful notation and the right notation is usually half of
any solution to a problem. But the notation usually needs to be
germane to the problem otherwise the expression of the solution is
clumsy, cluttered and ultimately unclear. The approach you seem to be
advocating is to provide a programming language which implements one
formalism and represent everything using that formalism, however
unclear or complex the representation might turn out.

A better approach is to pick a suitable notation for modelling the
problem in hand and its solution and then implement that model, either
directly in a language which supports the chosen formalism or
indirectly by translating from the chosen formalism to an
implementation language using a translation which is known to preserve
the relevant semantics of the original. The latter approach neither
mandates nor rules out the use of any particular language, even say
somethign as god-awful as C, because what is at stake is not the
robustness of the language per se but the validity of your
translation.


Andrew Dinn
-----------
O alter Duft aus Maerchenzeit / Berauschest wieder meine Sinne
Ein naerrisch Heer aus Schelmerein / Durchschwirrt die leichte Luft
