1 (* Copyright (C) 1999-2006 Henry Cejtin, Matthew Fluet, Suresh
2 * Jagannathan, and Stephen Weeks.
4 * MLton is released under a BSD-style license.
5 * See the file MLton-LICENSE for details.
8 signature ORDER_ENV_STRUCTS =
10 structure Domain: ORDER
15 functor SplayMonoEnv(S:ORDER_ENV_STRUCTS): MONO_ENV =
19 structure E = SplayMapFn(type ord_key = Domain.t
20 val compare = Domain.compare)
22 type t = Range.t E.map
23 fun extend(env, d, r) = E.insert(env, d, r)
24 fun fromList l = List.fold(l, E.empty, fn ((d, r), env) =>
26 val toList = E.listItemsi