diff options
author | Ziv Scully <ziv@mit.edu> | 2015-07-19 19:03:11 -0700 |
---|---|---|
committer | Ziv Scully <ziv@mit.edu> | 2015-07-19 19:03:11 -0700 |
commit | bc38beafd07b7ae6106a2fffda82084a08af7f06 (patch) | |
tree | 788e74a4e66ebe79ce8e03c2787c09e0ee529b0f /src/triple_key_fn.sml | |
parent | 03b7950e3639899de788cac8824a0e7f4be8a0bd (diff) |
Rename C functions and remove functors nested inside modules.
Diffstat (limited to 'src/triple_key_fn.sml')
-rw-r--r-- | src/triple_key_fn.sml | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/triple_key_fn.sml b/src/triple_key_fn.sml new file mode 100644 index 00000000..ba77c60b --- /dev/null +++ b/src/triple_key_fn.sml @@ -0,0 +1,15 @@ +functor TripleKeyFn (structure I : ORD_KEY + structure J : ORD_KEY + structure K : ORD_KEY) + : ORD_KEY where type ord_key = I.ord_key * J.ord_key * K.ord_key = struct + +type ord_key = I.ord_key * J.ord_key * K.ord_key + +fun compare ((i1, j1, k1), (i2, j2, k2)) = + case I.compare (i1, i2) of + EQUAL => (case J.compare (j1, j2) of + EQUAL => K.compare (k1, k2) + | ord => ord) + | ord => ord + +end |