Library zoo_std.deque__code
From zoo Require Import
prelude.
From zoo.language Require Import
typeclasses
notations.
From zoo_std Require Import
xdeque.
From zoo_std Require Import
deque__types.
From zoo Require Import
options.
Definition deque٠create : val :=
xdeque٠create.
Definition deque٠is_empty : val :=
xdeque٠is_empty.
Definition deque٠push_front : val :=
fun: "t" "v" ⇒
xdeque٠push_front "t" { "t", "t", "v" }.
Definition deque٠push_back : val :=
fun: "t" "v" ⇒
xdeque٠push_back "t" { "t", "t", "v" }.
Definition deque٠pop_front : val :=
fun: "t" ⇒
match: xdeque٠pop_front "t" with
| None ⇒
§None
| Some "node" ⇒
‘Some( "node".{xdeque_data} )
end.
Definition deque٠pop_back : val :=
fun: "t" ⇒
match: xdeque٠pop_back "t" with
| None ⇒
§None
| Some "node" ⇒
‘Some( "node".{xdeque_data} )
end.
Definition deque٠iter : val :=
fun: "fn" ⇒
xdeque٠iter (fun: "node" ⇒ "fn" "node".{xdeque_data}).
prelude.
From zoo.language Require Import
typeclasses
notations.
From zoo_std Require Import
xdeque.
From zoo_std Require Import
deque__types.
From zoo Require Import
options.
Definition deque٠create : val :=
xdeque٠create.
Definition deque٠is_empty : val :=
xdeque٠is_empty.
Definition deque٠push_front : val :=
fun: "t" "v" ⇒
xdeque٠push_front "t" { "t", "t", "v" }.
Definition deque٠push_back : val :=
fun: "t" "v" ⇒
xdeque٠push_back "t" { "t", "t", "v" }.
Definition deque٠pop_front : val :=
fun: "t" ⇒
match: xdeque٠pop_front "t" with
| None ⇒
§None
| Some "node" ⇒
‘Some( "node".{xdeque_data} )
end.
Definition deque٠pop_back : val :=
fun: "t" ⇒
match: xdeque٠pop_back "t" with
| None ⇒
§None
| Some "node" ⇒
‘Some( "node".{xdeque_data} )
end.
Definition deque٠iter : val :=
fun: "fn" ⇒
xdeque٠iter (fun: "node" ⇒ "fn" "node".{xdeque_data}).