[
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: | Francois Pottier <francois.pottier@i...> |
| Subject: | Re: [Caml-list] Type variables won't generalize |
On Wed, Apr 03, 2002 at 08:37:02PM -0500, Ryan Tarpine wrote: > > I would like to keep the > variant because I don't know what types of data will be stored in that > field, and I don't want to restrict it to a certain set. I would like > modules in the future to be able to store different types without having to > recompile the whole program. That is precisely what you cannot do. If different modules were allowed to store different types into that field, type conflicts could occur. (Imagine one module chooses to write `A of int, and some other module attempts to read `A of int -> int. An integer would be cast into a function, leading to a crash.) In other words, to preserve separate compilation, the compiler forces you to restrict that variant to a certain set by declaring its type. The problem does not arise in the toplevel evaluator (ocaml) because it does not perform separate compilation. -- François Pottier Francois.Pottier@inria.fr http://pauillac.inria.fr/~fpottier/ ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners