Browse thread
generic data type -> int function
[
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: | Hal Daume III <hdaume@I...> |
| Subject: | generic data type -> int function |
Hi all -- Is there a straightforward way (or a built in function, or...) to automatically map an enumerated data type to integers (and back, if possible, but that's not strictly necessary). In particular, I need something like: type a = A | B | C | D type b = E | F | G type c = H of a | I of b and I would like to automatically have three functions: let a_to_int = function A -> 0 | B -> 1 | C -> 2 | D -> 2 let b_to_int = function E -> 0 | F -> 1 | G -> 2 let c_to_int = function H a -> a_to_int a | I b -> 3 + b_to_int b obviously in this case it's simple, but if now i add a "D2" to 'a', everything gets screwed up. Is there a build in magic function that will do this, or some way to do this otherwis (like with camlp4 or something)? Thanks in advance -- - Hal -- Hal Daume III | hdaume@isi.edu "Arrest this man, he talks in maths." | www.isi.edu/~hdaume