From e633c8097059705e3a67c3f56763f794a22b8b3e Mon Sep 17 00:00:00 2001 From: Giacomo Cavalieri Date: Thu, 10 Oct 2024 13:21:29 +0200 Subject: refactor queue --- src/gleam/queue.gleam | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'src') 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 }) } -- cgit v1.2.3