Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] AST and "when"
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Olivier Andrieu <andrieu@i...>
Subject: Re: [Caml-list] AST and "when"
 Mike Potanin [Wednesday 29 January 2003] :
 > On Wed, 29 Jan 2003, Olivier Andrieu wrote:
 > >  Mike Potanin [Wednesday 29 January 2003] :
 > > That should be :
 > > <:expr< let p x = match x with [ a when a<0 -> 1 | b -> b ] in p z >>
 > >
 > > AST quotations use the revised syntax.
 > 
 > Thank you!
 > Can I use <:patt< ... >> for this resalt?

I don't think so: in `a when a<0', only the first `a' is a pattern,
the when + expr is part of the `match' (or `try' or `function')
construct which is at the expression level.

 > (MLast.PaLid ((0, 0), "a"),
 >   Some
 >    (MLast.ExApp ((0, 0),
 >      MLast.ExApp ((0, 0), MLast.ExLid ((0, 0), "<"),
 >       MLast.ExLid ((0, 0), "a")),
 >      MLast.ExInt ((0, 0), "0")))

that's not a single pattern (MLast.patt), that's a tuple of type
`MLast.patt * MLast.expr option'

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