Newsgroups: comp.lang.lisp
Path: cantaloupe.srv.cs.cmu.edu!rochester!cornellcs!newsstand.cit.cornell.edu!news.kei.com!newsfeed.internetmci.com!primus.ac.net!news.cais.net!usenet.seri.re.kr!news.imnet.ad.jp!wnoc-tyo-news!wnoc-sfc-news!sfc-keio-news!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 Thu, 4 Jan 1996 19:07:01 GMT
Message-ID: <MAD.96Jan8123523@tanzanite.math.keio.ac.jp>
Sender: news@sfc.keio.ac.jp
Nntp-Posting-Host: tanzanite.nak.math.keio.ac.jp
Reply-To: mad@math.keio.ac.jp
Organization: Faculty of Sci. and Tech., Keio Univ., Yokohama, Japan.
References: <19951215T014159Z@arcana.naggum.no> <4b35de$ilh@goanna.cs.rmit.EDU.AU>
	<MAD.95Dec21180804@tanzanite.math.keio.ac.jp>
	<DKo7rq.Lw4.0.macbeth@cogsci.ed.ac.uk>
Date: Mon, 8 Jan 1996 03:35:22 GMT
Lines: 38

In article <DKo7rq.Lw4.0.macbeth@cogsci.ed.ac.uk> jeff@cogsci.ed.ac.uk (Jeff Dalton) writes:

    jeff> I am not convinced that ISLisp forbids implementations from allowing
    jeff> function redefinition.  What is your textual evidence from the ISLisp
    jeff> definition?

"For each namespace, defining forms can occur at most once for the
same name ..." (Working Draft 15.6; 4.4)

"The binding between function-name and the function object is
immutable." (4.8)

"It is a violation if there is attempt to change an immutable binding
(error-id. immutable-binding)." (1.7)

------------------------------------
Re possibility of ISLisp implementation that allows redefinition:

If an implementation provides read-eval-print loop as primary user
interface and if it allows mutation of immutable bindings, such
feature cannot be regarded as extension to the language.  Rather, it
looks more like an omitted check.  I think such an implementation is
non-conforming because it fails to detect violation.

"An ISLisp processor complying with the requirements of this document
shall ... reject any text that contains any textual usage which this
document explicitly defines to be a violation ..." (1.9)

Special debugger or switches to control the toplevel loop behavior
may be convenient, however.  (Like some C development environment which
allows incremental function redefinition).

				--mad
;;;  Keio University
;;;    Faculty of Science and Technology
;;;      Department of Math
;;;		MAEDA Atusi (MAEDA is my family name)
;;;		mad@math.keio.ac.jp
