Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bug in ocaml 3.06 #7987

Closed
vicuna opened this issue Jan 5, 2003 · 2 comments
Closed

bug in ocaml 3.06 #7987

vicuna opened this issue Jan 5, 2003 · 2 comments
Labels

Comments

@vicuna
Copy link

vicuna commented Jan 5, 2003

Original bug ID: 1514
Reporter: administrator
Status: closed
Resolution: fixed
Priority: normal
Severity: minor
Category: ~DO NOT USE (was: OCaml general)

Bug description

Here's a little bug. The source-file "bug1.ml" is attached last. In
the real file which elicited this symptom, of course, there were no
universally-quantified variables. Every variable was of some ground
type.

At some point, I might go dig into the toplevel and find this puppy,
but on the off chance that I do not, I figured I should report it.

Cheers,
--chet--

bismarck:~/fs/TOOLS2/src/rdf> ocaml
Objective Caml version 3.06

#use "bug1.ml";;

val ntconv_node : 'a -> 'b -> unit list =
val ntconv_edge : 'a -> 'b -> 'c -> 'd =

#trace ntconv_edge;;

ntconv_edge is not a function.

================================================================
bismarck:/fs/TOOLS2/src/rdf> cat /proc/cupinfo
cat: /proc/cupinfo: No such file or directory
bismarck:
/fs/TOOLS2/src/rdf> cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 11
model name : Intel(R) Pentium(R) III Mobile CPU 1200MHz
stepping : 1
cpu MHz : 799.331
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse
bogomips : 1595.80

bismarck:~/fs/TOOLS2/src/rdf> uname -a
Linux bismarck.chet.org 2.4.16 #1 Wed Aug 28 01:02:27 EDT 2002 i686 unknown

let rec ntconv_node stk e =
(assert false : unit list)

and ntconv_edge stk subj = function
_ -> assert false

@vicuna
Copy link
Author

vicuna commented Jan 9, 2003

Comment author: administrator

Hi Chet,

Here's a little bug. The source-file "bug1.ml" is attached last. In
the real file which elicited this symptom, of course, there were no
universally-quantified variables. Every variable was of some ground
type.

Yes, #trace on mutually-recursive functions is broken in 3.06.
It's fixed in the working sources, and a patch against 3.06 is below.

Cheers,

  • Xavier

RCS file: /net/pauillac/caml/repository/csl/toplevel/topdirs.ml,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -r1.59 -r1.60
--- topdirs.ml 2002/11/17 16:42:11 1.59
+++ topdirs.ml 2002/11/18 13:49:44 1.60
@@ -215,7 +215,9 @@
| _ ->
let clos = eval_path path in
(* Nothing to do if it's not a closure *)

  •    if Obj.is_block clos && Obj.tag clos = Obj.closure_tag then begin
    
  •    if Obj.is_block clos
    
  •    && (Obj.tag clos = Obj.closure_tag || Obj.tag clos = Obj.infix_tag)
    
  •    then begin
       match is_traced clos with
       | Some opath ->
           fprintf ppf "%a is already traced (under the name %a).@."
    

@vicuna
Copy link
Author

vicuna commented Jan 9, 2003

Comment author: administrator

Fixed 2002/11/18 by XL

@vicuna vicuna closed this as completed Jan 9, 2003
@vicuna vicuna added the bug label Mar 19, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant