On Mon, Sep 12, 2011 at 14:56, Andrej Bauer <[email protected]> wrote: > Would anyone wish to comment on this particular "feature" of toplevel? > > > Objective Caml version 3.12.1 > > # let a = 12 ;; I CAN PUT ANY GARBAGE HERE AND IT GETS IGNORED > val a : int = 12 >
It is a bug when you want to enter multiple statements, like in: # let a = 12;; a + 30;; val a : int = 12 But it is a feature when you want to use the toplevel as a way to comment on what you are doing # let prod x = List.fold_left (fun x y -> x*y) 1 x;; DEAR STUDENTS, USE THIS DEFINITION TO DEFINE THE FACTORIAL FUNCTION where the helpful feature of the top level makes it easier for the student to just paste the whole line into the top level (except for the # at the beginning, you can't have everything, can you?). To conclude: It is a bug and a feature at the same time. Which is quite peculiar, since it does not have mutual exclusivity in this case (contrast to evaluation order where there is a right and a wrong one, your mileage may vary - but you can't have both at the same time for the same expression, though you can have both at different times for the same expression :). -- J. -- Caml-list mailing list. Subscription management and archives: https://sympa-roc.inria.fr/wws/info/caml-list Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs
