Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] OCaml not automatically specialising a polymorphic function
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ 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