Browse thread
[Caml-list] mystified by typing of optional arguments
-
Francois Rouaix
- Francois Thomasset
- Ville-Pertti Keinonen
- Eric C. Cooper
- Jacques Carette
- Jacques Garrigue
[
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: | Ville-Pertti Keinonen <will@e...> |
| Subject: | Re: [Caml-list] mystified by typing of optional arguments |
> The following example mystifies me > > let f ?opt x = > match opt with > | None -> x > | Some dx -> x + dx > > let g x = x + 1 > > > let h1 = function > | 0 -> [g] > | _ -> [f; g] > > > let h2 = function > | _ -> [f; g] > > > h1 is typable but not h2. > Why is that ? The type of the list is inferred from the first element of the first instance. Similarly: let x = [ g; f ] (* works *) let x = [ f; g ] (* doesn't work *) let x = [ (f : int -> int); g ] (* works *) ------------------- 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