From bfd55bcae5a9b88146baa62b4bdc33332b8042dd Mon Sep 17 00:00:00 2001 From: Tom Faulhaber Date: Tue, 5 Jul 2011 00:30:38 -0700 Subject: [PATCH 01/29] Initial Documentation Commit --- api-index.html | 238 +++++++++ index-0.1.1.clj | 570 ++++++++++++++++++++++ index.html | 669 ++++++++++++++++++++++++++ static/clojure-icon.gif | Bin 0 -> 2174 bytes static/clojure.css | 53 ++ static/favicon.png | Bin 0 -> 656 bytes static/internal.css | 18 + static/space/content-background.gif | Bin 0 -> 397 bytes static/space/left-nav-background.gif | Bin 0 -> 638 bytes static/space/left-nav-bottom.gif | Bin 0 -> 936 bytes static/space/left-nav-divider.gif | Bin 0 -> 52 bytes static/space/resources-background.gif | Bin 0 -> 550 bytes static/space/toc-background.gif | Bin 0 -> 457 bytes static/wiki.css | 22 + 14 files changed, 1570 insertions(+) create mode 100644 api-index.html create mode 100644 index-0.1.1.clj create mode 100644 index.html create mode 100644 static/clojure-icon.gif create mode 100644 static/clojure.css create mode 100644 static/favicon.png create mode 100644 static/internal.css create mode 100644 static/space/content-background.gif create mode 100644 static/space/left-nav-background.gif create mode 100644 static/space/left-nav-bottom.gif create mode 100644 static/space/left-nav-divider.gif create mode 100644 static/space/resources-background.gif create mode 100644 static/space/toc-background.gif create mode 100644 static/wiki.css diff --git a/api-index.html b/api-index.html new file mode 100644 index 0000000..f274bff --- /dev/null +++ b/api-index.html @@ -0,0 +1,238 @@ + + + Index - Monad Macros and Definitions 0.1.1 API documentation + + + + + + + + + + +
+ +
+ +
+
+
+
+
+ +

Index of Public Functions and Variables - Monad Macros and Definitions 0.1.1 (in development)

+This page has an alphabetical index of all the documented functions and variables +in Monad Macros and Definitions. + + + +
+Shortcuts:
+A B C D + E F G H + I J K L + M +
+N O P Q + R S T U + V W X Y + Z +
+Other +
+
+ +
+

A

+
+
+
+

B

+
+
+
+

C

+
+ call-cc                      function      clojure.algo.monads A computation in the cont monad that calls functi...
+ cont-m                       var           clojure.algo.monads Monad describing computations in continuation-pas...
+
+
+

D

+
+ defmonad                     macro         clojure.algo.monads Define a named monad by defining the monad operat...
+ defmonadfn                   macro         clojure.algo.monads Like defn, but for functions that use monad opera...
+ domonad                      macro         clojure.algo.monads Monad comprehension. Takes the name of a monad, a...
+
+
+

E

+
+
+
+

F

+
+ fetch-state                  function      clojure.algo.monads Return a state-monad function that returns the cu...
+ fetch-val                    function      clojure.algo.monads Return a state-monad function that assumes the st...
+
+
+

G

+
+
+
+

H

+
+
+
+

I

+
+ identity-m                   var           clojure.algo.monads Monad describing plain computations. This monad d...
+
+
+

J

+
+
+
+

K

+
+
+
+

L

+
+
+
+

M

+
+ m-chain                      var           clojure.algo.monads Chains together monadic computation steps that ar...
+ m-fmap                       var           clojure.algo.monads Bind the monadic value m to the function returnin...
+ m-join                       var           clojure.algo.monads Converts a monadic value containing a monadic val...
+ m-lift                       macro         clojure.algo.monads Converts a function f of n arguments into a funct...
+ m-map                        var           clojure.algo.monads 'Executes' the sequence of monadic values resulti...
+ m-reduce                     var           clojure.algo.monads Return the reduction of (m-lift 2 f) over the lis...
+ m-seq                        var           clojure.algo.monads 'Executes' the monadic values in ms and returns a...
+ m-until                      var           clojure.algo.monads While (p x) is false, replace x by the value retu...
+ m-when                       macro         clojure.algo.monads If test is logical true, return monadic value m-e...
+ m-when-not                   macro         clojure.algo.monads If test if logical false, return monadic value m-...
+ maybe-m                      var           clojure.algo.monads Monad describing computations with possible failu...
+ maybe-t                      function      clojure.algo.monads Monad transformer that transforms a monad m into ...
+ monad                        macro         clojure.algo.monads Define a monad by defining the monad operations. ...
+ monad-transformer            macro         clojure.algo.monads Define a monad transforer in terms of the monad o...
+
+
+

N

+
+
+
+

O

+
+
+
+

P

+
+
+
+

Q

+
+
+
+

R

+
+ run-cont                     function      clojure.algo.monads Execute the computation c in the cont monad and r...
+
+
+

S

+
+ sequence-m                   var           clojure.algo.monads Monad describing multi-valued computations, i.e. ...
+ sequence-t                   function      clojure.algo.monads Monad transformer that transforms a monad m into ...
+ set-m                        var           clojure.algo.monads Monad describing multi-valued computations, like ...
+ set-state                    function      clojure.algo.monads Return a state-monad function that replaces the c...
+ set-val                      function      clojure.algo.monads Return a state-monad function that assumes the st...
+ state-m                      var           clojure.algo.monads Monad describing stateful computations. The monad...
+ state-m-until                function      clojure.algo.monads An optimized implementation of m-until for the st...
+ state-t                      function      clojure.algo.monads Monad transformer that transforms a monad m into ...
+
+
+

T

+
+
+
+

U

+
+ update-state                 function      clojure.algo.monads Return a state-monad function that replaces the c...
+ update-val                   function      clojure.algo.monads Return a state-monad function that assumes the st...
+
+
+

V

+
+
+
+

W

+
+ with-monad                   macro         clojure.algo.monads Evaluates an expression after replacing the keywo...
+ with-state-field             function      clojure.algo.monads Returns a state-monad function that expects a map...
+ writer-m                     function      clojure.algo.monads Monad describing computations that accumulate dat...
+ writer-m-add                 function      clojure.algo.monads add value to container, return new container.
+ writer-m-combine             function      clojure.algo.monads combine two containers, return new container.
+ writer-monad-protocol        var           clojure.algo.monads Accumulation of values into containers.
+
+
+

X

+
+
+
+

Y

+
+
+
+

Z

+
+
+
+

Other

+
+
+
+ +
+
+
+
+
+ +
+
Logo & site design by Tom Hickey.
+ Clojure auto-documentation system by Tom Faulhaber.
+
+ + + + \ No newline at end of file diff --git a/index-0.1.1.clj b/index-0.1.1.clj new file mode 100644 index 0000000..8ac32d7 --- /dev/null +++ b/index-0.1.1.clj @@ -0,0 +1,570 @@ +{:namespaces + ({:source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :wiki-url + "http://clojure.github.com/algo.monads/clojure.algo.monads-api.html", + :name "clojure.algo.monads", + :author "Konrad Hinsen", + :doc + "This library contains the most commonly used monads as well\nas macros for defining and using monads and useful monadic\nfunctions."}), + :vars + ({:arglists ([f]), + :name "call-cc", + :namespace "clojure.algo.monads", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L478", + :raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/call-cc", + :doc + "A computation in the cont monad that calls function f with a single\nargument representing the current continuation. The function f should\nreturn a continuation (which becomes the return value of call-cc),\nor call the passed-in current continuation to terminate.", + :var-type "function", + :line 478, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + {:raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L462", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/cont-m", + :namespace "clojure.algo.monads", + :line 462, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj", + :var-type "var", + :doc + "Monad describing computations in continuation-passing style. The monadic\nvalues are functions that are called with a single argument representing\nthe continuation of the computation, to which they pass their result.", + :name "cont-m"} + {:arglists ([name doc-string operations] [name operations]), + :name "defmonad", + :namespace "clojure.algo.monads", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L48", + :raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/defmonad", + :doc + "Define a named monad by defining the monad operations. The definitions\nare written like bindings to the monad operations m-bind and\nm-result (required) and m-zero and m-plus (optional).", + :var-type "macro", + :line 48, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + {:arglists + ([name docstring? attr-map? args expr] + [name docstring? attr-map? (args expr) ...]), + :name "defmonadfn", + :namespace "clojure.algo.monads", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L134", + :raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/defmonadfn", + :doc + "Like defn, but for functions that use monad operations and are used inside\na with-monad block.", + :var-type "macro", + :line 134, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + {:arglists ([steps expr] [name steps expr]), + :name "domonad", + :namespace "clojure.algo.monads", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L111", + :raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/domonad", + :doc + "Monad comprehension. Takes the name of a monad, a vector of steps\ngiven as binding-form/monadic-expression pairs, and a result value\nspecified by expr. The monadic-expression terms can use the binding\nvariables of the previous steps.\nIf the monad contains a definition of m-zero, the step list can also\ncontain conditions of the form :when p, where the predicate p can\ncontain the binding variables from all previous steps.\nA clause of the form :let [binding-form expr ...], where the bindings\nare given as a vector as for the use in let, establishes additional\nbindings that can be used in the following steps.", + :var-type "macro", + :line 111, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + {:arglists ([]), + :name "fetch-state", + :namespace "clojure.algo.monads", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L356", + :raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/fetch-state", + :doc + "Return a state-monad function that returns the current state and does not\nmodify it.", + :var-type "function", + :line 356, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + {:arglists ([key]), + :name "fetch-val", + :namespace "clojure.algo.monads", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L362", + :raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/fetch-val", + :doc + "Return a state-monad function that assumes the state to be a map and\nreturns the value corresponding to the given key. The state is not modified.", + :var-type "function", + :line 362, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + {:raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L283", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/identity-m", + :namespace "clojure.algo.monads", + :line 283, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj", + :var-type "var", + :doc + "Monad describing plain computations. This monad does in fact nothing\nat all. It is useful for testing, for combination with monad\ntransformers, and for code that is parameterized with a monad.", + :name "identity-m"} + {:raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L214", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/m-chain", + :namespace "clojure.algo.monads", + :line 214, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj", + :var-type "var", + :doc + "Chains together monadic computation steps that are each functions\nof one parameter. Each step is called with the result of the previous\nstep as its argument. (m-chain (step1 step2)) is equivalent to\n(fn [x] (domonad [r1 (step1 x) r2 (step2 r1)] r2)).", + :name "m-chain"} + {:raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L192", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/m-fmap", + :namespace "clojure.algo.monads", + :line 192, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj", + :var-type "var", + :doc + "Bind the monadic value m to the function returning (f x) for argument x", + :name "m-fmap"} + {:raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L186", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/m-join", + :namespace "clojure.algo.monads", + :line 186, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj", + :var-type "var", + :doc + "Converts a monadic value containing a monadic value into a 'simple'\nmonadic value.", + :name "m-join"} + {:arglists ([n f]), + :name "m-lift", + :namespace "clojure.algo.monads", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L177", + :raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/m-lift", + :doc + "Converts a function f of n arguments into a function of n\nmonadic arguments returning a monadic value.", + :var-type "macro", + :line 177, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + {:raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L208", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/m-map", + :namespace "clojure.algo.monads", + :line 208, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj", + :var-type "var", + :doc + "'Executes' the sequence of monadic values resulting from mapping\nf onto the values xs. f must return a monadic value.", + :name "m-map"} + {:raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L225", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/m-reduce", + :namespace "clojure.algo.monads", + :line 225, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj", + :var-type "var", + :doc + "Return the reduction of (m-lift 2 f) over the list of monadic values mvs\nwith initial value (m-result val).", + :name "m-reduce"} + {:raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L197", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/m-seq", + :namespace "clojure.algo.monads", + :line 197, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj", + :var-type "var", + :doc + "'Executes' the monadic values in ms and returns a sequence of the\nbasic values contained in them.", + :name "m-seq"} + {:raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L238", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/m-until", + :namespace "clojure.algo.monads", + :line 238, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj", + :var-type "var", + :doc + "While (p x) is false, replace x by the value returned by the\nmonadic computation (f x). Return (m-result x) for the first\nx for which (p x) is true.", + :name "m-until"} + {:arglists ([test m-expr]), + :name "m-when", + :namespace "clojure.algo.monads", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L250", + :raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/m-when", + :doc + "If test is logical true, return monadic value m-expr, else return\n(m-result nil).", + :var-type "macro", + :line 250, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + {:arglists ([test m-expr]), + :name "m-when-not", + :namespace "clojure.algo.monads", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L256", + :raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/m-when-not", + :doc + "If test if logical false, return monadic value m-expr, else return\n(m-result nil).", + :var-type "macro", + :line 256, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + {:raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L293", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/maybe-m", + :namespace "clojure.algo.monads", + :line 293, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj", + :var-type "var", + :doc + "Monad describing computations with possible failures. Failure is\nrepresented by nil, any other value is considered valid. As soon as\na step returns nil, the whole computation will yield nil as well.", + :name "maybe-m"} + {:arglists ([m] [m nothing] [m nothing which-m-plus]), + :name "maybe-t", + :namespace "clojure.algo.monads", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L518", + :raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/maybe-t", + :doc + "Monad transformer that transforms a monad m into a monad in which\nthe base values can be invalid (represented by nothing, which defaults\nto nil). The third argument chooses if m-zero and m-plus are inherited\nfrom the base monad (use :m-plus-from-base) or adopt maybe-like\nbehaviour (use :m-plus-from-transformer). The default is :m-plus-from-base\nif the base monad m has a definition for m-plus, and\n:m-plus-from-transformer otherwise.", + :var-type "function", + :line 518, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + {:arglists ([operations]), + :name "monad", + :namespace "clojure.algo.monads", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L33", + :raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/monad", + :doc + "Define a monad by defining the monad operations. The definitions\nare written like bindings to the monad operations m-bind and\nm-result (required) and m-zero and m-plus (optional).", + :var-type "macro", + :line 33, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + {:arglists ([base which-m-plus operations]), + :name "monad-transformer", + :namespace "clojure.algo.monads", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L496", + :raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/monad-transformer", + :doc + "Define a monad transforer in terms of the monad operations and the base\nmonad. The argument which-m-plus chooses if m-zero and m-plus are taken\nfrom the base monad or from the transformer.", + :var-type "macro", + :line 496, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + {:arglists ([c]), + :name "run-cont", + :namespace "clojure.algo.monads", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L473", + :raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/run-cont", + :doc + "Execute the computation c in the cont monad and return its result.", + :var-type "function", + :line 473, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + {:raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L306", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/sequence-m", + :namespace "clojure.algo.monads", + :line 306, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj", + :var-type "var", + :doc + "Monad describing multi-valued computations, i.e. computations\nthat can yield multiple values. Any object implementing the seq\nprotocol can be used as a monadic value.", + :name "sequence-m"} + {:arglists ([m] [m which-m-plus]), + :name "sequence-t", + :namespace "clojure.algo.monads", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L550", + :raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/sequence-t", + :doc + "Monad transformer that transforms a monad m into a monad in which\nthe base values are sequences. The argument which-m-plus chooses\nif m-zero and m-plus are inherited from the base monad\n(use :m-plus-from-base) or adopt sequence-like\nbehaviour (use :m-plus-from-transformer). The default is :m-plus-from-base\nif the base monad m has a definition for m-plus, and\n:m-plus-from-transformer otherwise.", + :var-type "function", + :line 550, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + {:raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L320", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/set-m", + :namespace "clojure.algo.monads", + :line 320, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj", + :var-type "var", + :doc + "Monad describing multi-valued computations, like sequence-m,\nbut returning sets of results instead of sequences of results.", + :name "set-m"} + {:arglists ([s]), + :name "set-state", + :namespace "clojure.algo.monads", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L350", + :raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/set-state", + :doc + "Return a state-monad function that replaces the current state by s and\nreturns the previous state.", + :var-type "function", + :line 350, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + {:arglists ([key val]), + :name "set-val", + :namespace "clojure.algo.monads", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L380", + :raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/set-val", + :doc + "Return a state-monad function that assumes the state to be a map and\nreplaces the value associated with key by val. The old value is returned.", + :var-type "function", + :line 380, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + {:raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L333", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/state-m", + :namespace "clojure.algo.monads", + :line 333, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj", + :var-type "var", + :doc + "Monad describing stateful computations. The monadic values have the\nstructure (fn [old-state] [result new-state]).", + :name "state-m"} + {:arglists ([p f x]), + :name "state-m-until", + :namespace "clojure.algo.monads", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L398", + :raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/state-m-until", + :doc + "An optimized implementation of m-until for the state monad that\nreplaces recursion by a loop.", + :var-type "function", + :line 398, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + {:arglists ([m]), + :name "state-t", + :namespace "clojure.algo.monads", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L577", + :raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/state-t", + :doc + "Monad transformer that transforms a monad m into a monad of stateful\ncomputations that have the base monad type as their result.", + :var-type "function", + :line 577, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + {:arglists ([f]), + :name "update-state", + :namespace "clojure.algo.monads", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L344", + :raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/update-state", + :doc + "Return a state-monad function that replaces the current state by the\nresult of f applied to the current state and that returns the old state.", + :var-type "function", + :line 344, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + {:arglists ([key f]), + :name "update-val", + :namespace "clojure.algo.monads", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L370", + :raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/update-val", + :doc + "Return a state-monad function that assumes the state to be a map and\nreplaces the value associated with the given key by the return value\nof f applied to the old value. The old value is returned.", + :var-type "function", + :line 370, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + {:arglists ([monad & exprs]), + :name "with-monad", + :namespace "clojure.algo.monads", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L99", + :raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/with-monad", + :doc + "Evaluates an expression after replacing the keywords defining the\nmonad operations by the functions associated with these keywords\nin the monad definition given by name.", + :var-type "macro", + :line 99, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + {:arglists ([key statement]), + :name "with-state-field", + :namespace "clojure.algo.monads", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L386", + :raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/with-state-field", + :doc + "Returns a state-monad function that expects a map as its state and\nruns statement (another state-monad function) on the state defined by\nthe map entry corresponding to key. The map entry is updated with the\nnew state returned by statement.", + :var-type "function", + :line 386, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + {:arglists ([empty-accumulator]), + :name "writer-m", + :namespace "clojure.algo.monads", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L435", + :raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/writer-m", + :doc + "Monad describing computations that accumulate data on the side, e.g. for\nlogging. The monadic values have the structure [value log]. Any of the\naccumulators from clojure.contrib.accumulators can be used for storing the\nlog data. Its empty value is passed as a parameter.", + :var-type "function", + :line 435, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + {:raw-source-url nil, + :source-url nil, + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/writer-m-add", + :namespace "clojure.algo.monads", + :var-type "function", + :arglists ([container value]), + :doc "add value to container, return new container", + :name "writer-m-add"} + {:raw-source-url nil, + :source-url nil, + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/writer-m-combine", + :namespace "clojure.algo.monads", + :var-type "function", + :arglists ([container1 container2]), + :doc "combine two containers, return new container", + :name "writer-m-combine"} + {:raw-source-url + "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + :source-url + "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L410", + :wiki-url + "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/writer-monad-protocol", + :namespace "clojure.algo.monads", + :line 410, + :file + "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj", + :var-type "var", + :doc "Accumulation of values into containers", + :name "writer-monad-protocol"})} diff --git a/index.html b/index.html new file mode 100644 index 0000000..3694d83 --- /dev/null +++ b/index.html @@ -0,0 +1,669 @@ + + + clojure.algo.monads - Monad Macros and Definitions 0.1.1 API documentation + + + + + + + + + + +
+ +
+ +
+
+
+
+
+ +

API for clojure.algo.monads + - Monad Macros and Definitions 0.1.1 (in development) +

+by Konrad Hinsen
+
Full namespace name: clojure.algo.monads +

+

Overview

+
This library contains the most commonly used monads as well
+as macros for defining and using monads and useful monadic
+functions.
+ + +See also: + + Monad tutorial part 1 + + Monad tutorial part 2 + + Monad tutorial part 3 + + Monad tutorial part 4 + + Monads in Clojure part 1 + + Monads in Clojure part 2 +
+

+

Public Variables and Functions

+
+
+
+

call-cc

+ function
+
Usage: (call-cc f)
+
+
A computation in the cont monad that calls function f with a single
+argument representing the current continuation. The function f should
+return a continuation (which becomes the return value of call-cc),
+or call the passed-in current continuation to terminate.
+ + + Source +
+
+
+

cont-m

+ var
+

+  
Monad describing computations in continuation-passing style. The monadic
+values are functions that are called with a single argument representing
+the continuation of the computation, to which they pass their result.
+ + + Source +
+
+
+

defmonad

+ macro
+
Usage: (defmonad name doc-string operations)
+       (defmonad name operations)
+
+
Define a named monad by defining the monad operations. The definitions
+are written like bindings to the monad operations m-bind and
+m-result (required) and m-zero and m-plus (optional).
+ + + Source +
+
+
+

defmonadfn

+ macro
+
Usage: (defmonadfn name docstring? attr-map? args expr)
+       (defmonadfn name docstring? attr-map? (args expr) ...)
+
+
Like defn, but for functions that use monad operations and are used inside
+a with-monad block.
+ + + Source +
+
+
+

domonad

+ macro
+
Usage: (domonad steps expr)
+       (domonad name steps expr)
+
+
Monad comprehension. Takes the name of a monad, a vector of steps
+given as binding-form/monadic-expression pairs, and a result value
+specified by expr. The monadic-expression terms can use the binding
+variables of the previous steps.
+If the monad contains a definition of m-zero, the step list can also
+contain conditions of the form :when p, where the predicate p can
+contain the binding variables from all previous steps.
+A clause of the form :let [binding-form expr ...], where the bindings
+are given as a vector as for the use in let, establishes additional
+bindings that can be used in the following steps.
+ + + Source +
+
+
+

fetch-state

+ function
+
Usage: (fetch-state)
+
+
Return a state-monad function that returns the current state and does not
+modify it.
+ + + Source +
+
+
+

fetch-val

+ function
+
Usage: (fetch-val key)
+
+
Return a state-monad function that assumes the state to be a map and
+returns the value corresponding to the given key. The state is not modified.
+ + + Source +
+
+
+

identity-m

+ var
+

+  
Monad describing plain computations. This monad does in fact nothing
+at all. It is useful for testing, for combination with monad
+transformers, and for code that is parameterized with a monad.
+ + + Source +
+
+
+

m-chain

+ var
+

+  
Chains together monadic computation steps that are each functions
+of one parameter. Each step is called with the result of the previous
+step as its argument. (m-chain (step1 step2)) is equivalent to
+(fn [x] (domonad [r1 (step1 x) r2 (step2 r1)] r2)).
+ + + Source +
+
+
+

m-fmap

+ var
+

+  
Bind the monadic value m to the function returning (f x) for argument x
+ + + Source +
+
+
+

m-join

+ var
+

+  
Converts a monadic value containing a monadic value into a 'simple'
+monadic value.
+ + + Source +
+
+
+

m-lift

+ macro
+
Usage: (m-lift n f)
+
+
Converts a function f of n arguments into a function of n
+monadic arguments returning a monadic value.
+ + + Source +
+
+
+

m-map

+ var
+

+  
'Executes' the sequence of monadic values resulting from mapping
+f onto the values xs. f must return a monadic value.
+ + + Source +
+
+
+

m-reduce

+ var
+

+  
Return the reduction of (m-lift 2 f) over the list of monadic values mvs
+with initial value (m-result val).
+ + + Source +
+
+
+

m-seq

+ var
+

+  
'Executes' the monadic values in ms and returns a sequence of the
+basic values contained in them.
+ + + Source +
+
+
+

m-until

+ var
+

+  
While (p x) is false, replace x by the value returned by the
+monadic computation (f x). Return (m-result x) for the first
+x for which (p x) is true.
+ + + Source +
+
+
+

m-when

+ macro
+
Usage: (m-when test m-expr)
+
+
If test is logical true, return monadic value m-expr, else return
+(m-result nil).
+ + + Source +
+
+
+

m-when-not

+ macro
+
Usage: (m-when-not test m-expr)
+
+
If test if logical false, return monadic value m-expr, else return
+(m-result nil).
+ + + Source +
+
+
+

maybe-m

+ var
+

+  
Monad describing computations with possible failures. Failure is
+represented by nil, any other value is considered valid. As soon as
+a step returns nil, the whole computation will yield nil as well.
+ + + Source +
+
+
+

maybe-t

+ function
+
Usage: (maybe-t m)
+       (maybe-t m nothing)
+       (maybe-t m nothing which-m-plus)
+
+
Monad transformer that transforms a monad m into a monad in which
+the base values can be invalid (represented by nothing, which defaults
+to nil). The third argument chooses if m-zero and m-plus are inherited
+from the base monad (use :m-plus-from-base) or adopt maybe-like
+behaviour (use :m-plus-from-transformer). The default is :m-plus-from-base
+if the base monad m has a definition for m-plus, and
+:m-plus-from-transformer otherwise.
+ + + Source +
+
+
+

monad

+ macro
+
Usage: (monad operations)
+
+
Define a monad by defining the monad operations. The definitions
+are written like bindings to the monad operations m-bind and
+m-result (required) and m-zero and m-plus (optional).
+ + + Source +
+
+
+

monad-transformer

+ macro
+
Usage: (monad-transformer base which-m-plus operations)
+
+
Define a monad transforer in terms of the monad operations and the base
+monad. The argument which-m-plus chooses if m-zero and m-plus are taken
+from the base monad or from the transformer.
+ + + Source +
+
+
+

run-cont

+ function
+
Usage: (run-cont c)
+
+
Execute the computation c in the cont monad and return its result.
+ + + Source +
+
+
+

sequence-m

+ var
+

+  
Monad describing multi-valued computations, i.e. computations
+that can yield multiple values. Any object implementing the seq
+protocol can be used as a monadic value.
+ + + Source +
+
+
+

sequence-t

+ function
+
Usage: (sequence-t m)
+       (sequence-t m which-m-plus)
+
+
Monad transformer that transforms a monad m into a monad in which
+the base values are sequences. The argument which-m-plus chooses
+if m-zero and m-plus are inherited from the base monad
+(use :m-plus-from-base) or adopt sequence-like
+behaviour (use :m-plus-from-transformer). The default is :m-plus-from-base
+if the base monad m has a definition for m-plus, and
+:m-plus-from-transformer otherwise.
+ + + Source +
+
+
+

set-m

+ var
+

+  
Monad describing multi-valued computations, like sequence-m,
+but returning sets of results instead of sequences of results.
+ + + Source +
+
+
+

set-state

+ function
+
Usage: (set-state s)
+
+
Return a state-monad function that replaces the current state by s and
+returns the previous state.
+ + + Source +
+
+
+

set-val

+ function
+
Usage: (set-val key val)
+
+
Return a state-monad function that assumes the state to be a map and
+replaces the value associated with key by val. The old value is returned.
+ + + Source +
+
+
+

state-m

+ var
+

+  
Monad describing stateful computations. The monadic values have the
+structure (fn [old-state] [result new-state]).
+ + + Source +
+
+
+

state-m-until

+ function
+
Usage: (state-m-until p f x)
+
+
An optimized implementation of m-until for the state monad that
+replaces recursion by a loop.
+ + + Source +
+
+
+

state-t

+ function
+
Usage: (state-t m)
+
+
Monad transformer that transforms a monad m into a monad of stateful
+computations that have the base monad type as their result.
+ + + Source +
+
+
+

update-state

+ function
+
Usage: (update-state f)
+
+
Return a state-monad function that replaces the current state by the
+result of f applied to the current state and that returns the old state.
+ + + Source +
+
+
+

update-val

+ function
+
Usage: (update-val key f)
+
+
Return a state-monad function that assumes the state to be a map and
+replaces the value associated with the given key by the return value
+of f applied to the old value. The old value is returned.
+ + + Source +
+
+
+

with-monad

+ macro
+
Usage: (with-monad monad & exprs)
+
+
Evaluates an expression after replacing the keywords defining the
+monad operations by the functions associated with these keywords
+in the monad definition given by name.
+ + + Source +
+
+
+

with-state-field

+ function
+
Usage: (with-state-field key statement)
+
+
Returns a state-monad function that expects a map as its state and
+runs statement (another state-monad function) on the state defined by
+the map entry corresponding to key. The map entry is updated with the
+new state returned by statement.
+ + + Source +
+
+
+

writer-m

+ function
+
Usage: (writer-m empty-accumulator)
+
+
Monad describing computations that accumulate data on the side, e.g. for
+logging. The monadic values have the structure [value log]. Any of the
+accumulators from clojure.contrib.accumulators can be used for storing the
+log data. Its empty value is passed as a parameter.
+ + + Source +
+
+
+

writer-m-add

+ function
+
Usage: (writer-m-add container value)
+
+
add value to container, return new container
+ + + +
+
+
+

writer-m-combine

+ function
+
Usage: (writer-m-combine container1 container2)
+
+
combine two containers, return new container
+ + + +
+
+
+

writer-monad-protocol

+ var
+

+  
Accumulation of values into containers
+ + + Source +
+ + +
+
+
+
+
+ +
+
Logo & site design by Tom Hickey.
+ Clojure auto-documentation system by Tom Faulhaber.
+
+ + + + \ No newline at end of file diff --git a/static/clojure-icon.gif b/static/clojure-icon.gif new file mode 100644 index 0000000000000000000000000000000000000000..84eee16d95b131330e74e55f834849f27a1bb353 GIT binary patch literal 2174 zcmdVXi$BwQ1Hkd`X0w^mCM3yaKcu-NcTQzgE=5$1q)u@n*Gis}qfXB(v212?X_R4` zxu4uBp&FA!*~)#4g>vgcA;+ohd7VGw`TPg(*T>V_!^t@`41|FXB%n|z&eYiiB@Z(j zSs#6VO}h4T`AYsoNz>ew7N5z*5waj?ZC$bS&uq@i_`$EuJ;UFc=jhch zGzTMZ-*Tmqfvzif-tUw@6EuRux6EQ}bWe2c{Iy zC+ph=2fFgiM&}XZ(CrA7Vr0tE5QGGMt>t<0FZ#izm9*O0F;7EqTEQinVLpT z1vGjF1Ki5Got=}LmC4Fy_@w?1jr zKw*{f$hwAlF0@7W>FeItx?7;C7o{8sixG{EJt6j$3=|e1m0P5-xC>+3wRe^Qx)nKNxIimsn?ioZom|#e$KnNN#FlmoF-!PMs37!?`{(1 zuz`hzfvcdMHWO>!j68Hu^QMY)3YAzKjr`-Qc5Fzxx<7oyjbjIju1Vj_cq#7*BYR`N zXKhkSqAz|ICGi^XyhI{8XWAeg0STz-?6SF$sAlzOuWDw%U{NqWoFX7^KK}^786o~K zn3INKJG3LmiH$VFBm_G?`_+p|)9)DGszBP0vml14lLkAp2R7%0z*MA+WMvvMdACPz z#uaD#Y4|5oG8ReUxwbr%e_;784LEDeO-4-%|1e8|Y^xuiRL5ysPdjL)4sswH@nh+g zjACX){$YnBl%no;GAax#Juty#l8OsCb~f;KZunanRV|0OX_`QRPxnLClqf@JJ2UtL zBZJAB2PRF&{jy4Sza?`zu9C=t+i*jZg5^Glqvgf}Kv2 z#~u3)kD?JB%5iSc=ExIgF^t*fn7edVKqg$*nPODuV?&^{gr|0)Z%oL==sbnsWfW9I zkx*5EtG7E;etk4X0RgQ)%z!X>0iBOOCiW_tP?vdKn5Cw8!{-i((aQJ<2|9jaPY*SH z+2^iGPsd+9==z;AI&%c4oK|;;HOT$eJ!jKQ<+^PI7ocr9Kj3c_7C+IVbQd+y@3!GJ zbs%Wy=;vNvN8Ocv2Cj8sfNtz78u8hFQhm_!S^Ds*3= z746Gw5mt~M@1QgI6n%FWNSthP1m}->e<7^C&6fO4do{Ntlt}bJ$g1&4OHOnQWt`wY zsK!QA;cp!{hGOJae-B^q=AG%_l{dP8eLb;^sC}qZ$EyAP=>c#A=@Z)86_Mwa47yIc zki*S9?Ouh_4MW)DL%Z|6yFItY=E?)6s3@!`=JeG7Oy)5@R=;*%-uf1oTK5i*v5-X7 z+N0298uYME6u2D$8akECjNWj~%wafT>NdUy8H7r;f^OUu;;sLB^lraaUbu^gGM!`EExghjFr{0f()3-5{`8*5k4RK;L*y@pnG zw1oa#mswT5_5OE%VP+3$TCma`Hdx=mJ6Y>d;}A%mv#&3}DnAd)_=O@w2Wl+9@>=_x z`zm@B9Z~q496rjFrGldtqqc+N$RlDUd`caAwRMKDYVsOsh%Z5xra(C6o_J+}QYR&H zpY07lT6_e2C>x7(kAq=4Y_)LK+i6zGW|{G6N}FV5M3=ba^!OJ_MqU7^TfE-`TLx2U zA|mUNyv(1<@ZdZ04!-N@EOi&No7!*9hZ~d ziQn4vE@-H`5ZRTp`-EFn@CY&RQNd-)AT{&f9yNDd)pTq4jLGU)xmj3!IDUR79G0f`DZwi4h<9E>XrVjt ztU>Ka?$f}HI4=GI@zG5M4X{eG-3wbP7H!R5ayj-byGn%fzh=$U1>KObkT*N zXmH_0A4_gYlgFLbc2iZ ztldLct;_-{kj?`VfV!DIKq--!TQW&!ax{At0A`ZA#5JSvqhp8$1Z_fyC@=_+SRY4m zloN2Z0x-QG*xm(x^#1mx3MRD{@F`?Wq=92kJR22 z?h2S+g)g%(nUr`Ftw$-A02qqv038z0HjwCHWqW~8LxiRMX*6Sm3B4b`$3~Ie@;<)` z8(E34S_#11l34(d+?oX-P}RcX-V^{khZ#0=Dg2&)159P0HBbhCZX5z2{cqZJB{!+C zSL3g~a48l*wp-N1Mhsu+9RO}!>E!G0Ui=;#<+9b>eAU_rK$BN40Aj(KHVd#Gqfx%i z-KuWfMLrhI@1*vo2seY;2$xHbh-(H-UYQq<>HtP;LWrntt_{Ba76G8X;u^0)A2`J1 z$DdEQihKl}4*z=yEbA^V7cLoYD9O@Yp_bOYw0sUSqLcj-Ht6h}z r0ob+z-NJ9Usu2{W%$JI1Q3Psq$AwTV6b4obFsLPL)kug&LI40e)1Al% literal 0 HcmV?d00001 diff --git a/static/space/left-nav-background.gif b/static/space/left-nav-background.gif new file mode 100644 index 0000000000000000000000000000000000000000..e6e590449ccd23d463edd3906bb471d156c98b1b GIT binary patch literal 638 zcmV-^0)hQUNk%w1VW_{rmg-{QUg*`1twx`SG000F4Fa>i|F(VTqf&jn=24n~X z=cuA!TefhVvMG$-Zk^9Ey`Ld3>0enwy-R zoOE(3CLbgN1Oo_AP*{i(1`3C%O-ztW9y&=tcR-%KzQ4ekY`ke=9$lyi1qHCJ0n5u! z83RmTAb>|UJfXqe-rw3TKBO&@0RvxLsTT)RRacD57zosnCgRtWKj8fRy*OrQh!{48 z1D7Yu7&%M0Wm>f)By#CXx%EyfmTYXSKng+$B!jZ}v@gxcM Y3^!j9Sm0_$m==|C{jCE{6%hacJAN`7+yDRo literal 0 HcmV?d00001 diff --git a/static/space/left-nav-bottom.gif b/static/space/left-nav-bottom.gif new file mode 100644 index 0000000000000000000000000000000000000000..061c0895704895359a1f290af448a538eee299e7 GIT binary patch literal 936 zcmZ?wbhEHbT)`m3aFv1K|NsC0{{8#=_wS!Se}4b|{r&s*XV0Gf`0?Z3y?gK9zyJC3 z=dWMCu3fwK?c29^@7_Il@Zjs$uQzYreE$6Tty{P5-o5+r!(kjzIyfQ#ful$uV24$4<9{x^!fAWJ9qB9ef##qhYz=J z-)5i~DE?#to1p_DL4IOj`|seEP^cj%#?6#?fQN(OLWTm@45zi%wMtLFt=j)!L&YE7 zh>bCugB3VqJokm%g*nWjOSfch-gxG0 zPg7KM^M&-h!eSQoS-0jey0I_t^j^Gd&C>qMEo;xcdAsT2@u18}1zv>EN;dT!+ODRBleY>e=ERs?~ecz+0;_?S-$-1coEb zf@(Gv83$Akx3ep1NE9$MzL;F>A8r|Ss!Y%`Q|<9grKt~FTG$2ECcFqZbYlh+pG|6A|Tl^+#y`J;C?7ho`NV|P+tc_b(%0Ev!5b&_Ui%Hs`LDaiUVfAZ1%jJrE z%M{*inOEw3C`L#tW0kzue7Wdty3?6Ye01B9px{`2dfxH<((~VxzdO~luqCAO=FAWW zRxybN2Np$z2M5{D?rcB7a9pzCItzc#R!7FCsbWWO<`!ChO)OOX8s6r(UGzc&GpC)w z!Az-y2@cF_JSDgpk9!_qWa4popum=*dEmwb^{?9_gR)GP-mY&FC|JPEc1MJfS>%Gc zGE2wJ7xx%g7fg7-su|FEDh2l~_u3>cZD3PKziO|xDu z7r%8xvyo9;X9YVeM@mKmqr=UVMH0^4t9^DlQFzkmDT z`|XEsS08z_;^4ho58kXeaBtpk?_M2YC&t>zRi>(XT_Hm~Mh8@^g2P^a6Q(Pa18bLXA* z`gR`(KCE1FEI=>+l*zmc4o@x8zA3t|2UCt2@7$p-h z(yATIq1gMs1Nz;lo36&a*uxUlULcR6pQ-=+4uVYNwAn&1{^K zwe;p`kvWmYHDM=%MR-qa08ahoB2ck{|=XLc&8-5E;SkR+~AW(5Q4uRdH^I!(gDR5E23*@te39 zw%G#UQ*FE7@VM*K$!-M(V}cMKPL2pb0tYyRY;uT+ii`RJOb4!0eg^pXCaot3PC=t)W0OoEt8d@JV4Sd&hYo=- zrHVBM@X<0!8s~N0fhO$Ox3V1NQ--Snn2SVw1ZwKj8r;90L}@vBGeM9A5dZ)?W#ZO+ literal 0 HcmV?d00001 diff --git a/static/wiki.css b/static/wiki.css new file mode 100644 index 0000000..1cb1bdd --- /dev/null +++ b/static/wiki.css @@ -0,0 +1,22 @@ +/* Wiki Rendered Styles */ +.wiki { line-height: 150%; font-family: arial, helvetica, sans-serif; font-size: small; } +.wiki h1 { font-weight: bold; padding: 5px 0 0 0; margin: 0; font-size: 1.4em; } +.wiki h2 { font-weight: bold; padding: 5px 0 0 0; margin: 0; font-size: 1.3em; } +.wiki h3 { font-weight: bold; padding: 5px 0 0 0; margin: 0; font-size: 1.1em; } +.wiki h4 { font-weight: normal; padding: 5px 0 0 0; margin: 0; font-size: 1.066em; } +.wiki h5 { font-weight: normal; padding: 5px 0 0 0; margin: 0; font-size: 1.033em; } +.wiki h6 { font-weight: normal; padding: 5px 0 0 0; margin: 0; font-size: 1.0em; } +.wiki table { border-collapse: collapse; margin: 10px 0; font-size: small; } +.wiki p { margin: 0; padding: 0; padding: 5px 0; } +.wiki td { border: 1px solid #DDD; } +.wiki #toc { border: 1px solid #AAA; background: #fff; padding: 5px; margin: 0 0 10px 10px; width: 25%; float: right; clear: right;} +.wiki #toc h1 { font-weight: normal; font-size: 1.2em; padding: 0; } +.wiki #toc a:hover { color: #00D; background: #FFD; } + +.wiki hr { height: 1px; color: #AAA; background-color: #AAA; border: 0; margin: 0 10px; } +.wiki ul { padding: .5em 0 0 3em; margin: 0; } +.wiki ol { padding: .5em 0 0 3em; margin: 0; } +.wiki ul.quotelist { list-style: none; } +.wiki tt { font-size: small; } +.wiki img { border: 0; padding: 4px; } + From 69f7bf2212560a07775739a5e6a2a845f86a0e17 Mon Sep 17 00:00:00 2001 From: Tom Faulhaber Date: Mon, 10 Oct 2011 23:55:35 -0700 Subject: [PATCH 02/29] Autodoc commit for master/d7867ac1 --- index-0.1.1.clj | 145 ++++++++++++++++++------------------------------ 1 file changed, 55 insertions(+), 90 deletions(-) diff --git a/index-0.1.1.clj b/index-0.1.1.clj index 8ac32d7..39f63fe 100644 --- a/index-0.1.1.clj +++ b/index-0.1.1.clj @@ -21,9 +21,9 @@ "A computation in the cont monad that calls function f with a single\nargument representing the current continuation. The function f should\nreturn a continuation (which becomes the return value of call-cc),\nor call the passed-in current continuation to terminate.", :var-type "function", :line 478, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} - {:raw-source-url + :file "src/main/clojure/clojure/algo/monads.clj"} + {:file "src/main/clojure/clojure/algo/monads.clj", + :raw-source-url "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", :source-url "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L462", @@ -31,8 +31,6 @@ "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/cont-m", :namespace "clojure.algo.monads", :line 462, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj", :var-type "var", :doc "Monad describing computations in continuation-passing style. The monadic\nvalues are functions that are called with a single argument representing\nthe continuation of the computation, to which they pass their result.", @@ -50,8 +48,7 @@ "Define a named monad by defining the monad operations. The definitions\nare written like bindings to the monad operations m-bind and\nm-result (required) and m-zero and m-plus (optional).", :var-type "macro", :line 48, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + :file "src/main/clojure/clojure/algo/monads.clj"} {:arglists ([name docstring? attr-map? args expr] [name docstring? attr-map? (args expr) ...]), @@ -67,8 +64,7 @@ "Like defn, but for functions that use monad operations and are used inside\na with-monad block.", :var-type "macro", :line 134, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + :file "src/main/clojure/clojure/algo/monads.clj"} {:arglists ([steps expr] [name steps expr]), :name "domonad", :namespace "clojure.algo.monads", @@ -82,8 +78,7 @@ "Monad comprehension. Takes the name of a monad, a vector of steps\ngiven as binding-form/monadic-expression pairs, and a result value\nspecified by expr. The monadic-expression terms can use the binding\nvariables of the previous steps.\nIf the monad contains a definition of m-zero, the step list can also\ncontain conditions of the form :when p, where the predicate p can\ncontain the binding variables from all previous steps.\nA clause of the form :let [binding-form expr ...], where the bindings\nare given as a vector as for the use in let, establishes additional\nbindings that can be used in the following steps.", :var-type "macro", :line 111, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + :file "src/main/clojure/clojure/algo/monads.clj"} {:arglists ([]), :name "fetch-state", :namespace "clojure.algo.monads", @@ -97,8 +92,7 @@ "Return a state-monad function that returns the current state and does not\nmodify it.", :var-type "function", :line 356, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + :file "src/main/clojure/clojure/algo/monads.clj"} {:arglists ([key]), :name "fetch-val", :namespace "clojure.algo.monads", @@ -112,9 +106,9 @@ "Return a state-monad function that assumes the state to be a map and\nreturns the value corresponding to the given key. The state is not modified.", :var-type "function", :line 362, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} - {:raw-source-url + :file "src/main/clojure/clojure/algo/monads.clj"} + {:file "src/main/clojure/clojure/algo/monads.clj", + :raw-source-url "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", :source-url "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L283", @@ -122,13 +116,12 @@ "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/identity-m", :namespace "clojure.algo.monads", :line 283, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj", :var-type "var", :doc "Monad describing plain computations. This monad does in fact nothing\nat all. It is useful for testing, for combination with monad\ntransformers, and for code that is parameterized with a monad.", :name "identity-m"} - {:raw-source-url + {:file "src/main/clojure/clojure/algo/monads.clj", + :raw-source-url "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", :source-url "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L214", @@ -136,13 +129,12 @@ "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/m-chain", :namespace "clojure.algo.monads", :line 214, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj", :var-type "var", :doc "Chains together monadic computation steps that are each functions\nof one parameter. Each step is called with the result of the previous\nstep as its argument. (m-chain (step1 step2)) is equivalent to\n(fn [x] (domonad [r1 (step1 x) r2 (step2 r1)] r2)).", :name "m-chain"} - {:raw-source-url + {:file "src/main/clojure/clojure/algo/monads.clj", + :raw-source-url "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", :source-url "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L192", @@ -150,13 +142,12 @@ "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/m-fmap", :namespace "clojure.algo.monads", :line 192, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj", :var-type "var", :doc "Bind the monadic value m to the function returning (f x) for argument x", :name "m-fmap"} - {:raw-source-url + {:file "src/main/clojure/clojure/algo/monads.clj", + :raw-source-url "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", :source-url "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L186", @@ -164,8 +155,6 @@ "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/m-join", :namespace "clojure.algo.monads", :line 186, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj", :var-type "var", :doc "Converts a monadic value containing a monadic value into a 'simple'\nmonadic value.", @@ -183,9 +172,9 @@ "Converts a function f of n arguments into a function of n\nmonadic arguments returning a monadic value.", :var-type "macro", :line 177, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} - {:raw-source-url + :file "src/main/clojure/clojure/algo/monads.clj"} + {:file "src/main/clojure/clojure/algo/monads.clj", + :raw-source-url "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", :source-url "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L208", @@ -193,13 +182,12 @@ "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/m-map", :namespace "clojure.algo.monads", :line 208, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj", :var-type "var", :doc "'Executes' the sequence of monadic values resulting from mapping\nf onto the values xs. f must return a monadic value.", :name "m-map"} - {:raw-source-url + {:file "src/main/clojure/clojure/algo/monads.clj", + :raw-source-url "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", :source-url "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L225", @@ -207,13 +195,12 @@ "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/m-reduce", :namespace "clojure.algo.monads", :line 225, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj", :var-type "var", :doc "Return the reduction of (m-lift 2 f) over the list of monadic values mvs\nwith initial value (m-result val).", :name "m-reduce"} - {:raw-source-url + {:file "src/main/clojure/clojure/algo/monads.clj", + :raw-source-url "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", :source-url "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L197", @@ -221,13 +208,12 @@ "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/m-seq", :namespace "clojure.algo.monads", :line 197, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj", :var-type "var", :doc "'Executes' the monadic values in ms and returns a sequence of the\nbasic values contained in them.", :name "m-seq"} - {:raw-source-url + {:file "src/main/clojure/clojure/algo/monads.clj", + :raw-source-url "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", :source-url "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L238", @@ -235,8 +221,6 @@ "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/m-until", :namespace "clojure.algo.monads", :line 238, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj", :var-type "var", :doc "While (p x) is false, replace x by the value returned by the\nmonadic computation (f x). Return (m-result x) for the first\nx for which (p x) is true.", @@ -254,8 +238,7 @@ "If test is logical true, return monadic value m-expr, else return\n(m-result nil).", :var-type "macro", :line 250, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + :file "src/main/clojure/clojure/algo/monads.clj"} {:arglists ([test m-expr]), :name "m-when-not", :namespace "clojure.algo.monads", @@ -269,9 +252,9 @@ "If test if logical false, return monadic value m-expr, else return\n(m-result nil).", :var-type "macro", :line 256, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} - {:raw-source-url + :file "src/main/clojure/clojure/algo/monads.clj"} + {:file "src/main/clojure/clojure/algo/monads.clj", + :raw-source-url "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", :source-url "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L293", @@ -279,8 +262,6 @@ "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/maybe-m", :namespace "clojure.algo.monads", :line 293, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj", :var-type "var", :doc "Monad describing computations with possible failures. Failure is\nrepresented by nil, any other value is considered valid. As soon as\na step returns nil, the whole computation will yield nil as well.", @@ -298,8 +279,7 @@ "Monad transformer that transforms a monad m into a monad in which\nthe base values can be invalid (represented by nothing, which defaults\nto nil). The third argument chooses if m-zero and m-plus are inherited\nfrom the base monad (use :m-plus-from-base) or adopt maybe-like\nbehaviour (use :m-plus-from-transformer). The default is :m-plus-from-base\nif the base monad m has a definition for m-plus, and\n:m-plus-from-transformer otherwise.", :var-type "function", :line 518, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + :file "src/main/clojure/clojure/algo/monads.clj"} {:arglists ([operations]), :name "monad", :namespace "clojure.algo.monads", @@ -313,8 +293,7 @@ "Define a monad by defining the monad operations. The definitions\nare written like bindings to the monad operations m-bind and\nm-result (required) and m-zero and m-plus (optional).", :var-type "macro", :line 33, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + :file "src/main/clojure/clojure/algo/monads.clj"} {:arglists ([base which-m-plus operations]), :name "monad-transformer", :namespace "clojure.algo.monads", @@ -328,8 +307,7 @@ "Define a monad transforer in terms of the monad operations and the base\nmonad. The argument which-m-plus chooses if m-zero and m-plus are taken\nfrom the base monad or from the transformer.", :var-type "macro", :line 496, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + :file "src/main/clojure/clojure/algo/monads.clj"} {:arglists ([c]), :name "run-cont", :namespace "clojure.algo.monads", @@ -343,9 +321,9 @@ "Execute the computation c in the cont monad and return its result.", :var-type "function", :line 473, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} - {:raw-source-url + :file "src/main/clojure/clojure/algo/monads.clj"} + {:file "src/main/clojure/clojure/algo/monads.clj", + :raw-source-url "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", :source-url "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L306", @@ -353,8 +331,6 @@ "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/sequence-m", :namespace "clojure.algo.monads", :line 306, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj", :var-type "var", :doc "Monad describing multi-valued computations, i.e. computations\nthat can yield multiple values. Any object implementing the seq\nprotocol can be used as a monadic value.", @@ -372,9 +348,9 @@ "Monad transformer that transforms a monad m into a monad in which\nthe base values are sequences. The argument which-m-plus chooses\nif m-zero and m-plus are inherited from the base monad\n(use :m-plus-from-base) or adopt sequence-like\nbehaviour (use :m-plus-from-transformer). The default is :m-plus-from-base\nif the base monad m has a definition for m-plus, and\n:m-plus-from-transformer otherwise.", :var-type "function", :line 550, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} - {:raw-source-url + :file "src/main/clojure/clojure/algo/monads.clj"} + {:file "src/main/clojure/clojure/algo/monads.clj", + :raw-source-url "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", :source-url "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L320", @@ -382,8 +358,6 @@ "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/set-m", :namespace "clojure.algo.monads", :line 320, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj", :var-type "var", :doc "Monad describing multi-valued computations, like sequence-m,\nbut returning sets of results instead of sequences of results.", @@ -401,8 +375,7 @@ "Return a state-monad function that replaces the current state by s and\nreturns the previous state.", :var-type "function", :line 350, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + :file "src/main/clojure/clojure/algo/monads.clj"} {:arglists ([key val]), :name "set-val", :namespace "clojure.algo.monads", @@ -416,9 +389,9 @@ "Return a state-monad function that assumes the state to be a map and\nreplaces the value associated with key by val. The old value is returned.", :var-type "function", :line 380, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} - {:raw-source-url + :file "src/main/clojure/clojure/algo/monads.clj"} + {:file "src/main/clojure/clojure/algo/monads.clj", + :raw-source-url "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", :source-url "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L333", @@ -426,8 +399,6 @@ "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/state-m", :namespace "clojure.algo.monads", :line 333, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj", :var-type "var", :doc "Monad describing stateful computations. The monadic values have the\nstructure (fn [old-state] [result new-state]).", @@ -445,8 +416,7 @@ "An optimized implementation of m-until for the state monad that\nreplaces recursion by a loop.", :var-type "function", :line 398, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + :file "src/main/clojure/clojure/algo/monads.clj"} {:arglists ([m]), :name "state-t", :namespace "clojure.algo.monads", @@ -460,8 +430,7 @@ "Monad transformer that transforms a monad m into a monad of stateful\ncomputations that have the base monad type as their result.", :var-type "function", :line 577, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + :file "src/main/clojure/clojure/algo/monads.clj"} {:arglists ([f]), :name "update-state", :namespace "clojure.algo.monads", @@ -475,8 +444,7 @@ "Return a state-monad function that replaces the current state by the\nresult of f applied to the current state and that returns the old state.", :var-type "function", :line 344, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + :file "src/main/clojure/clojure/algo/monads.clj"} {:arglists ([key f]), :name "update-val", :namespace "clojure.algo.monads", @@ -490,8 +458,7 @@ "Return a state-monad function that assumes the state to be a map and\nreplaces the value associated with the given key by the return value\nof f applied to the old value. The old value is returned.", :var-type "function", :line 370, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + :file "src/main/clojure/clojure/algo/monads.clj"} {:arglists ([monad & exprs]), :name "with-monad", :namespace "clojure.algo.monads", @@ -505,8 +472,7 @@ "Evaluates an expression after replacing the keywords defining the\nmonad operations by the functions associated with these keywords\nin the monad definition given by name.", :var-type "macro", :line 99, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + :file "src/main/clojure/clojure/algo/monads.clj"} {:arglists ([key statement]), :name "with-state-field", :namespace "clojure.algo.monads", @@ -520,8 +486,7 @@ "Returns a state-monad function that expects a map as its state and\nruns statement (another state-monad function) on the state defined by\nthe map entry corresponding to key. The map entry is updated with the\nnew state returned by statement.", :var-type "function", :line 386, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} + :file "src/main/clojure/clojure/algo/monads.clj"} {:arglists ([empty-accumulator]), :name "writer-m", :namespace "clojure.algo.monads", @@ -535,9 +500,9 @@ "Monad describing computations that accumulate data on the side, e.g. for\nlogging. The monadic values have the structure [value log]. Any of the\naccumulators from clojure.contrib.accumulators can be used for storing the\nlog data. Its empty value is passed as a parameter.", :var-type "function", :line 435, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj"} - {:raw-source-url nil, + :file "src/main/clojure/clojure/algo/monads.clj"} + {:file nil, + :raw-source-url nil, :source-url nil, :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/writer-m-add", @@ -546,7 +511,8 @@ :arglists ([container value]), :doc "add value to container, return new container", :name "writer-m-add"} - {:raw-source-url nil, + {:file nil, + :raw-source-url nil, :source-url nil, :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/writer-m-combine", @@ -555,7 +521,8 @@ :arglists ([container1 container2]), :doc "combine two containers, return new container", :name "writer-m-combine"} - {:raw-source-url + {:file "src/main/clojure/clojure/algo/monads.clj", + :raw-source-url "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", :source-url "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L410", @@ -563,8 +530,6 @@ "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/writer-monad-protocol", :namespace "clojure.algo.monads", :line 410, - :file - "/home/tom/src/clj/autodoc/../autodoc-work-area/algo.monads/src/src/main/clojure/clojure/algo/monads.clj", :var-type "var", :doc "Accumulation of values into containers", :name "writer-monad-protocol"})} From fecd5a600a7b23bbd917f65f5a7f4cce6b696aa1 Mon Sep 17 00:00:00 2001 From: Tom Faulhaber Date: Sun, 23 Oct 2011 00:44:29 -0700 Subject: [PATCH 03/29] Autodoc commit for master/d7867ac1 --- api-index.html | 4 ++-- index.html | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/api-index.html b/api-index.html index f274bff..d1adfac 100644 --- a/api-index.html +++ b/api-index.html @@ -22,7 +22,7 @@
Logo & site design by Tom Hickey.
diff --git a/index.html b/index.html index 3694d83..5fe3ebe 100644 --- a/index.html +++ b/index.html @@ -22,7 +22,7 @@
Logo & site design by Tom Hickey.
From b207fec14f3ad9424c6122f4729a814dc57ac00a Mon Sep 17 00:00:00 2001 From: Tom Faulhaber Date: Sun, 22 Jan 2012 21:04:04 -0800 Subject: [PATCH 04/29] Autodoc commit for master/00bca0fd --- index-0.1.1.clj | 150 ++++++++++++++++++++++++------------------------ index.html | 74 ++++++++++++------------ 2 files changed, 112 insertions(+), 112 deletions(-) diff --git a/index-0.1.1.clj b/index-0.1.1.clj index 39f63fe..68835fe 100644 --- a/index-0.1.1.clj +++ b/index-0.1.1.clj @@ -1,6 +1,6 @@ {:namespaces ({:source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :wiki-url "http://clojure.github.com/algo.monads/clojure.algo.monads-api.html", :name "clojure.algo.monads", @@ -12,9 +12,9 @@ :name "call-cc", :namespace "clojure.algo.monads", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L478", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L478", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/call-cc", :doc @@ -24,9 +24,9 @@ :file "src/main/clojure/clojure/algo/monads.clj"} {:file "src/main/clojure/clojure/algo/monads.clj", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L462", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L462", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/cont-m", :namespace "clojure.algo.monads", @@ -39,9 +39,9 @@ :name "defmonad", :namespace "clojure.algo.monads", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L48", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L48", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/defmonad", :doc @@ -55,9 +55,9 @@ :name "defmonadfn", :namespace "clojure.algo.monads", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L134", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L134", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/defmonadfn", :doc @@ -69,9 +69,9 @@ :name "domonad", :namespace "clojure.algo.monads", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L111", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L111", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/domonad", :doc @@ -83,9 +83,9 @@ :name "fetch-state", :namespace "clojure.algo.monads", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L356", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L356", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/fetch-state", :doc @@ -97,9 +97,9 @@ :name "fetch-val", :namespace "clojure.algo.monads", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L362", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L362", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/fetch-val", :doc @@ -109,9 +109,9 @@ :file "src/main/clojure/clojure/algo/monads.clj"} {:file "src/main/clojure/clojure/algo/monads.clj", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L283", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L283", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/identity-m", :namespace "clojure.algo.monads", @@ -122,9 +122,9 @@ :name "identity-m"} {:file "src/main/clojure/clojure/algo/monads.clj", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L214", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L214", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/m-chain", :namespace "clojure.algo.monads", @@ -135,9 +135,9 @@ :name "m-chain"} {:file "src/main/clojure/clojure/algo/monads.clj", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L192", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L192", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/m-fmap", :namespace "clojure.algo.monads", @@ -148,9 +148,9 @@ :name "m-fmap"} {:file "src/main/clojure/clojure/algo/monads.clj", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L186", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L186", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/m-join", :namespace "clojure.algo.monads", @@ -163,9 +163,9 @@ :name "m-lift", :namespace "clojure.algo.monads", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L177", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L177", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/m-lift", :doc @@ -175,9 +175,9 @@ :file "src/main/clojure/clojure/algo/monads.clj"} {:file "src/main/clojure/clojure/algo/monads.clj", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L208", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L208", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/m-map", :namespace "clojure.algo.monads", @@ -188,9 +188,9 @@ :name "m-map"} {:file "src/main/clojure/clojure/algo/monads.clj", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L225", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L225", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/m-reduce", :namespace "clojure.algo.monads", @@ -201,9 +201,9 @@ :name "m-reduce"} {:file "src/main/clojure/clojure/algo/monads.clj", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L197", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L197", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/m-seq", :namespace "clojure.algo.monads", @@ -214,9 +214,9 @@ :name "m-seq"} {:file "src/main/clojure/clojure/algo/monads.clj", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L238", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L238", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/m-until", :namespace "clojure.algo.monads", @@ -229,9 +229,9 @@ :name "m-when", :namespace "clojure.algo.monads", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L250", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L250", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/m-when", :doc @@ -243,9 +243,9 @@ :name "m-when-not", :namespace "clojure.algo.monads", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L256", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L256", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/m-when-not", :doc @@ -255,9 +255,9 @@ :file "src/main/clojure/clojure/algo/monads.clj"} {:file "src/main/clojure/clojure/algo/monads.clj", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L293", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L293", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/maybe-m", :namespace "clojure.algo.monads", @@ -270,9 +270,9 @@ :name "maybe-t", :namespace "clojure.algo.monads", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L518", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L518", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/maybe-t", :doc @@ -284,9 +284,9 @@ :name "monad", :namespace "clojure.algo.monads", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L33", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L33", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/monad", :doc @@ -298,9 +298,9 @@ :name "monad-transformer", :namespace "clojure.algo.monads", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L496", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L496", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/monad-transformer", :doc @@ -312,9 +312,9 @@ :name "run-cont", :namespace "clojure.algo.monads", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L473", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L473", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/run-cont", :doc @@ -324,9 +324,9 @@ :file "src/main/clojure/clojure/algo/monads.clj"} {:file "src/main/clojure/clojure/algo/monads.clj", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L306", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L306", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/sequence-m", :namespace "clojure.algo.monads", @@ -339,9 +339,9 @@ :name "sequence-t", :namespace "clojure.algo.monads", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L550", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L550", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/sequence-t", :doc @@ -351,9 +351,9 @@ :file "src/main/clojure/clojure/algo/monads.clj"} {:file "src/main/clojure/clojure/algo/monads.clj", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L320", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L320", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/set-m", :namespace "clojure.algo.monads", @@ -366,9 +366,9 @@ :name "set-state", :namespace "clojure.algo.monads", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L350", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L350", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/set-state", :doc @@ -380,9 +380,9 @@ :name "set-val", :namespace "clojure.algo.monads", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L380", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L380", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/set-val", :doc @@ -392,9 +392,9 @@ :file "src/main/clojure/clojure/algo/monads.clj"} {:file "src/main/clojure/clojure/algo/monads.clj", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L333", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L333", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/state-m", :namespace "clojure.algo.monads", @@ -407,9 +407,9 @@ :name "state-m-until", :namespace "clojure.algo.monads", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L398", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L398", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/state-m-until", :doc @@ -421,9 +421,9 @@ :name "state-t", :namespace "clojure.algo.monads", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L577", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L577", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/state-t", :doc @@ -435,9 +435,9 @@ :name "update-state", :namespace "clojure.algo.monads", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L344", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L344", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/update-state", :doc @@ -449,9 +449,9 @@ :name "update-val", :namespace "clojure.algo.monads", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L370", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L370", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/update-val", :doc @@ -463,9 +463,9 @@ :name "with-monad", :namespace "clojure.algo.monads", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L99", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L99", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/with-monad", :doc @@ -477,9 +477,9 @@ :name "with-state-field", :namespace "clojure.algo.monads", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L386", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L386", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/with-state-field", :doc @@ -491,9 +491,9 @@ :name "writer-m", :namespace "clojure.algo.monads", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L435", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L435", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/writer-m", :doc @@ -523,9 +523,9 @@ :name "writer-m-combine"} {:file "src/main/clojure/clojure/algo/monads.clj", :raw-source-url - "https://github.com/clojure/algo.monads/raw/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj", + "https://github.com/clojure/algo.monads/raw/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj", :source-url - "https://github.com/clojure/algo.monads/blob/651c349a929a7f6aa2a8d326860bff564994a335/src/main/clojure/clojure/algo/monads.clj#L410", + "https://github.com/clojure/algo.monads/blob/00bca0fddafe6ffd9b217f370e818073d914655f/src/main/clojure/clojure/algo/monads.clj#L410", :wiki-url "http://clojure.github.com/algo.monads//clojure.algo.monads-api.html#clojure.algo.monads/writer-monad-protocol", :namespace "clojure.algo.monads", diff --git a/index.html b/index.html index 5fe3ebe..1ef103a 100644 --- a/index.html +++ b/index.html @@ -170,7 +170,7 @@

call-cc

or call the passed-in current continuation to terminate. - Source + Source


@@ -182,7 +182,7 @@

cont-m

the continuation of the computation, to which they pass their result. - Source + Source


@@ -196,7 +196,7 @@

defmonad

m-result (required) and m-zero and m-plus (optional). - Source + Source


@@ -209,7 +209,7 @@

defmonadfn

a with-monad block. - Source + Source


@@ -230,7 +230,7 @@

domonad

bindings that can be used in the following steps. - Source + Source


@@ -242,7 +242,7 @@

fetch-state

modify it. - Source + Source


@@ -254,7 +254,7 @@

fetch-val

returns the value corresponding to the given key. The state is not modified. - Source + Source


@@ -266,7 +266,7 @@

identity-m

transformers, and for code that is parameterized with a monad. - Source + Source


@@ -279,7 +279,7 @@

m-chain

(fn [x] (domonad [r1 (step1 x) r2 (step2 r1)] r2)). - Source + Source


@@ -289,7 +289,7 @@

m-fmap

Bind the monadic value m to the function returning (f x) for argument x
- Source + Source


@@ -300,7 +300,7 @@

m-join

monadic value. - Source + Source


@@ -312,7 +312,7 @@

m-lift

monadic arguments returning a monadic value. - Source + Source


@@ -323,7 +323,7 @@

m-map

f onto the values xs. f must return a monadic value. - Source + Source


@@ -334,7 +334,7 @@

m-reduce

with initial value (m-result val). - Source + Source


@@ -345,7 +345,7 @@

m-seq

basic values contained in them. - Source + Source


@@ -357,7 +357,7 @@

m-until

x for which (p x) is true. - Source + Source


@@ -369,7 +369,7 @@

m-when

(m-result nil). - Source + Source


@@ -381,7 +381,7 @@

m-when-not

(m-result nil). - Source + Source


@@ -393,7 +393,7 @@

maybe-m

a step returns nil, the whole computation will yield nil as well. - Source + Source


@@ -412,7 +412,7 @@

maybe-t

:m-plus-from-transformer otherwise. - Source + Source


@@ -425,7 +425,7 @@

monad

m-result (required) and m-zero and m-plus (optional). - Source + Source


@@ -438,7 +438,7 @@

monad-transformer

from the base monad or from the transformer. - Source + Source


@@ -449,7 +449,7 @@

run-cont

Execute the computation c in the cont monad and return its result.
- Source + Source


@@ -461,7 +461,7 @@

sequence-m

protocol can be used as a monadic value. - Source + Source


@@ -479,7 +479,7 @@

sequence-t

:m-plus-from-transformer otherwise. - Source + Source


@@ -490,7 +490,7 @@

set-m

but returning sets of results instead of sequences of results. - Source + Source


@@ -502,7 +502,7 @@

set-state

returns the previous state. - Source + Source


@@ -514,7 +514,7 @@

set-val

replaces the value associated with key by val. The old value is returned. - Source + Source


@@ -525,7 +525,7 @@

state-m

structure (fn [old-state] [result new-state]). - Source + Source


@@ -537,7 +537,7 @@

state-m-until

replaces recursion by a loop. - Source + Source


@@ -549,7 +549,7 @@

state-t

computations that have the base monad type as their result. - Source + Source


@@ -561,7 +561,7 @@

update-state

result of f applied to the current state and that returns the old state. - Source + Source


@@ -574,7 +574,7 @@

update-val

of f applied to the old value. The old value is returned. - Source + Source


@@ -587,7 +587,7 @@

with-monad

in the monad definition given by name. - Source + Source


@@ -601,7 +601,7 @@

with-state-field

new state returned by statement. - Source + Source


@@ -615,7 +615,7 @@

writer-m

log data. Its empty value is passed as a parameter. - Source + Source


@@ -647,7 +647,7 @@

writer-monad-protocol

Accumulation of values into containers
- Source + Source
From d982f95c7fdab8d7bbf01f0ac6b879d71e465b58 Mon Sep 17 00:00:00 2001 From: Tom Faulhaber Date: Mon, 6 Feb 2012 02:40:57 -0800 Subject: [PATCH 05/29] Autodoc commit for master/111073f4 --- api-index.html | 7 +- index-0.1.1.clj => index-0.1.3.clj | 234 +++++++++++++++-------------- index.html | 93 +++++++----- 3 files changed, 181 insertions(+), 153 deletions(-) rename index-0.1.1.clj => index-0.1.3.clj (63%) diff --git a/api-index.html b/api-index.html index d1adfac..ee10e45 100644 --- a/api-index.html +++ b/api-index.html @@ -1,6 +1,6 @@ - Index - Monad Macros and Definitions 0.1.1 API documentation + Index - Monad Macros and Definitions 0.1.3 API documentation @@ -27,7 +27,7 @@

algo.monads