diff options
author | Giacomo Cavalieri <giacomo.cavalieri@icloud.com> | 2024-10-10 13:21:29 +0200 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2024-10-10 15:06:25 +0100 |
commit | e633c8097059705e3a67c3f56763f794a22b8b3e (patch) | |
tree | 1316c2212a5c43b0c40d9d64756a9a8ab596e876 /src | |
parent | b941cf2f345f7d06a39deafa36a0a05b4983160b (diff) | |
download | gleam_stdlib-e633c8097059705e3a67c3f56763f794a22b8b3e.tar.gz gleam_stdlib-e633c8097059705e3a67c3f56763f794a22b8b3e.zip |
refactor queue
Diffstat (limited to 'src')
-rw-r--r-- | src/gleam/queue.gleam | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/gleam/queue.gleam b/src/gleam/queue.gleam index 20a0e6b..62e62a8 100644 --- a/src/gleam/queue.gleam +++ b/src/gleam/queue.gleam @@ -13,8 +13,8 @@ import gleam/list /// may return surprising results, and the `is_equal` and `is_logically_equal` /// functions are the recommended way to test queues for equality. /// -pub opaque type Queue(element) { - Queue(in: List(element), out: List(element)) +pub opaque type Queue(a) { + Queue(in: List(a), out: List(a)) } /// Creates a fresh queue that contains no values. @@ -238,11 +238,11 @@ pub fn reverse(queue: Queue(a)) -> Queue(a) { } fn check_equal( - xs: List(t), - x_tail: List(t), - ys: List(t), - y_tail: List(t), - eq: fn(t, t) -> Bool, + xs: List(a), + x_tail: List(a), + ys: List(a), + y_tail: List(a), + eq: fn(a, a) -> Bool, ) -> Bool { case xs, x_tail, ys, y_tail { [], [], [], [] -> True @@ -269,9 +269,9 @@ fn check_equal( /// element equality checking function. /// pub fn is_logically_equal( - a: Queue(t), - to b: Queue(t), - checking element_is_equal: fn(t, t) -> Bool, + a: Queue(a), + to b: Queue(a), + checking element_is_equal: fn(a, a) -> Bool, ) -> Bool { check_equal(a.out, a.in, b.out, b.in, element_is_equal) } @@ -285,6 +285,6 @@ pub fn is_logically_equal( /// /// This function runs in linear time. /// -pub fn is_equal(a: Queue(t), to b: Queue(t)) -> Bool { +pub fn is_equal(a: Queue(a), to b: Queue(a)) -> Bool { check_equal(a.out, a.in, b.out, b.in, fn(a, b) { a == b }) } |