Liking cljdoc? Tell your friends :D

cats.monad.state


evalclj/s

(eval state seed)

Given a State instance, execute the wrapped computation and return the resultant value, ignoring the state. Equivalent to taking the first value of the pair instance returned by run-state function.

Given a State instance, execute the
wrapped computation and return the resultant
value, ignoring the state.
Equivalent to taking the first value of the pair instance
returned by `run-state` function.
raw docstring

execclj/s

(exec state seed)

Given a State instance, execute the wrapped computation and return the resultant state. Equivalent to taking the second value of the pair instance returned by run-state function.

Given a State instance, execute the
wrapped computation and return the resultant
state.
Equivalent to taking the second value of the pair instance
returned by `run-state` function.
raw docstring

getclj/s

(get)

Return a State instance with computation that returns the current state.

Return a State instance with computation that returns
the current state.
raw docstring

getsclj/s

(gets projfn)

State monad that returns the result of applying a function to a state

State monad that returns the result of applying
a function to a state
raw docstring

MonadStateclj/s≠protocol

A specific case of Monad abstraction for work with state in pure functional way.

A specific case of Monad abstraction for
work with state in pure functional way.

-swap-stateclj/s

(-swap-state m f)

Apply a function to the current state and update it.

Apply a function to the current state and update it.

-put-stateclj/s

(-put-state m newstate)

Update the state.

Update the state.

-get-stateclj/s

(-get-state m)

Return the current state.

Return the current state.
raw docstring

putclj/s

(put newstate)

Return a State instance with computation that replaces the current state with specified new state.

Return a State instance with computation that replaces
the current state with specified new state.
raw docstring

runclj/s

(run state seed)

Given a State instance, execute the wrapped computation and returns a cats.data.Pair instance with result and new state. (def computation (mlet [x (get-state) y (put-state (inc x))] (return y))) (def initial-state 1) (run-state computation initial-state) This should return something to: #<Pair [1 2]>

Given a State instance, execute the
wrapped computation and returns a cats.data.Pair
instance with result and new state.
  (def computation (mlet [x (get-state)
                          y (put-state (inc x))]
                     (return y)))
  (def initial-state 1)
  (run-state computation initial-state)
This should return something to: #<Pair [1 2]>
raw docstring

stateclj/s

(state f)
(state f state-context)

The State type constructor. The purpose of State type is wrap a simple function that fullfill the state signature. It exists just for avoid extend the clojure function type because is very generic type.

The State type constructor.
The purpose of State type is wrap a simple
function that fullfill the state signature.
It exists just for avoid extend the clojure
function type because is very generic type.
raw docstring

Statecljs


state?clj/s

(state? s)

Return true if s is instance of the State type.

Return true if `s` is instance of
the State type.
raw docstring

swapclj/s

(swap f)

Return a State instance with computation that applies the specified function to state and returns the old state.

Return a State instance with computation that applies the
specified function to state and returns the old state.
raw docstring

wrap-fnclj/s

(wrap-fn my-fn)

Wraps a (possibly side-effecting) function to a state monad

Wraps a (possibly side-effecting) function to a state monad
raw docstring

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close