aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLouis Pilfold <louis@lpil.uk>2019-05-10 14:15:26 +0100
committerLouis Pilfold <louis@lpil.uk>2019-05-10 14:15:26 +0100
commitdd4c4d9e0e45a487f89cf98bfc24855990e4a8a5 (patch)
tree770a2ba4bdf6f6e36fd9bcd8d6d99fa7ac0b5f7e /src
parente1f4d26f3ee2e765c87b02c96950c9e0cb1d8bde (diff)
downloadgleam_stdlib-dd4c4d9e0e45a487f89cf98bfc24855990e4a8a5.tar.gz
gleam_stdlib-dd4c4d9e0e45a487f89cf98bfc24855990e4a8a5.zip
list:range
Diffstat (limited to 'src')
-rw-r--r--src/bool.gleam2
-rw-r--r--src/list.gleam11
2 files changed, 12 insertions, 1 deletions
diff --git a/src/bool.gleam b/src/bool.gleam
index d1d9ac4..46cca60 100644
--- a/src/bool.gleam
+++ b/src/bool.gleam
@@ -12,7 +12,7 @@ pub fn negate(bool) {
// | {True, True} -> order:Eq
// | {True, False} -> order:Gt
// | {False, False} -> order:Eq
-// | {False, True} -> order:Gt
+// | {False, True} -> order:Lt
// }
// }
diff --git a/src/list.gleam b/src/list.gleam
index 6bcebb2..dd8fb8a 100644
--- a/src/list.gleam
+++ b/src/list.gleam
@@ -1,3 +1,6 @@
+import int
+import order
+
pub enum Empty =
| Empty
@@ -242,3 +245,11 @@ pub fn sort(list) {
merge_sort(sort(a_list), sort(b_list))
}
}
+
+pub fn range(start, stop) {
+ case int:compare(start, stop) {
+ | order:Eq -> []
+ | order:Gt -> [start | range(start - 1, stop)]
+ | order:Lt -> [start | range(start + 1, stop)]
+ }
+}