Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] View of /tests/trunk/bugs/tests.obsolete/bug161.sml
ViewVC logotype

View of /tests/trunk/bugs/tests.obsolete/bug161.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2460 - (download) (annotate)
Sat Apr 28 20:18:10 2007 UTC (12 years, 1 month ago) by gkuan
File size: 981 byte(s)
(* bug161.sml *)
(* nested functor calls *)

signature SIG =
    sig type t
    end;

functor F(X : SIG) : SIG
    = struct type t = X.t
      end;

(* Replacing output signature by its definition: no problem *)
functor F'(X : SIG) : sig type t end
    = struct type t = X.t
      end;

functor G(X : SIG) : SIG
    = struct type t = X.t
      end;

functor H(X : SIG) : SIG = G(F(X));

(* Replacing output signature by its definition: fails with exception Bind *)
functor H'(X : SIG) : sig type t end = G(F(X));
signature SIG =
    sig type t
    end;

functor F(X : SIG) : SIG
    = struct type t = X.t
      end;

(* Replacing output signature by its definition: no problem *)
functor F'(X : SIG) : sig type t end
    = struct type t = X.t
      end;

functor G(X : SIG) : SIG
    = struct type t = X.t
      end;

functor H(X : SIG) : SIG = G(F(X));

(* Replacing output signature by its definition: fails with exception Bind *)
functor H'(X : SIG) : sig type t end = G(F(X));

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0