Skip to content

Commit dfd1516

Browse files
committed
Deprecated gleam/queue
1 parent 55aa559 commit dfd1516

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Changelog
22

3+
## v0.44.0 - Unreleased
4+
5+
- The `gleam/queue` module has been deprecated in favour of the `gleam_deque`
6+
package.
7+
38
## v0.43.0 - 2024-11-17
49

510
- `BytesBuilder` is now an alias of `BytesTree`.

src/gleam/queue.gleam

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,14 @@ import gleam/list
1313
/// may return surprising results, and the `is_equal` and `is_logically_equal`
1414
/// functions are the recommended way to test queues for equality.
1515
///
16+
@deprecated("Please use the gleam_deque package instead")
1617
pub opaque type Queue(a) {
1718
Queue(in: List(a), out: List(a))
1819
}
1920

2021
/// Creates a fresh queue that contains no values.
2122
///
23+
@deprecated("Please use the gleam_deque package instead")
2224
pub fn new() -> Queue(a) {
2325
Queue(in: [], out: [])
2426
}
@@ -35,6 +37,7 @@ pub fn new() -> Queue(a) {
3537
/// // -> 3
3638
/// ```
3739
///
40+
@deprecated("Please use the gleam_deque package instead")
3841
pub fn from_list(list: List(a)) -> Queue(a) {
3942
Queue(in: [], out: list)
4043
}
@@ -51,6 +54,7 @@ pub fn from_list(list: List(a)) -> Queue(a) {
5154
/// // -> [1, 2]
5255
/// ```
5356
///
57+
@deprecated("Please use the gleam_deque package instead")
5458
pub fn to_list(queue: Queue(a)) -> List(a) {
5559
queue.out
5660
|> list.append(list.reverse(queue.in))
@@ -77,6 +81,7 @@ pub fn to_list(queue: Queue(a)) -> List(a) {
7781
/// // -> False
7882
/// ```
7983
///
84+
@deprecated("Please use the gleam_deque package instead")
8085
pub fn is_empty(queue: Queue(a)) -> Bool {
8186
queue.in == [] && queue.out == []
8287
}
@@ -103,6 +108,7 @@ pub fn is_empty(queue: Queue(a)) -> Bool {
103108
/// // -> 2
104109
/// ```
105110
///
111+
@deprecated("Please use the gleam_deque package instead")
106112
pub fn length(queue: Queue(a)) -> Int {
107113
list.length(queue.in) + list.length(queue.out)
108114
}
@@ -116,6 +122,7 @@ pub fn length(queue: Queue(a)) -> Int {
116122
/// // -> [1, 2, 3]
117123
/// ```
118124
///
125+
@deprecated("Please use the gleam_deque package instead")
119126
pub fn push_back(onto queue: Queue(a), this item: a) -> Queue(a) {
120127
Queue(in: [item, ..queue.in], out: queue.out)
121128
}
@@ -129,6 +136,7 @@ pub fn push_back(onto queue: Queue(a), this item: a) -> Queue(a) {
129136
/// // -> [1, 0, 0]
130137
/// ```
131138
///
139+
@deprecated("Please use the gleam_deque package instead")
132140
pub fn push_front(onto queue: Queue(a), this item: a) -> Queue(a) {
133141
Queue(in: queue.in, out: [item, ..queue.out])
134142
}
@@ -161,6 +169,7 @@ pub fn push_front(onto queue: Queue(a), this item: a) -> Queue(a) {
161169
/// // -> Error(Nil)
162170
/// ```
163171
///
172+
@deprecated("Please use the gleam_deque package instead")
164173
pub fn pop_back(from queue: Queue(a)) -> Result(#(a, Queue(a)), Nil) {
165174
case queue {
166175
Queue(in: [], out: []) -> Error(Nil)
@@ -200,6 +209,7 @@ pub fn pop_back(from queue: Queue(a)) -> Result(#(a, Queue(a)), Nil) {
200209
/// // -> Error(Nil)
201210
/// ```
202211
///
212+
@deprecated("Please use the gleam_deque package instead")
203213
pub fn pop_front(from queue: Queue(a)) -> Result(#(a, Queue(a)), Nil) {
204214
case queue {
205215
Queue(in: [], out: []) -> Error(Nil)
@@ -233,6 +243,7 @@ pub fn pop_front(from queue: Queue(a)) -> Result(#(a, Queue(a)), Nil) {
233243
/// // -> [2, 1]
234244
/// ```
235245
///
246+
@deprecated("Please use the gleam_deque package instead")
236247
pub fn reverse(queue: Queue(a)) -> Queue(a) {
237248
Queue(in: queue.out, out: queue.in)
238249
}
@@ -248,6 +259,7 @@ pub fn reverse(queue: Queue(a)) -> Queue(a) {
248259
/// This function runs in linear time multiplied by the time taken by the
249260
/// element equality checking function.
250261
///
262+
@deprecated("Please use the gleam_deque package instead")
251263
pub fn is_logically_equal(
252264
a: Queue(a),
253265
to b: Queue(a),
@@ -285,6 +297,7 @@ fn check_equal(
285297
///
286298
/// This function runs in linear time.
287299
///
300+
@deprecated("Please use the gleam_deque package instead")
288301
pub fn is_equal(a: Queue(a), to b: Queue(a)) -> Bool {
289302
check_equal(a.out, a.in, b.out, b.in, fn(a, b) { a == b })
290303
}

0 commit comments

Comments
 (0)