Browse thread
Re: [Caml-list] Weird typing problem
- Ching-Tsun Chou
[
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: | Ching-Tsun Chou <ctchou@m...> |
| Subject: | Re: [Caml-list] Weird typing problem |
Being only a beginner, I think it's because in the interpreter the type of the function doesn't need to be "finalized" completely, while in the compiler must *absolutely* have the exact type so it can generate code. In the interpreter, it's fine for the type to be "refined" later on, because it won't be accessed by any outside applications. The compiler can't generate code for functions with arguments of type '_a because that would require the object code to be modified when the function is called for the first time. The code would need to be changed depending on which program called it, since (list_last [2;3]) and (list_last [2.0;3.0]) would have different effects (the first one would make the type of list_last be ints to ints while the second floats to floats). Why can't the compiler just substitute 'a for '_a if '_a can't be resolved? What's wrong with that? Surely O'Caml can handle polymorphism. - Ching Tsun ------------------- 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