Go to Google Groups Home    fa.caml
Re: [Caml-list] parameterized pattern

Martin Jambon <martin1...@laposte.net>

On Mon, 6 Nov 2006, Serge Aleynikov wrote:
> Hi,

> The section 6.6 of OCaml's manual introduces a notion of "Parenthesized
> patterns".

> I couldn't find any examples on how to use this feature, and brute-force
> approach doesn't work:

> # match 1.0 with
>   (y : float)  -> print_float y
> | (s : string) -> print_string s;;
> This pattern matches values of type string
> but is here used to match values of type float
> #

> Could anyone point at a suitable resource?

What you wrote is equivalent to:

match ((1.0 : float) : string) with
    y -> print_float y
  | s -> print_string s

In OCaml, match-with is a test against the structure of a value, not its
type. What you want to do is not currently possible in OCaml.

Martin

--
Martin Jambon, PhD
http://martin.jambon.free.fr

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs