Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!rutgers!iuvax!pur-ee!uiucdcs!uiucdcsm!mccaugh From: mccaugh@uiucdcsm.cs.uiuc.edu Newsgroups: comp.lang.prolog Subject: Prolog Is Semi-Procedural Message-ID: <5500005@uiucdcsm> Date: 28 May 88 06:38:00 GMT Lines: 12 Nf-ID: #N:uiucdcsm:5500005:000:488 Nf-From: uiucdcsm.cs.uiuc.edu!mccaugh May 28 01:38:00 1988 I submit that "prolog" - the so-called "logic-programming" language - is (among other disclaimers) NOT altogether the "declarative" non-procedural language it is advertised to be. Case in point: sum(0,0). sum(N,M) :- N1 = N-1, sum(N1,M1), M = M1+N. In a truly non-procedural (i.e. (I anticipate controversy here) non- deterministic) language, the test: N>0 should not be necessary, and yet (as we know), it must appear to avoid stack-overflow (in CPROLOG, UNSW- PROLOG, anyway).