| Anonymous | Login | Signup for a new account | 2013-05-24 09:26 CEST | ![]() |
| Main | My View | View Issues | Change Log | Roadmap |
| View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||||
| ID | Project | Category | View Status | Date Submitted | Last Update | ||||||
| 0005818 | OCaml | OCaml typing | public | 2012-11-10 15:03 | 2013-01-04 15:23 | ||||||
| Reporter | tianyicui | ||||||||||
| Assigned To | |||||||||||
| Priority | normal | Severity | major | Reproducibility | always | ||||||
| Status | acknowledged | Resolution | open | ||||||||
| Platform | OS | OS Version | |||||||||
| Product Version | 4.00.1 | ||||||||||
| Target Version | 4.00.2+dev | Fixed in Version | |||||||||
| Summary | 0005818: Function signatures be dropped out from recursive modules within higher order functor | ||||||||||
| Description | The background can be seen from the stackoverflow question (http://stackoverflow.com/questions/13304044/implementing-okasakis-bootstrapped-heaps-in-ocaml-why-doesnt-it-compile [^]), below is a reduced example, in which, it seems the signature of HigherOrderFunctor.Base and HigherOrderFunctor2.Base are the same, but the later will not compile. module type ORDERED = sig type t val compare : t -> t -> int end module type CARRY = sig module M : ORDERED end (* works *) module HigherOrderFunctor (Make : functor (X : ORDERED) -> (CARRY with module M = X)) = struct module rec Base : (ORDERED with type t = string) = String and Other : (CARRY with module M = Base) = Make(Base) end (* does not work *) module HigherOrderFunctor2 (Make : functor (X : ORDERED) -> (CARRY with module M = X)) = struct module rec Base : sig (* 'compare' seems dropped from this signature *) type t = string val compare : t -> t -> int end = String and Other : (CARRY with module M = Base) = Make(Base) end | ||||||||||
| Tags | recmod | ||||||||||
| Attached Files | |||||||||||
Issue History |
|||
| Date Modified | Username | Field | Change |
| 2012-11-10 15:03 | tianyicui | New Issue | |
| 2013-01-04 15:22 | doligez | Tag Attached: recmod | |
| 2013-01-04 15:23 | doligez | Status | new => acknowledged |
| 2013-01-04 15:23 | doligez | Target Version | => 4.00.2+dev |
| Copyright © 2000 - 2011 MantisBT Group |