Version française
Home     About     Download     Resources     Contact us    
Browse thread
Re: Redefinition doesn't work
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Jaeyoun Chung <jay@k...>
Subject: Re: Redefinition doesn't work

[hm. this is quite strange anyway, here's the message that i've posted to
the caml list.]

* "Mattias Waldau" <mattias.waldau@abc.se> at 2000-10-28 09:32+0200
| # let f1 () = 10;;
|   val f1 : unit -> int = <fun>
| # let f2 () = (f1 ()) * 10;;
| val f2 : unit -> int = <fun>
| # f2 ();;
| - : int = 100
| # let f1 () = 20;;
| val f1 : unit -> int = <fun>
| # f2 ();;
| - : int = 100
| #

* Pierre Weis <Pierre.Weis@inria.fr> at 2000-10-28 18:37+0200
| This is not a misfeature, but an extremely desirable property: a sound
| theoretical fundation for the binding rule of identifiers in the
| language. This rule means that every identifier in a program is bound
| before the point of use. This is simple to explain and clear to
| understand. Furthermore it allows the static verification of type
| correctness.

 this is quite true but the above feature for the toplevel is quite useful
 during the development phase. if each time we should redefine everything
 dependent on one function, toplevel isn't quite that useful -- to find out
 the dependencies or just reload everything dependent on the file
 containing the function is what should have be done automatically. what
 about having an option or directive so that user can control the behavior?

 when user redefines some function, isn't it exactly the user's intention
 to redefine all the bindings already defined not only those following that
 redefinition?

-- 
Jaeyoun Chung                       mailto:jay@kldp.org
[see http://emacs.kldp.org for emacs-KR homepage.]