-----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----- _______________________________________________ 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