aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiacomo Cavalieri <giacomo.cavalieri@icloud.com>2024-10-10 13:21:29 +0200
committerLouis Pilfold <louis@lpil.uk>2024-10-10 15:06:25 +0100
commite633c8097059705e3a67c3f56763f794a22b8b3e (patch)
tree1316c2212a5c43b0c40d9d64756a9a8ab596e876
parentb941cf2f345f7d06a39deafa36a0a05b4983160b (diff)
downloadgleam_stdlib-e633c8097059705e3a67c3f56763f794a22b8b3e.tar.gz
gleam_stdlib-e633c8097059705e3a67c3f56763f794a22b8b3e.zip
refactor queue
-rw-r--r--src/gleam/queue.gleam22
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 })
}