## Generated by Codox

# Propeller 0.3.0

# propeller.push.state

Push states

### empty-stack?

`(empty-stack? state stack)`

Returns true if the stack is empty

### example-state

Example of a Push state.

### get-args-from-stacks

`(get-args-from-stacks state stacks)`

Takes a state and a collection of stacks to take args from. If there are enough args on each of the desired stacks, returns a map with keys {:state :args}, where :state is the new state and :args is a list of args popped from the stacks. If there aren’t enough args on the stacks, returns :not-enough-args without popping anything

### peek-stack

`(peek-stack state stack)`

Returns the top item on the stack

### peek-stack-many

`(peek-stack-many state stack n)`

Returns the top n items on the stack, as a chunk. If there are less than n items on the stack, returns the entire stack

### pop-stack

`(pop-stack state stack)`

Removes the top item of stack

### pop-stack-many

`(pop-stack-many state stack n)`

Pops the top n items of the stack. If there are less than n items on the stack, pops the entire stack

### print-state

`(print-state state)`

Pretty-print a Push state, for logging or debugging purposes

### push-to-stack

`(push-to-stack state stack item)`

Pushes an item onto the stack

### push-to-stack-many

`(push-to-stack-many state stack items)`

Pushes a collection of items onto the stack, as a chunk (i.e. leaving them in the order they are in)

### stack-size

`(stack-size state stack)`

Returns the stack size