Re: [Caml-list] can anyone replicate this camlp4 problem?

2009-03-25 Thread Andres Varon


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


___
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


Re: [Caml-list] can anyone replicate this camlp4 problem?

2009-03-25 Thread Peng Zang
-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