Newsgroups: comp.lang.lisp
Path: cantaloupe.srv.cs.cmu.edu!bb3.andrew.cmu.edu!newsfeed.pitt.edu!gatech!swrinde!howland.reston.ans.net!plug.news.pipex.net!pipex!nielsen.co.uk!peer-news.britain.eu.net!newsfeed.ed.ac.uk!edcogsci!jeff
From: jeff@cogsci.ed.ac.uk (Jeff Dalton)
Subject: Re: Immutable function bindings (was Re: ISO/IEC CD 13816 -- ISLisp)
Message-ID: <DLnFM6.Gry.0.macbeth@cogsci.ed.ac.uk>
Organization: Centre for Cognitive Science, Edinburgh, UK
References: <MAD.96Jan8123523@tanzanite.math.keio.ac.jp> <DKz4zA.4Ex.0.macbeth@cogsci.ed.ac.uk> <MAD.96Jan19174555@tanzanite.math.keio.ac.jp>
Date: Tue, 23 Jan 1996 19:32:30 GMT
Lines: 52

In article <MAD.96Jan19174555@tanzanite.math.keio.ac.jp> mad@math.keio.ac.jp writes:
>>>>>> "jeff" == Jeff Dalton <jeff@cogsci.ed.ac.uk> writes:
>In article <DKz4zA.4Ex.0.macbeth@cogsci.ed.ac.uk> jeff@cogsci.ed.ac.uk (Jeff Dalton) writes:
>
>    mad> Re possibility of ISLisp implementation that allows redefinition:
>    mad> 
>    mad> If an implementation provides read-eval-print loop as primary user
>    mad> interface and if it allows mutation of immutable bindings, such
>    mad> feature cannot be regarded as extension to the language.
>
>    jeff> How do you know?  And why does it matter?  Does the standard
>    jeff> even provide for read-eval-print loops.  Does it even contain
>    jeff> eval?
>
>I said "If". 

So?  What says the case you dscribe "cannot be regarded as extension
to the language"?

>    I know that draft standard says nothing about how ISLisp
>programs are executed.
>
>Bruno Haible replied to my previous posting and said that (rougly) an
>implementation can be conforming to the draft standard even if it
>provides a read-eval-print loop that allows function redefinition.

Ok.

>    mad> Rather, it
>    mad> looks more like an omitted check.  I think such an implementation is
>    mad> non-conforming because it fails to detect violation.
>    mad> 
>    mad> "An ISLisp processor complying with the requirements of this document
>    mad> shall ... reject any text that contains any textual usage which this
>    mad> document explicitly defines to be a violation ..." (1.9)
>
>    jeff> There's something weird going on here.  If it's supposed to reject
>    jeff> the text, why is there an error id?
>
>My guess is that the phrase `reject the text' in the draft means
>`detect violation', and error-ids are used to identify both errors and 
>violations.

Identify them to what?

If the ISLisp definition rules out implementations that allow
function definitions, then they've made a mistake and we should
contact our respective national representatives.

-- jd


