Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] Type inference + optional parameters
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Alain.Frisch@e...
Subject: Re: [Caml-list] Type inference + optional parameters
On Wed, 3 Sep 2003, Jacques Garrigue wrote:

> From: Christoph Bauer <c_bauer@informatik.uni-kl.de>
>
> > ocamls type inference uses information of optionl arguments. This
> > results in a strange behaviour.
>
> Brian Rogoff already answered this one. Do you seriously expect a
> type-safe compiler to simply ignore the type of the default value :-)

I guess the original question is not that naive. It would be possible to
have a type system with an extension like your multimatch, to make the
type of the result of a function depend on the presence/absence of
optional argument.

With a crazy syntax to express conditional unification constraints, you
could write for instance:

do_with_opt_conv: ?conv:('a -> 'b  orelse 'b = 'a) -> 'a -> 'b

meaning that in the absence of the optional argument, the result type
must be unified with the argument type (there are more constraints
when the optional argument is not provided).

Does it make sense ?

-- Alain

-------------------
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