[
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: | Hendrik Tews <tews@t...> |
| Subject: | Re: [Caml-list] Strange output from Camlp4 |
Matt Gushee <matt@gushee.net> writes:
I have a file, ox.ml, whose contents look like this:
let conf = object
val mutable data:(string * string) list = []
method get k = List.assoc k data
end
An immediate object, this is a bit more difficult. Note that the
quotation expander q_MLast contains no rules for immediate
objects. Further, pr_o.ml and pr_r.ml do not contain MLast.ExObj,
the ast constructor for immediate objects, so when pretty
printing an immediate object, you end up with this code:
| e -> fun curr next _ k -> [: `not_impl "expr" e :] ]}];
BTW, that is deliberately a let binding rather than a class definition.
Is that not supposed to work?
I would say yes. You should submit a bug report about it.
To learn about the revised syntax you have to study the parser
pa_r.ml ... or read about what I have found out at
http://wwwtcs.inf.tu-dresden.de/~tews/ocamlp4/camlp4-undoc.html
The translation to revised syntax of your example is as follows:
value conf = object
value mutable data: list (string * string) = [];
method get k = List.assoc k data;
end;
<advertisement>
Why do you need the revised syntax at all? If you just want to
use quotations, you can use quotations in the original syntax,
see http://wwwtcs.inf.tu-dresden.de/~tews/ocamlp4/ocamlp4.html
Version 0.2 does not have immediate objects, but I have done
immediate objects already and I can release it if you need it. I
plan to upgrade to 3.09 as soon as I find some time.
</advertisement/
Feel free to ask more revised (syntax) questions!
Bye,
Hendrik Tews