Liking cljdoc? Tell your friends :D

genera.trampoline


bounceclj/s

(bounce f)

Mark the given function with ::bounce so that trampoline will call it.

Mark the given function with `::bounce` so that `trampoline` will call it.
raw docstring

bounce?clj/s

(bounce? x)

Returns the function if argument is Trampoliner containing a function to bounce.

Returns the function if argument is Trampoliner containing a function to bounce.
raw docstring

bouncingclj/smacro

(bouncing & forms)

Turn the given body into a function to be returned to the enclosing trampoline function

Turn the given body into a function to be returned to the enclosing `trampoline` function
raw docstring

bouncing+clj/smacro

(bouncing+ name & forms)

Turn the given body into a function to be returned to the enclosing trampoline function.

Turn the given body into a function to be returned to the enclosing `trampoline` function.
raw docstring

ITrampolinerclj/sprotocol

get-fnclj/s

(get-fn _)

trampolineclj/s

(trampoline f)
(trampoline f & args)

Trampoline can be used to convert algorithms requiring mutual recursion, or that recur from within a callback so that they don't consume the stack.

Trampoline calls f with the optional supplied args, inpsects the return and if it is a function, tests that it is marked as a trampoline function by checking its metadata for ::bounce. Functions can be marked by calling (bounce f).

The addition of the bounce check is the only difference between this implementation and the one in clojure.core. The purpose of the check is to prevent accidental trampolining when a function being trampolined could itself potentially return a function.

Trampoline can be used to convert algorithms requiring mutual recursion, or
that recur from within a callback so that they don't consume the stack.

Trampoline calls f with the optional supplied args, inpsects the return and if
it is a function, tests that it is marked as a trampoline function by checking
its metadata for `::bounce`. Functions can be marked by calling `(bounce f)`.

The addition of the bounce check is the only difference between this
implementation and the one in clojure.core. The purpose of the check is to
prevent accidental trampolining when a function being trampolined could itself
potentially return a function.
raw docstring

trampoline*clj/s

(trampoline* ret)

Trampoline can be used to convert algorithms requiring mutual recursion, or that recur from within a callback so that they don't consume the stack.

Trampoline calls f with the optional supplied args, inpsects the return and if it is a function, tests that it is marked as a trampoline function by checking its metadata for ::bounce. Functions can be marked by calling (bounce f).

The addition of the bounce check is the only difference between this implementation and the one in clojure.core. The purpose of the check is to prevent accidental trampolining when a function being trampolined could itself potentially return a function.

Trampoline can be used to convert algorithms requiring mutual recursion, or
that recur from within a callback so that they don't consume the stack.

Trampoline calls f with the optional supplied args, inpsects the return and if
it is a function, tests that it is marked as a trampoline function by checking
its metadata for `::bounce`. Functions can be marked by calling `(bounce f)`.

The addition of the bounce check is the only difference between this
implementation and the one in clojure.core. The purpose of the check is to
prevent accidental trampolining when a function being trampolined could itself
potentially return a function.
raw docstring

trampoliningclj/smacro

(trampolining & forms)

Wrap the given body in trampoline.

Wrap the given body in `trampoline`.
raw docstring

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

× close