Browse thread
can anyone replicate this camlp4 problem?
-
Peng Zang
-
Andres Varon
-
Peng Zang
- Peng Zang
- Andres Varon
-
Peng Zang
-
Andres Varon
[
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: | Peng Zang <peng.zang@g...> |
| Subject: | Re: [Caml-list] can anyone replicate this camlp4 problem? |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
I only know of the brute force update which is less than desirable:
class test (x : int) = object
val a = x;
val b = x;
method add (d:int) =
let copy = {<>} in
let arr : int array = Obj.magic copy in
arr.(2) <- arr.(2) + d;
arr.(3) <- arr.(3) + d;
copy
method print = Format.printf "%d %d" a b
end
But my brain is fried and I can't think of a nicer way..
Peng
On Wednesday 25 March 2009 04:15:38 pm Peng Zang wrote:
> Thanks, do you know of a good work around?
>
> Peng
>
> On Wednesday 25 March 2009 04:01:24 pm Andres Varon wrote:
> > On Mar 25, 2009, at 3:55 PM, Peng Zang wrote:
> > > -----BEGIN PGP SIGNED MESSAGE-----
> > > Hash: SHA1
> > >
> > > Hi, camlp4 seems to break parsing of object duplication on 3.11.
> > > Can anyone
> > > replicate this problem? Is this an known issue? A quick google
> > > search did
> > > not reveal anything..
> >
> > Yeah. I reported the bug here:
> >
> > http://caml.inria.fr/mantis/view.php?id=4673
> >
> > Andres
> >
> > > Peng
> > >
> > >
> > > Objective Caml version 3.11.0
> > >
> > > # #use "topfind";;
> > > Findlib has been successfully loaded. Additional directives:
> > > #require "package";; to load a package
> > > #list;; to list the available packages
> > > #camlp4o;; to load camlp4 (standard syntax)
> > > #camlp4r;; to load camlp4 (revised syntax)
> > > #predicates "p,q,...";; to set these predicates
> > > Topfind.reset();; to force that packages will be reloaded
> > > #thread;; to enable threads
> > >
> > > # #camlp4o;;
> > > /home/peng/app-data/godi-3.11/lib/ocaml/std-lib/dynlink.cma: loaded
> > > /home/peng/app-data/godi-3.11/lib/ocaml/std-lib/camlp4: added to
> > > search path
> > > /home/peng/app-data/godi-3.11/lib/ocaml/std-lib/camlp4/camlp4o.cma:
> > > loaded
> > > Camlp4 Parsing version 3.11.0
> > >
> > > # class functional_point x y = object
> > > val x = x
> > > val y = y
> > > method get_x = x
> > > method get_y = y
> > > method move dx dy = {< x = x + dx; y = y + dy >}
> > > end;;
> > > Characters 138-144:
> > > method move dx dy = {< x = x + dx; y = y + dy >}
> > > ^^^^^^
> > > Warning S: this expression should have type unit.
> > > Characters 146-156:
> > > method move dx dy = {< x = x + dx; y = y + dy >}
> > > ^^^^^^^^^^
> > > Error: This expression has type bool but is here used with type int
> > > #
> > > -----BEGIN PGP SIGNATURE-----
> > > Version: GnuPG v2.0.7 (GNU/Linux)
> > >
> > > iD8DBQFJyoxPfIRcEFL/JewRAg8TAKCjoxTmDmfLxVHa7sXq0tGlt2rKDgCgp/C2
> > > nc4vnKWkTvKXeR4Q0z4XB94=
> > > =IwA+
> > > -----END PGP SIGNATURE-----
> > >
> > > _______________________________________________
> > > Caml-list mailing list. Subscription management:
> > > http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
> > > Archives: http://caml.inria.fr
> > > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> > > Bug reports: http://caml.inria.fr/bin/caml-bugs
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.7 (GNU/Linux)
iD8DBQFJypNGfIRcEFL/JewRAtIOAJ9xEOuh4XNivJkjKZZ1uTYmONGzZQCfQAZH
4UBdyDEFCYNJ6wH4ZG8zpzU=
=twIi
-----END PGP SIGNATURE-----