Browse thread
[Caml-list] OCaml not automatically specialising a polymorphic function
- Richard Jones
[
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: | Richard Jones <rich@a...> |
| Subject: | [Caml-list] OCaml not automatically specialising a polymorphic function |
- max3.ml ------------------------------------------------------------ let max a b = if a > b then a else b in print_int (max 2 3);; ---------------------------------------------------------------------- Looking at the assembler, OCaml doesn't work out that "max" has type max : int -> int -> int, and so it generates very inefficient code. This is a bit surprising because (I think) max can't be called from outside the module, and the one place where it is called specifies the type. So I'm guessing here that OCaml doesn't really optimize across functions? Rich. -- Richard Jones. http://www.annexia.org/ http://freshmeat.net/users/rwmj Merjis Ltd. http://www.merjis.com/ - all your business data are belong to you. "I wish more software used text based configuration files!" -- A Windows NT user, quoted on Slashdot. ------------------- 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