[
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: | bluestorm <bluestorm.dylc@g...> |
| Subject: | Re: [Caml-list] Converting variants with only constant constructors to integers |
2010/6/7 W Dan Meyer <wojciech.meyer@googlemail.com> > I can imagine you could use an association list, function with pattern > matching, code generation tool (based on CamlP4), etc. I wrote a type-conv ( http://www.ocaml.info/home/ocaml_sources.html#type-conv ) generator for just that a few years ago : http://bluestorm.info/camlp4/ty_enum_to_int.ml.html Example use : type test = | A | B | C | D of bool with to_int Generated functions : let test_to_int = function | A -> 0 | B -> 1 | C -> 2 | D _ -> 3 let test_of_int = function | 0 -> A | 1 -> B | 2 -> C | 3 -> failwith "can't convert to a constructor with parameters: D" | _ -> invalid_argument "test_of_int"