equal
deleted
inserted
replaced
9 fun list_case f1 f2 (a :: lista) = f2 a lista |
9 fun list_case f1 f2 (a :: lista) = f2 a lista |
10 | list_case f1 f2 [] = f1; |
10 | list_case f1 f2 [] = f1; |
11 |
11 |
12 datatype 'a queue = Queue of 'a list * 'a list; |
12 datatype 'a queue = Queue of 'a list * 'a list; |
13 |
13 |
14 val empty : 'a queue = Queue ([], []); |
14 val empty : 'a queue = Queue ([], []) |
15 |
15 |
16 fun dequeue (Queue ([], [])) = (NONE, Queue ([], [])) |
16 fun dequeue (Queue ([], [])) = (NONE, Queue ([], [])) |
17 | dequeue (Queue (xs, y :: ys)) = (SOME y, Queue (xs, ys)) |
17 | dequeue (Queue (xs, y :: ys)) = (SOME y, Queue (xs, ys)) |
18 | dequeue (Queue (v :: va, [])) = |
18 | dequeue (Queue (v :: va, [])) = |
19 let |
19 let |