diff options
| author | Rose Hogenson <rosehogenson@posteo.net> | 2025-05-16 16:54:17 -0700 |
|---|---|---|
| committer | Rose Hogenson <rosehogenson@posteo.net> | 2025-05-16 16:54:17 -0700 |
| commit | 5582235bd300f8de997192f9109d596d12df4bbe (patch) | |
| tree | d219a6c0a3d96052eec422527cd05775354abf76 /sort.sml | |
| parent | Fix spelling in GenSym (diff) | |
| download | sml-5582235bd300f8de997192f9109d596d12df4bbe.tar.zst | |
Fix spelling of file names
Diffstat (limited to 'sort.sml')
| -rw-r--r-- | sort.sml | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/sort.sml b/sort.sml deleted file mode 100644 index d9a70e9..0000000 --- a/sort.sml +++ /dev/null @@ -1,24 +0,0 @@ -signature SORT = -sig - val sort : ('a * 'a -> order) -> 'a list -> 'a list -end - -structure Sort :> SORT = -struct - fun merge (_ : 'a * 'a -> order) ([] : 'a list) (l2 : 'a list) : 'a list = l2 - | merge _ l1 [] = l1 - | merge cmp (xl as x :: xs) (yl as y :: ys) = - (case cmp (x, y) of - GREATER => y :: merge cmp xl ys - | _ => x :: merge cmp xs yl) - - fun sort (_ : 'a * 'a -> order) ([] : 'a list) : 'a list = [] - | sort _ [x] = [x] - | sort cmp l = - let - val n = length l - val half1 = List.take (l, n div 2) - val half2 = List.drop (l, n div 2) - in merge cmp (sort cmp half1) (sort cmp half2) - end -end |
