# propeller.utils documentation

## Generated by Codox

# Propeller 0.3.0

# propeller.utils

Useful functions.

### count-points

`(count-points tree)`

Returns the number of points in tree, where each atom and each pair of parentheses counts as a point.

### depth

`(depth tree)`

Returns the height of the nested list called tree. Borrowed idea from here: https://stackoverflow.com/a/36865180/2023312 Works by looking at the path from each node in the tree to the root, and finding the longest one. Note: does not treat an empty list as having any height.

### ensure-list

`(ensure-list thing)`

Returns a non-lazy list if passed a seq argument. Otherwise, returns a list containing the argument.

### first-non-nil

`(first-non-nil coll)`

Returns the first non-nil values from the collection, or returns `nil` if the collection is empty or only contains `nil`.

### indexof

`(indexof element coll)`

Returns the first index of an element in a collection. If the element is not present in the collection, returns -1.

### not-lazy

`(not-lazy lst)`

Returns lst if it is not a seq, or a non-lazy version of lst if it is.

### random-instruction

`(random-instruction instructions)`

Returns a random instruction from a supplied pool of instructions, evaluating ERC-producing functions to a constant literal.

### seq-zip

#### added in 1.0

`(seq-zip root)`

Returns a zipper for nested sequences, given a root sequence