Newsgroups: comp.lang.prolog
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!news.mathworks.com!uunet!in1.uu.net!munnari.oz.au!cs.mu.OZ.AU!munta.cs.mu.OZ.AU!fjh
From: fjh@munta.cs.mu.OZ.AU (Fergus Henderson)
Subject: Re: Otherwise?
Message-ID: <9505706.24724@mulga.cs.mu.OZ.AU>
Sender: news@cs.mu.OZ.AU (CS-Usenet)
Organization: Computer Science, University of Melbourne, Australia
References: <3iim59$nks@lightning.ditc.npl.co.uk>
Date: Sat, 25 Feb 1995 19:15:14 GMT
Lines: 25

rss@seg.npl.co.uk (Roger Scowen) writes:

>fjh@munta.cs.mu.OZ.AU (Fergus Henderson) replied:
>> Well, you can certainly call it dangerous, but I don't think it's
>> fair to call it strange.  NU-Prolog's meaning is the one you would
>> expect for mathematical implication (except that it doesn't delay).
>> The standard Prolog meaning could equally well be described as strange,
>> since it uses a standard mathematical symbol in a non-standard way.
>
>ISO/IEC 13211-1 (Prolog -- Part 1: General core) defines a goal
>   (If -> Then) 
>as failing when If fails. This decision was taken so as to (1) be compatible 
>with existing Edinburgh Prolog systems, and (2) fit in with the notations 
>   (Either ; Or)
>and
>   (If -> Then ; Else).

Just to clarify my position a little - I think the Prolog committee
certainly made the right choice here.  But life would have been
easier if the Edinburgh people had made a different choice in the
first place, such as (if ... then ... else ...) or (If ? Then : Else).

-- 
Fergus Henderson - fjh@munta.cs.mu.oz.au
all [L] (programming_language(L), L \= "Mercury") => better("Mercury", L) ;-)
