[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Mattias Waldau <mattias.waldau@a...> |
| Subject: | Redefinition doesn't work |
One of the reason of me liking OCaml is the interactive top level. However, it is a bit messy always remember to redefine all functions that depend of the function you just corrected. For example below, f2 doesn't notice the redefinition of f1, even if the types of the new and old definition of f1 are the same. The last language I used that had this feature was Forth, and that was 20 years ago, we used 8Kb of memory and a 6502. These 8 Kb contained both the interactive compiler, the program, and the data. What is the reason for this misfeature? # 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 # ---- Mattias Waldau