USING: help.markup help.syntax kernel math sequences
-quotations dlists ;
+quotations ;
IN: deques
HELP: deque-empty?
{ $contract "Returns the object at the front of the deque, and a boolean indicating if an object was found." } ;
HELP: peek-front
-{ $values { "dlist" dlist } { "obj" object } }
+{ $values { "deque" deque } { "obj" object } }
{ $description "Returns the object at the front of the deque." }
{ $errors "Throws an error if the deque is empty." } ;
HELP: ?peek-front
-{ $values { "dlist" dlist } { "obj/f" "an object or " { $link f } } }
+{ $values { "deque" deque } { "obj/f" "an object or " { $link f } } }
{ $description "A forgiving version of " { $link peek-front } ". If the deque is empty, returns " { $link f } "." } ;
HELP: pop-front
{ $contract "Returns the object at the back of the deque, and a boolean indicating if an object was found." } ;
HELP: peek-back
-{ $values { "dlist" dlist } { "obj" object } }
+{ $values { "deque" deque } { "obj" object } }
{ $description "Returns the object at the back of the deque." }
{ $errors "Throws an error if the deque is empty." } ;
HELP: ?peek-back
-{ $values { "dlist" dlist } { "obj/f" "an object or " { $link f } } }
+{ $values { "deque" deque } { "obj/f" "an object or " { $link f } } }
{ $description "A forgiving version of " { $link peek-back } ". If the deque is empty, returns " { $link f } "." } ;
HELP: pop-back
ERROR: empty-deque ;
-: peek-front ( dlist -- obj )
+: peek-front ( deque -- obj )
peek-front* [ drop empty-deque ] unless ;
-: ?peek-front ( dlist -- obj/f )
+: ?peek-front ( deque -- obj/f )
peek-front* [ drop f ] unless ;
-: peek-back ( dlist -- obj )
+: peek-back ( deque -- obj )
peek-back* [ drop empty-deque ] unless ;
-: ?peek-back ( dlist -- obj/f )
+: ?peek-back ( deque -- obj/f )
peek-back* [ drop f ] unless ;
: push-front ( obj deque -- )