(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.
(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.
(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
(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.
(get-fn _)(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.
(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.
(trampolining & forms)Wrap the given body in trampoline.
Wrap the given body in `trampoline`.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |