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 /sml/trunk/src/cm/stable/stabmm.sml
ViewVC logotype

View of /sml/trunk/src/cm/stable/stabmm.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 879 - (download) (annotate)
Thu Jul 19 18:59:38 2001 UTC (18 years, 2 months ago) by blume
File size: 702 byte(s)
extensive organizational changes
(* stabmm.sml
 *
 * (C) 2001 Lucent Technologies, Bell Labs
 *
 * author: Matthias Blume (blume@research.bell-lab.com)
 *)
local
    structure SE = StaticEnv
    structure MI = ModuleId
in
    (* This module implements a "central" modmap for stable libraries.
     * By having only one such map, sharing should be maximized. *)
    signature STAB_MODMAP = sig
	val get : unit -> MI.tmap
	val reset : unit -> unit
	val addEnv : SE.staticEnv -> MI.tmap
    end

    functor StabModmapFn () :> STAB_MODMAP = struct

        val mm = ref MI.emptyTmap

	fun reset () = mm := MI.emptyTmap
	fun get () = !mm

	fun addEnv se = let
	    val m = GenModIdMap.mkMap' (se, !mm)
	in
	    mm := m; m
	end
    end
end

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