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/bug905.sml
ViewVC logotype

View of /tests/trunk/bugs/tests.obsolete/bug905.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: 389 byte(s)
(* bug905.sml *)

local val lr = ref []
in
 
  functor F (type t) =
  struct
    exception Empty

    (* t -> unit *)
    fun put (x : t) = lr := [x]
 
    (* unit -> t *)
    fun get () = 
      case !lr of [x] => x | _ => raise Empty
  
  end (* functor F *)

  structure A = F(type t = unit -> unit)
  structure B = F(type t = bool)
 
  val x = B.put true 
  val y = (A.get ()) ()

end

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