summaryrefslogtreecommitdiffstats
path: root/sort.sml
diff options
context:
space:
mode:
authorRose Hogenson <rosehogenson@posteo.net>2025-05-16 16:54:17 -0700
committerRose Hogenson <rosehogenson@posteo.net>2025-05-16 16:54:17 -0700
commit5582235bd300f8de997192f9109d596d12df4bbe (patch)
treed219a6c0a3d96052eec422527cd05775354abf76 /sort.sml
parentFix spelling in GenSym (diff)
downloadsml-5582235bd300f8de997192f9109d596d12df4bbe.tar.zst
Fix spelling of file names
Diffstat (limited to 'sort.sml')
-rw-r--r--sort.sml24
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