[
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: | Martin Jambon <martin_jambon@e...> |
| Subject: | RE: [Caml-list] SML->OCaml |
On Sun, 6 Mar 2005, Harrison, John R wrote: > Does this version do anything about SML programs that violate OCaml's > "uppercase identifier" convention? I recently tried something similar, > and while it did a competent job of parsing most of the syntax of SML, > it just reported errors for SML value bindings starting with an > uppercase letter. It would be nice if it just mapped such names to > "lowercase_XXX" or something so that the result could at least be > compiled. Or is that too "context sensitive" to be easy? [I don't know SML and I am not an expert in Camlp4. And I haven't tried the SML-to-OCaml converter] The converter needs a way to tell whether a given identifier is a type constructor (such as None or Some) or not. Thus the converter needs to remember the accessible type definitions (either from the standard library of SML or from other modules). That is possible, by creating some auxilliary files that contain this information (maybe .cmi files could be parsed but anyway the type definitions have to be analysed during the preprocessing of a file). It doesn't seem to be implemented in pa_sml.ml but a few hundred lines of additional code could do it (or maybe less). There would also be a problem with record fields if several record types use identical names for their fields (using objects is probably not a good idea for simple records). Maybe you could also (1) compile you SML files and (2) use the information contained in the SML equivalent of .cmi files in combination with Camlp4. Martin -- Martin Jambon, PhD Researcher in Structural Bioinformatics since the 20th Century The Burnham Institute http://www.burnham.org San Diego, California