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 - 2020, 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.  |