diff options
author | Louis Pilfold <louis@lpil.uk> | 2019-05-10 14:15:26 +0100 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2019-05-10 14:15:26 +0100 |
commit | dd4c4d9e0e45a487f89cf98bfc24855990e4a8a5 (patch) | |
tree | 770a2ba4bdf6f6e36fd9bcd8d6d99fa7ac0b5f7e /src/list.gleam | |
parent | e1f4d26f3ee2e765c87b02c96950c9e0cb1d8bde (diff) | |
download | gleam_stdlib-dd4c4d9e0e45a487f89cf98bfc24855990e4a8a5.tar.gz gleam_stdlib-dd4c4d9e0e45a487f89cf98bfc24855990e4a8a5.zip |
list:range
Diffstat (limited to 'src/list.gleam')
-rw-r--r-- | src/list.gleam | 11 |
1 files changed, 11 insertions, 0 deletions
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)] + } +} |