diff options
Diffstat (limited to 'src/pair_key_fn.sml')
-rw-r--r-- | src/pair_key_fn.sml | 12 |
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 |