Newsgroups: comp.lang.prolog
Path: cantaloupe.srv.cs.cmu.edu!bb3.andrew.cmu.edu!nntp.sei.cmu.edu!news.psc.edu!hudson.lm.com!news.math.psu.edu!news.ems.psu.edu!news.cac.psu.edu!newsserver.jvnc.net!news.caren.net!news.join.ad.jp!news.imnet.ad.jp!usenet.seri.re.kr!news.dacom.co.kr!newsfeed.internetmci.com!news.sprintlink.net!news.ecrc.de!ecrc!news
From: micha@ecrc.de (Micha Meier)
Subject: Re: Smalltalk vs Prolog
Message-ID: <DIqx8v.Ix3@ecrc.de>
Sender: news@ecrc.de
Reply-To: micha@ecrc.de
Organization: European Computer-Industry Research Centre
References: <48v85u$o7e@pcnet2.pcnet.net>
Date: Tue, 28 Nov 1995 09:05:19 GMT
Lines: 20

In article o7e@pcnet2.pcnet.net, Terry Montlick <75260.2606@compuserve.com> writes:
> You missed the most fundamental difference between the languages.
> 
> Prolog is a declarative language.  You declare facts (via predicates) 
> and rules which are nonprocedural in form -- Prolog does the rest in 
> trying to automatically achieve goals via the program you have declared.

Although normal Prolog has this declarative reading, it has also a procedural
reading and it is the latter that is being used by many programmers.
It is hence not a fundamental difference. When it comes to Prolog
with coroutining or with constraints, the situation drastically
changes because then you have to rely on the declarative reading
because the operational one is too complex.

The main features of Prolog are logical variables, unification and backtracking
and there you may talk about fundamental differences.

--Micha


