aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--api-index.html1
-rw-r--r--api-index.json15
-rw-r--r--index.html2
-rw-r--r--macros-api.html22
4 files changed, 34 insertions, 6 deletions
diff --git a/api-index.html b/api-index.html
index 56d7acac..42ef4b53 100644
--- a/api-index.html
+++ b/api-index.html
@@ -750,6 +750,7 @@ Shortcuts:<br />
</span></span><span id="section-content"> <a href="command-line-api.html#with-command-line">with-command-line</a><span id="line-content"> macro command-line Bind locals to command-line args..
</span></span><span id="section-content"> <a href="jmx-api.html#with-connection">with-connection</a><span id="line-content"> macro jmx Execute body with JMX connection specified by opts...
</span></span><span id="section-content"> <a href="sql-api.html#with-connection">with-connection</a><span id="line-content"> macro sql Evaluates body in the context of a new connection ...
+</span></span><span id="section-content"> <a href="macros-api.html#with-direct-linking">with-direct-linking</a><span id="line-content"> macro macros EXPERIMENTAL! Compiles the functions in body with ...
</span></span><span id="section-content"> <a href="error-kit-api.html#with-handler">with-handler</a><span id="line-content"> macro error-kit This is error-kit's dynamic scope form. The body ...
</span></span><span id="section-content"> <a href="duck-streams-api.html#with-in-reader">with-in-reader</a><span id="line-content"> macro duck-streams Opens a PushbackReader on f, binds it to *in*, and...
</span></span><span id="section-content"> <a href="monadic-io-streams-api.html#with-io-streams">with-io-streams</a><span id="line-content"> function monadic-io-streams Open one or more streams as specified by io-spec, ...
diff --git a/api-index.json b/api-index.json
index 6eb98eb8..6aabb171 100644
--- a/api-index.json
+++ b/api-index.json
@@ -313,7 +313,7 @@
"doc":
"Local macros and symbol macros\n\nLocal macros are defined by a macrolet form. They are usable only\ninside its body. Symbol macros can be defined globally\n(defsymbolmacro) or locally (symbol-macrolet). A symbol\nmacro defines a form that replaces a symbol during macro\nexpansion. Function arguments and symbols bound in let\nforms are not subject to symbol macro expansion.\n\nLocal macros are most useful in the definition of the expansion\nof another macro, they may be used anywhere. Global symbol\nmacros can be used only inside a with-symbol-macros form."},
{"source-url":
- "http://github.com/richhickey/clojure-contrib/blob/bdc813a0d39cb3c6184c4e123d847458e9c77711/src/clojure/contrib/macros.clj",
+ "http://github.com/richhickey/clojure-contrib/blob/59b6a660707837af10b69cc67fe9033ba528d22f/src/clojure/contrib/macros.clj",
"wiki-url":
"http://richhickey.github.com/clojure-contrib/macros-api.html",
"name":"clojure.contrib.macros",
@@ -3220,7 +3220,7 @@
"doc":"Fully expand exprs, including symbol macros.",
"name":"with-symbol-macros"},
{"source-url":
- "http://github.com/richhickey/clojure-contrib/blob/bdc813a0d39cb3c6184c4e123d847458e9c77711/src/clojure/contrib/macros.clj#L18",
+ "http://github.com/richhickey/clojure-contrib/blob/59b6a660707837af10b69cc67fe9033ba528d22f/src/clojure/contrib/macros.clj#L18",
"wiki-url":
"http://richhickey.github.com/clojure-contrib//macros-api.html#macros/const",
"namespace":"clojure.contrib.macros",
@@ -3228,7 +3228,7 @@
"doc":"Evaluate the constant expression expr at compile time.",
"name":"const"},
{"source-url":
- "http://github.com/richhickey/clojure-contrib/blob/bdc813a0d39cb3c6184c4e123d847458e9c77711/src/clojure/contrib/macros.clj#L28",
+ "http://github.com/richhickey/clojure-contrib/blob/59b6a660707837af10b69cc67fe9033ba528d22f/src/clojure/contrib/macros.clj#L28",
"wiki-url":
"http://richhickey.github.com/clojure-contrib//macros-api.html#macros/letfn-",
"namespace":"clojure.contrib.macros",
@@ -3237,6 +3237,15 @@
"OBSOLETE: use clojure.core/letfn\nA variant of let for local function definitions. fn-bindings consists\nof name/args/body triples, with (letfn [name args body] ...)\nbeing equivalent to (let [name (fn name args body)] ...).",
"name":"letfn-"},
{"source-url":
+ "http://github.com/richhickey/clojure-contrib/blob/59b6a660707837af10b69cc67fe9033ba528d22f/src/clojure/contrib/macros.clj#L68",
+ "wiki-url":
+ "http://richhickey.github.com/clojure-contrib//macros-api.html#macros/with-direct-linking",
+ "namespace":"clojure.contrib.macros",
+ "arglists":[["symbols?", "&", "body"]],
+ "doc":
+ "EXPERIMENTAL!\nCompiles the functions in body with direct links to the functions\nnamed in symbols, i.e. without a var lookup for each invocation.\nSymbols is a vector of symbols that name either vars or namespaces.\nA namespace reference is replaced by the list of all symbols in the\nnamespace that are bound to functions. If symbols is not provided,\nthe default value ['clojure.core] is used. The symbol *ns* can be\nused to refer to the current namespace.",
+ "name":"with-direct-linking"},
+ {"source-url":
"http://github.com/richhickey/clojure-contrib/blob/86e90011e274910c618a5592d21ba3ce290a6855/src/clojure/contrib/map_utils.clj#L41",
"wiki-url":
"http://richhickey.github.com/clojure-contrib//map-utils-api.html#map-utils/deep-merge-with",
diff --git a/index.html b/index.html
index f169ce2e..8729b0c3 100644
--- a/index.html
+++ b/index.html
@@ -1314,7 +1314,7 @@ macros can be used only inside a with-symbol-macros form.</pre>
<pre id="namespace-docstr">Various small macros</pre>
Public variables and functions:
- <span id="var-link"><a href="macros-api.html#macros/const" id="var-tag">const</a> </span><span id="var-link"><a href="macros-api.html#macros/letfn-" id="var-tag">letfn-</a> </span><br />
+ <span id="var-link"><a href="macros-api.html#macros/const" id="var-tag">const</a> </span><span id="var-link"><a href="macros-api.html#macros/letfn-" id="var-tag">letfn-</a> </span><span id="var-link"><a href="macros-api.html#macros/with-direct-linking" id="var-tag">with-direct-linking</a> </span><br />
</div><div id="namespace-entry">
<br />
diff --git a/macros-api.html b/macros-api.html
index c72555f8..c8b5c141 100644
--- a/macros-api.html
+++ b/macros-api.html
@@ -51,6 +51,8 @@ namespace.
<a href="#macros/const">const</a>
</div><div style="margin-left: 1em;" class="toc-entry">
<a href="#macros/letfn-">letfn-</a>
+ </div><div style="margin-left: 1em;" class="toc-entry">
+ <a href="#macros/with-direct-linking">with-direct-linking</a>
</div>
<br />
</div>
@@ -75,7 +77,7 @@ by <span id="author">Konrad Hinsen</span><br />
<pre id="var-usage">Usage: (const expr)
</pre>
<pre id="var-docstr">Evaluate the constant expression expr at compile time.</pre>
- <a href="http://github.com/richhickey/clojure-contrib/blob/bdc813a0d39cb3c6184c4e123d847458e9c77711/src/clojure/contrib/macros.clj#L18" id="var-source">Source</a>
+ <a href="http://github.com/richhickey/clojure-contrib/blob/59b6a660707837af10b69cc67fe9033ba528d22f/src/clojure/contrib/macros.clj#L18" id="var-source">Source</a>
</div><div id="var-entry">
<br />
<hr />
@@ -87,7 +89,23 @@ by <span id="author">Konrad Hinsen</span><br />
A variant of let for local function definitions. fn-bindings consists
of name/args/body triples, with (letfn [name args body] ...)
being equivalent to (let [name (fn name args body)] ...).</pre>
- <a href="http://github.com/richhickey/clojure-contrib/blob/bdc813a0d39cb3c6184c4e123d847458e9c77711/src/clojure/contrib/macros.clj#L28" id="var-source">Source</a>
+ <a href="http://github.com/richhickey/clojure-contrib/blob/59b6a660707837af10b69cc67fe9033ba528d22f/src/clojure/contrib/macros.clj#L28" id="var-source">Source</a>
+</div><div id="var-entry">
+ <br />
+ <hr />
+ <h2 id="macros/with-direct-linking">with-direct-linking</h2>
+ <span id="var-type">macro</span><br />
+ <pre id="var-usage">Usage: (with-direct-linking symbols? &amp; body)
+</pre>
+ <pre id="var-docstr">EXPERIMENTAL!
+Compiles the functions in body with direct links to the functions
+named in symbols, i.e. without a var lookup for each invocation.
+Symbols is a vector of symbols that name either vars or namespaces.
+A namespace reference is replaced by the list of all symbols in the
+namespace that are bound to functions. If symbols is not provided,
+the default value ['clojure.core] is used. The symbol *ns* can be
+used to refer to the current namespace.</pre>
+ <a href="http://github.com/richhickey/clojure-contrib/blob/59b6a660707837af10b69cc67fe9033ba528d22f/src/clojure/contrib/macros.clj#L68" id="var-source">Source</a>
</div>