Newsgroups: | comp.compilers |
From: | sverker@sics.se (Sverker Janson) |
Keywords: | design |
Organization: | Swedish Institute of Computer Science, Kista |
Date: | Tue, 19 Nov 1991 09:55:58 GMT |
I would like to comment on the following statement by Bob Hathaway, as
it is slightly off the point.
>Logic programming solves a very limited domain, that is the domain of
>logic. Is this general purpose? No, it works well with logic. Is this
>the way we solve problems? No, we do poorly with logic and usually
>transcend logic to simply arrive at intelligent solutions to problems
>which may not be solvable with logic at all.
Are you arguing that problem solving with other programming languages is
less formal? Programming is as formal as any logic. Logic programming
languages are based on formal systems with a slightly different flavor than
those of "imperative" languages, a fact that does not make them less general
purpose. There are several nice aspects of logic programming. It is easier
to use formal methods such as data-flow analysis by abstract interpretation
and program transformation by partial evaluation, easier to use
automatic/implicit parallelisation techniques (with very good speed-ups),
better programmer productivity, and compilation technology is slowly
approaching that of C. (There are commercially available systems that are
roughly 3 times slower; there are research implementations that are much
faster).
But more important for you, the idea of logic programming is not opposed to
the idea of object-oriented programming. It is not orthogonal either, on
the contrary it adds to it. Some logic programming languages offer, as host
formalisms for object-oriented extensions, a very attractive approach to
truly concurrent object-oriented programming, which is as parallelisable as
the host logic programming language.
--Sverker
===
Sverker Janson
Swedish Institute of Computer Science, Box 1263, S-164 28 KISTA, SWEDEN
Internet: sverker@sics.se, Tel: +46 8 752 15 72, Fax: +46 8 751 72 30
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.