Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] suggestion for record pattern matching and construction
[ 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] suggestion for record pattern matching and construction
 Eric C. Cooper [Wednesday 10 September 2003] :
 >
 > I find that I am often writing code like
 >     { field1 = field1; field2 = field2; field3 = field3 }
 > when matching and constructing records.  I guess it's because thinking
 > up good names for the record fields is nontrivial and having similar
 > but different names for the bindings just bothers me.
 > 
 > How about allowing syntax like that used for labels:
 >     { ~field1; ~field2; ~field3 }
 > would expand into the above, in both pattern matching and construction
 > contexts.

I have a camlp4 extension that does exactly this (well, without 
the ~). Also, you can put the module path before the { instead of
having to repeat it for each field. So :

  Mod1.Mod2.{ field1; field2 } 

is expanded into

  { Mod1.Mod2.field1 = field1 ; Mod1.Mod2.field2 = field2 }

http://oandrieu.nerim.net/ocaml/index.xhtml#pa_records

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