Newsgroups: comp.lang.lisp
Path: cantaloupe.srv.cs.cmu.edu!bb3.andrew.cmu.edu!newsfeed.pitt.edu!gatech!newsfeed.internetmci.com!uwm.edu!lll-winken.llnl.gov!venus.sun.com!wnoc-sfc-news!kogwy!math-keio!mad
From: mad@math.keio.ac.jp (MAEDA Atusi)
Subject: Re: Immutable function bindings (was Re: ISO/IEC CD 13816 -- ISLisp)
In-Reply-To: jeff@cogsci.ed.ac.uk's message of Wed, 10 Jan 1996 16:40:22 GMT
Message-ID: <MAD.96Jan19174555@tanzanite.math.keio.ac.jp>
Sender: news@math.keio.ac.jp
Nntp-Posting-Host: tanzanite
Reply-To: mad@math.keio.ac.jp
Organization: Faculty of Sci. and Tech., Keio Univ., Yokohama, Japan.
References: <MAD.95Dec21180804@tanzanite.math.keio.ac.jp>
	<DKo7rq.Lw4.0.macbeth@cogsci.ed.ac.uk>
	<MAD.96Jan8123523@tanzanite.math.keio.ac.jp>
	<DKz4zA.4Ex.0.macbeth@cogsci.ed.ac.uk>
Date: Fri, 19 Jan 1996 08:45:54 GMT
Lines: 37

>>>>> "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".  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.
(Sorry, I didn't save his article.)

    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.

				--mad
