view src/option_key_fn.sml @ 2257:28a541bd2d23

Use referenced (rather than all) free variables as keys for pure caches.
author Ziv Scully <ziv@mit.edu>
date Sun, 27 Sep 2015 14:46:12 -0400
parents e4a7e3cd6f11
children
line wrap: on
line source
functor OptionKeyFn(K : ORD_KEY)
        : ORD_KEY where type ord_key = K.ord_key option = struct

type ord_key = K.ord_key option

val compare =
 fn (NONE, NONE) => EQUAL
  | (NONE, _) => LESS
  | (_, NONE) => GREATER
  | (SOME x, SOME y) => K.compare (x, y)

end