Typed-Stack: A Typed Racket stack library
(require typed-stack) | package: typed-stack |
1 Procedures
Almost every procedure has two forms: one that mutates state and a functional counterpart. Functional versions of the procedures will return the stack as it was modified while the procedures that mutate state will return Void.
procedure
(make-stack v ...) → (Stack A)
v : Any
procedure
(empty-stack) → (Stack Any)
procedure
(stack->list stk) → (Listof A)
stk : (Stack A)
procedure
(stack->string stk) → String
stk : (Stack A)
procedure
(stack-empty? stk) → Boolean
stk : (Stack A)
procedure
(stack-length stk) → Nonnegative-Integer
stk : (Stack A)
procedure
(in-stack stk) → (Sequenceof A)
stk : (Stack A)
procedure
stk : (Stack A)
procedure
(push-over! stk) → Void
stk : (Stack A)
procedure
(reverse-rotate stk) → (Stack A)
stk : (Stack A)
procedure
(reverse-rotate! stk) → Void
stk : (Stack A)
procedure
stk : (Stack A)
procedure
(push-tuck! stk) → Void
stk : (Stack A)
procedure
stk : (Stack A) i : Nonnegative-Integer
procedure
(push-pick! stk i) → Void
stk : (Stack A) i : Nonnegative-Integer
procedure
stk : (Stack A) i : Nonnegative-Integer
procedure
stk : (Stack A) i : Nonnegative-Integer
2 License
The code in this package and this documentation is under the BSD 3-clause.
Copyright (c) 2015, Lehi Toskin |
All rights reserved. |
|
Redistribution and use in source and binary forms, with or without |
modification, are permitted provided that the following conditions are met: |
|
* Redistributions of source code must retain the above copyright notice, this |
list of conditions and the following disclaimer. |
|
* Redistributions in binary form must reproduce the above copyright notice, |
this list of conditions and the following disclaimer in the documentation |
and/or other materials provided with the distribution. |
|
* Neither the name of typed-stack nor the names of its |
contributors may be used to endorse or promote products derived from |
this software without specific prior written permission. |
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE |
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |