summaryrefslogtreecommitdiff
path: root/src/pair_key_fn.sml
diff options
context:
space:
mode:
authorGravatar Benjamin Barenblat <bbaren@mit.edu>2015-12-23 16:01:51 -0500
committerGravatar Benjamin Barenblat <bbaren@mit.edu>2015-12-23 16:01:51 -0500
commit3d3886672433f0775f772d8d2ee47c5f5e0bc745 (patch)
tree072d171c17d92a6696024256c4b2f5aaa760df35 /src/pair_key_fn.sml
parentbf037ce78c2c76a34ecca0fb8bafa5d5be38968a (diff)
parent4be7962adf740a35222bfd99608c04329a802a04 (diff)
Merge branch 'upstream' into dfsg_clean20151220+dfsg
Diffstat (limited to 'src/pair_key_fn.sml')
-rw-r--r--src/pair_key_fn.sml12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/pair_key_fn.sml b/src/pair_key_fn.sml
new file mode 100644
index 00000000..cd33950d
--- /dev/null
+++ b/src/pair_key_fn.sml
@@ -0,0 +1,12 @@
+functor PairKeyFn (structure I : ORD_KEY
+ structure J : ORD_KEY)
+ : ORD_KEY where type ord_key = I.ord_key * J.ord_key = struct
+
+type ord_key = I.ord_key * J.ord_key
+
+fun compare ((i1, j1), (i2, j2)) =
+ case I.compare (i1, i2) of
+ EQUAL => J.compare (j1, j2)
+ | ord => ord
+
+end