* [Caml-list] Error in Camlp4 tutorial?
@ 2003-05-24 18:27 Matt Gushee
2003-05-24 19:18 ` Remi Vanicat
0 siblings, 1 reply; 3+ messages in thread
From: Matt Gushee @ 2003-05-24 18:27 UTC (permalink / raw)
To: caml-list
Hello, all--
I am working through the Camlp4 Tutorial (which, by the way, I find a
very comprehensible treatment of a difficult subject -- thanks to M. de
Rauglaudre!), but I am having trouble with the add_infix function in
section 3.6.
I start the interactive toplevel with the command
$ ocaml camlp4o.cma pa_extend.cmo
Then load the file "gr2.ml," which defines the 'expr' grammar entry (as
far as I can see, it's a faithful copy from section 3.4 of the
tutorial):
# #use "gr2.ml";;
Then I attempt to write the add_infix definition, again, copying
verbatim from the tutorial, but I get the following error:
# let add_infix lev op =
EXTEND
expr: LEVEL $lev$
[ [ x = expr; $op$; y = expr -> <:expr< $lid:op$ $x$ $y$ >> ] ];
^^^^^^^
Unbound quotation: "expr"
Can anyone help me understand what the problem is? Is there an error in
the tutorial, or have a done something wrong?
(P.S.: I don't really understand what '<:expr<' represents. Maybe the
answer would be obvious if I knew that?)
--
Matt Gushee When a nation follows the Way,
Englewood, Colorado, USA Horses bear manure through
mgushee@havenrock.com its fields;
http://www.havenrock.com/ When a nation ignores the Way,
Horses bear soldiers through
its streets.
--Lao Tzu (Peter Merel, trans.)
-------------------
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
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Caml-list] Error in Camlp4 tutorial?
2003-05-24 18:27 [Caml-list] Error in Camlp4 tutorial? Matt Gushee
@ 2003-05-24 19:18 ` Remi Vanicat
2003-05-24 20:15 ` Matt Gushee
0 siblings, 1 reply; 3+ messages in thread
From: Remi Vanicat @ 2003-05-24 19:18 UTC (permalink / raw)
To: caml-list
Matt Gushee <mgushee@havenrock.com> writes:
> Hello, all--
Hello
[...]
> # let add_infix lev op =
> EXTEND
> expr: LEVEL $lev$
> [ [ x = expr; $op$; y = expr -> <:expr< $lid:op$ $x$ $y$ >> ] ];
> ^^^^^^^
> Unbound quotation: "expr"
>
> Can anyone help me understand what the problem is? Is there an error in
> the tutorial, or have a done something wrong?
>
> (P.S.: I don't really understand what '<:expr<' represents. Maybe the
> answer would be obvious if I knew that?)
It would work with
ocaml camlp4o.cma pa_extend.cmo q_MLast.cmo
the <:expr< ... >> things are define in q_MLast.cmo
You should read the documentation about quotation into the camlp4
tutorial.
(well you don't need to know how to define them, but you should know
what they are).
--
Rémi Vanicat
vanicat@labri.u-bordeaux.fr
http://dept-info.labri.u-bordeaux.fr/~vanicat
-------------------
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
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Caml-list] Error in Camlp4 tutorial?
2003-05-24 19:18 ` Remi Vanicat
@ 2003-05-24 20:15 ` Matt Gushee
0 siblings, 0 replies; 3+ messages in thread
From: Matt Gushee @ 2003-05-24 20:15 UTC (permalink / raw)
To: caml-list
On Sat, May 24, 2003 at 09:18:47PM +0200, Remi Vanicat wrote:
> Matt Gushee <mgushee@havenrock.com> writes:
>
> > # let add_infix lev op =
> > EXTEND
> > expr: LEVEL $lev$
> > [ [ x = expr; $op$; y = expr -> <:expr< $lid:op$ $x$ $y$ >> ] ];
> > ^^^^^^^
> > Unbound quotation: "expr"
> >
> > Can anyone help me understand what the problem is? Is there an error in
> > the tutorial, or have a done something wrong?
> >
> > (P.S.: I don't really understand what '<:expr<' represents. Maybe the
> > answer would be obvious if I knew that?)
>
>
> It would work with
> ocaml camlp4o.cma pa_extend.cmo q_MLast.cmo
Well, almost: I've progressed to a type error: the quoted section
apparently evaluates to an int, where MLast.expr is required. Oh, well.
At this point I can usually sort out type errors on my own.
> the <:expr< ... >> things are define in q_MLast.cmo
>
> You should read the documentation about quotation into the camlp4
> tutorial.
Ah, I see. And that comes *after* the part where I'm having trouble. I
still think it's a very good tutorial, but perhaps the sequencing could
be improved a bit.
Anyway, thanks for your help!
--
Matt Gushee When a nation follows the Way,
Englewood, Colorado, USA Horses bear manure through
mgushee@havenrock.com its fields;
http://www.havenrock.com/ When a nation ignores the Way,
Horses bear soldiers through
its streets.
--Lao Tzu (Peter Merel, trans.)
-------------------
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
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2003-05-24 20:15 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-05-24 18:27 [Caml-list] Error in Camlp4 tutorial? Matt Gushee
2003-05-24 19:18 ` Remi Vanicat
2003-05-24 20:15 ` Matt Gushee
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox