Newsgroups: comp.lang.prolog,comp.lang.misc
Path: cantaloupe.srv.cs.cmu.edu!bb3.andrew.cmu.edu!nntp.sei.cmu.edu!news.psc.edu!hudson.lm.com!newsfeed.pitt.edu!gatech!howland.reston.ans.net!agate!news.ucdavis.edu!csus.edu!netcom.com!ludemann
From: ludemann@netcom.com (Peter Ludemann)
Subject: Re: continuation-passing models of backtracking
Message-ID: <ludemannDBK1Lt.1Ju@netcom.com>
Organization: NETCOM On-line Communication Services (408 261-4700 guest)
References: <DBEsDE.Jtp@ida.liu.se> <DBI48o.D2p@midway.uchicago.edu>
Date: Tue, 11 Jul 1995 14:01:05 GMT
Lines: 22
Sender: ludemann@netcom2.netcom.com
Xref: glinda.oz.cs.cmu.edu comp.lang.prolog:13449 comp.lang.misc:22260

In article <DBI48o.D2p@midway.uchicago.edu>,
Charles Fiterman  <cef@geodesic.com> wrote:
>In article <DBEsDE.Jtp@ida.liu.se>, Mikael Pettersson <mikpe@ida.liu.se> wrote:
>Leda and Icon both have continuations with a reasonable syntax. I like
>Icon the best. A function can suspend rather than return. In syspending
>it returns a value but allows backtracking. The Icon model of backtracking
>is far better than the Prolog one.

If you're thinking *backtracking*, Icon might be best.  If you're
thinking *declaratively*, Prolog is best.  Prolog people agree that
Prolog's depth-first backtracking model is far from ideal, hence the
interest in constraint languages.  [As to "suspend rather than
return": NU-Prolog allows automatically suspending a predicate's
computation until sufficient data are avaiable.]

The major flaw in Icon is the lack of referential transparency in its
variables.  In effect, Icon provides "pointers" (albeit not quite as
blatantly as C).  Prolog's logical variables are a far cleaner
concept, and can be nicely extended to the constraint model.

-- 
Peter Ludemann                      ludemann@netcom.com
