diff options
author | Tom Faulhaber <git_net@infolace.com> | 2010-05-28 09:07:25 -0700 |
---|---|---|
committer | Tom Faulhaber <git_net@infolace.com> | 2010-05-28 09:07:25 -0700 |
commit | 7a8e827f2e15566dcdf72e01bebfb28360adeea4 (patch) | |
tree | 65c91b75720038cc7115cfe1c3263d687954cc88 | |
parent | a045b1aa22355285b899b698af58263cb6d3040c (diff) |
Autodoc commit for master/4fe738db, 1.1.x/d132c5f1
-rw-r--r-- | branch-1.1.x/datalog-api.html | 6 | ||||
-rw-r--r-- | branch-1.1.x/doc/datalog.html | 221 | ||||
-rw-r--r-- | branch-1.1.x/doc/pprint/CommonLispFormat.html | 302 | ||||
-rw-r--r-- | branch-1.1.x/doc/pprint/PrettyPrinting.html | 359 | ||||
-rw-r--r-- | branch-1.1.x/io-api.html | 482 | ||||
-rw-r--r-- | branch-1.1.x/pprint-api.html | 8 | ||||
-rw-r--r-- | branch-1.1.x/seq-api.html | 315 | ||||
-rw-r--r-- | datalog-api.html | 6 | ||||
-rw-r--r-- | doc/datalog.html | 10 | ||||
-rw-r--r-- | doc/pprint/CommonLispFormat.html | 10 | ||||
-rw-r--r-- | doc/pprint/PrettyPrinting.html | 10 | ||||
-rw-r--r-- | duck-streams-api.html | 40 | ||||
-rw-r--r-- | generic.comparison-api.html | 20 | ||||
-rw-r--r-- | io-api.html | 52 | ||||
-rw-r--r-- | pprint-api.html | 8 |
15 files changed, 986 insertions, 863 deletions
diff --git a/branch-1.1.x/datalog-api.html b/branch-1.1.x/datalog-api.html index 98af1f08..9caf0d22 100644 --- a/branch-1.1.x/datalog-api.html +++ b/branch-1.1.x/datalog-api.html @@ -237,7 +237,11 @@ by <span id="author">Jeffrey Straszheim</span><br /> <br /> -<h2>Public Variables and Functions</h2> +<span id="external-doc">Related documentation: + <span id="external-doc-link"> + <br /><a href="doc/datalog.html">An Overview of Datalog</a> + <br /></span><br /> +</span><h2>Public Variables and Functions</h2> <div id="var-entry"> <br /> <hr /> diff --git a/branch-1.1.x/doc/datalog.html b/branch-1.1.x/doc/datalog.html new file mode 100644 index 00000000..52593d54 --- /dev/null +++ b/branch-1.1.x/doc/datalog.html @@ -0,0 +1,221 @@ +<html> + <head> + <title>An Overview of Datalog</title> + <link href="../../static/favicon.png" rel="icon" /> + <link href="../../static/favicon.png" rel="shortcut icon" /> + <link media="all" type="text/css" href="../../static/clojure.css" rel="stylesheet" /> + <link media="all" type="text/css" href="../../static/wiki.css" rel="stylesheet" /> + <link media="all" type="text/css" href="../../static/internal.css" rel="stylesheet" /> + <!-- TODO: are we using these (from clojure.org)? If so, add the files --> + <script src="file/view/code_highlighter.js" type="text/javascript"></script> + <script src="file/view/clojure.js" type="text/javascript"></script> + <style>.menuWrapper{height: 36px;}</style> + <!--[if lte IE 6]> + <link rel="stylesheet" href="http://www.wikispaces.com/_/2009051601/s/internal_ie.css" type="text/css" /> + <![endif]--> + </head> +<!-- +This document was auto-generated from the source by the clojure autodoc system. +To report errors or ask questions about the overall documentation structure, formatting, +etc., contact Tom Faulhaber (google mail name: tomfaulhaber). +For errors in the documentation of a particular namespace, contact the author of that +namespace. +--> + <body> + <div id="AllContentContainer"> + <div id="Header"> + <a id="Logo" href="index.html"><img alt="Clojure" height="100" width="100" src="../../static/clojure-icon.gif" /></a> + <h1><a title="page header title" id="page-header" href="index.html">Clojure-contrib API Reference</a></h1> + </div> + <div id="leftcolumn"><div style="text-align: center;"></div> +<div class="menu"> + <div class="WikiCustomNav WikiElement wiki"> + <div class="BranchTOC"> + <a class="wiki_link" href="#">Branches</a> + <ul id="left-sidebar-branch-list"> + <li><a href="../index.html" class="wiki_link">master</a></li><li><a href="../branch-1.1.x/index.html" class="wiki_link">1.1.x</a></li> + </ul> + </div> + <a class="wiki_link" href="index.html">Overview</a><br /> + <a class="wiki_link" href="api-index.html">API Index</a><br /> + <a class="wiki_link" href="#">Namespaces:</a> + <ul id="left-sidebar-list"> + <li><a href="accumulators-api.html" class="wiki_link">accumulators</a></li><li><a href="agent-utils-api.html" class="wiki_link">agent-utils</a></li><li><a href="apply-macro-api.html" class="wiki_link">apply-macro</a></li><li><a href="base64-api.html" class="wiki_link">base64</a></li><li><a href="classpath-api.html" class="wiki_link">classpath</a></li><li><a href="combinatorics-api.html" class="wiki_link">combinatorics</a></li><li><a href="command-line-api.html" class="wiki_link">command-line</a></li><li><a href="complex-numbers-api.html" class="wiki_link">complex-numbers</a></li><li><a href="cond-api.html" class="wiki_link">cond</a></li><li><a href="condition-api.html" class="wiki_link">condition</a></li><li><a href="core-api.html" class="wiki_link">core</a></li><li><a href="dataflow-api.html" class="wiki_link">dataflow</a></li><li><a href="datalog-api.html" class="wiki_link">datalog</a></li><li><a href="def-api.html" class="wiki_link">def</a></li><li><a href="duck-streams-api.html" class="wiki_link">duck-streams</a></li><li><a href="error-kit-api.html" class="wiki_link">error-kit</a></li><li><a href="except-api.html" class="wiki_link">except</a></li><li><a href="fcase-api.html" class="wiki_link">fcase</a></li><li><a href="find-namespaces-api.html" class="wiki_link">find-namespaces</a></li><li><a href="fnmap-api.html" class="wiki_link">fnmap</a></li><li><a href="gen-html-docs-api.html" class="wiki_link">gen-html-docs</a></li><li><a href="generic.arithmetic-api.html" class="wiki_link">generic.arithmetic</a></li><li><a href="generic.collection-api.html" class="wiki_link">generic.collection</a></li><li><a href="generic.comparison-api.html" class="wiki_link">generic.comparison</a></li><li><a href="generic.functor-api.html" class="wiki_link">generic.functor</a></li><li><a href="generic.math-functions-api.html" class="wiki_link">generic.math-functions</a></li><li><a href="graph-api.html" class="wiki_link">graph</a></li><li><a href="greatest-least-api.html" class="wiki_link">greatest-least</a></li><li><a href="http.agent-api.html" class="wiki_link">http.agent</a></li><li><a href="http.connection-api.html" class="wiki_link">http.connection</a></li><li><a href="import-static-api.html" class="wiki_link">import-static</a></li><li><a href="jar-api.html" class="wiki_link">jar</a></li><li><a href="java-utils-api.html" class="wiki_link">java-utils</a></li><li><a href="javadoc.browse-api.html" class="wiki_link">javadoc.browse</a></li><li><a href="jmx-api.html" class="wiki_link">jmx</a></li><li><a href="json.read-api.html" class="wiki_link">json.read</a></li><li><a href="json.write-api.html" class="wiki_link">json.write</a></li><li><a href="lazy-seqs-api.html" class="wiki_link">lazy-seqs</a></li><li><a href="lazy-xml-api.html" class="wiki_link">lazy-xml</a></li><li><a href="logging-api.html" class="wiki_link">logging</a></li><li><a href="macro-utils-api.html" class="wiki_link">macro-utils</a></li><li><a href="macros-api.html" class="wiki_link">macros</a></li><li><a href="map-utils-api.html" class="wiki_link">map-utils</a></li><li><a href="math-api.html" class="wiki_link">math</a></li><li><a href="miglayout-api.html" class="wiki_link">miglayout</a></li><li><a href="mmap-api.html" class="wiki_link">mmap</a></li><li><a href="mock-api.html" class="wiki_link">mock</a></li><li><a href="monadic-io-streams-api.html" class="wiki_link">monadic-io-streams</a></li><li><a href="monads-api.html" class="wiki_link">monads</a></li><li><a href="ns-utils-api.html" class="wiki_link">ns-utils</a></li><li><a href="pprint-api.html" class="wiki_link">pprint</a></li><li><a href="probabilities.finite-distributions-api.html" class="wiki_link">probabilities.finite-distributions</a></li><li><a href="probabilities.monte-carlo-api.html" class="wiki_link">probabilities.monte-carlo</a></li><li><a href="probabilities.random-numbers-api.html" class="wiki_link">probabilities.random-numbers</a></li><li><a href="profile-api.html" class="wiki_link">profile</a></li><li><a href="prxml-api.html" class="wiki_link">prxml</a></li><li><a href="repl-ln-api.html" class="wiki_link">repl-ln</a></li><li><a href="repl-utils-api.html" class="wiki_link">repl-utils</a></li><li><a href="seq-utils-api.html" class="wiki_link">seq-utils</a></li><li><a href="server-socket-api.html" class="wiki_link">server-socket</a></li><li><a href="set-api.html" class="wiki_link">set</a></li><li><a href="shell-out-api.html" class="wiki_link">shell-out</a></li><li><a href="singleton-api.html" class="wiki_link">singleton</a></li><li><a href="sql-api.html" class="wiki_link">sql</a></li><li><a href="str-utils-api.html" class="wiki_link">str-utils</a></li><li><a href="str-utils2-api.html" class="wiki_link">str-utils2</a></li><li><a href="stream-utils-api.html" class="wiki_link">stream-utils</a></li><li><a href="swing-utils-api.html" class="wiki_link">swing-utils</a></li><li><a href="test-is-api.html" class="wiki_link">test-is</a></li><li><a href="trace-api.html" class="wiki_link">trace</a></li><li><a href="types-api.html" class="wiki_link">types</a></li><li><a href="with-ns-api.html" class="wiki_link">with-ns</a></li><li><a href="zip-filter-api.html" class="wiki_link">zip-filter</a></li> + </ul> + </div> +</div> +</div> + <div id="rightcolumn"> + <div id="Content"> + <div class="contentBox"><div class="innerContentBox"> + <div id="content_view" class="wiki wikiPage"> + <div id="right-sidebar"></div> + <div id="content-tag"><html><body><h1>An Overview of Datalog</h1> + +<p>By Jeffrey Straszheim</p> + +<p><em>What Datalog is, and what it can do for you.</em></p> + +<p><em>Work in Progress</em></p> + +<h2>Introduction</h2> + +<p>Datalog is a logical query language. It exists somewhere between relational algebra (the formal theory behind SQL) and Prolog, but is closer in motivation to the former than the later. It was invented to apply some of the principles of logic programming to database theory. Its primary addition to the semantics of databases is <em>recursive</em> queries. Examples will be provided below.</p> + +<p>The implementation of Datalog that is provided (in this library) departs a bit from the original model insofar as it supports <em>in memory</em> data structures only. It is intended to give developers tools to use relational modeling for their data. A good overview of why you would want to do this is Ben Mosely's <em>Functional Relational Programming</em> material, found here: <a href="http://web.mac.com/ben_moseley/frp/frp.html">http://web.mac.com/ben_moseley/frp/frp.html</a>.</p> + +<h2>Details</h2> + +<h3>The Database</h3> + +<p>Clojure Datalog supports an in memory relational database format, implemented in clojure.contrib.datalog.database (<a href="http://github.com/richhickey/clojure-contrib/blob/master/src/clojure/contrib/datalog/database.clj">here</a>). It supports relations (tables) with named columns and simple hash based indexes. At the present time it does not support any integrity constraints (perhaps later).</p> + +<p>Tables are built with <code>make-database</code>, like this:</p> + +<pre><code>(make-database + (relation :employee [:id :name :position]) + (index :employee :name) + + (relation :boss [:employee-id :boss-id]) + (index :boss :employee-id) + + (relation :can-do-job [:position :job]) + (index :can-do-job :position) + + (relation :job-replacement [:job :can-be-done-by]) + + (relation :job-exceptions [:id :job])) +</code></pre> + +<p>The schema can be modified by <code>add-relation</code> and <code>add-index</code>. Under the hood, it is standard Clojure map from relation name to relation, and can be directly modified if needed.</p> + +<p>Data is added like this:</p> + +<pre><code>(add-tuples db-base + [:employee :id 1 :name "Bob" :position :boss] + [:employee :id 2 :name "Mary" :position :chief-accountant] + [:employee :id 3 :name "John" :position :accountant] + [:employee :id 4 :name "Sameer" :position :chief-programmer] + [:employee :id 5 :name "Lilian" :position :programmer] + [:employee :id 6 :name "Li" :position :technician] + [:employee :id 7 :name "Fred" :position :sales] + [:employee :id 8 :name "Brenda" :position :sales] + [:employee :id 9 :name "Miki" :position :project-management] + [:employee :id 10 :name "Albert" :position :technician] + + [:boss :employee-id 2 :boss-id 1] + [:boss :employee-id 3 :boss-id 2] + [:boss :employee-id 4 :boss-id 1] + [:boss :employee-id 5 :boss-id 4] + [:boss :employee-id 6 :boss-id 4] + [:boss :employee-id 7 :boss-id 1] + [:boss :employee-id 8 :boss-id 7] + [:boss :employee-id 9 :boss-id 1] + [:boss :employee-id 10 :boss-id 6] + + [:can-do-job :position :boss :job :management] + [:can-do-job :position :accountant :job :accounting] + [:can-do-job :position :chief-accountant :job :accounting] + [:can-do-job :position :programmer :job :programming] + [:can-do-job :position :chief-programmer :job :programming] + [:can-do-job :position :technician :job :server-support] + [:can-do-job :position :sales :job :sales] + [:can-do-job :position :project-management :job :project-management] + + [:job-replacement :job :pc-support :can-be-done-by :server-support] + [:job-replacement :job :pc-support :can-be-done-by :programming] + [:job-replacement :job :payroll :can-be-done-by :accounting] + + [:job-exceptions :id 4 :job :pc-support]) +</code></pre> + +<p>The meaning is, I believe, obvious.</p> + +<p>Functions that add/remove individual tuples are also provided. Use the source.</p> + +<h3>Rules</h3> + +<p>In addition to the database itself, Datalog lets you define a series of <em>inference rules</em> to apply to your data. Rules look like this:</p> + +<pre><code>(<- (:works-for :employee ?x :boss ?y) (:boss :employee-id ?e-id :boss-id ?b-id) + (:employee :id ?e-id :name ?x) + (:employee :id ?b-id :name ?y)) +</code></pre> + +<p>The <code><-</code> operator represents implication. The first form is the head of the rule, the remainder the body. The meaning is that the head is true if each member of the body is true. We can read this above rule as:</p> + +<ul> +<li>An employee (?x) works for a boss (?y) if: in the :boss relation there is an employee id (?e-id) matched to a boss id (?b-id) <em>and</em> in the :employee relation that (?e-id) matches the name (?x) <em>and also</em> in the :employee relation the id (?b-id) matches the name (?y).</li> +</ul> + +<p>Notice two things: Logic variables are prefixed by a '?', and the meaning of those variables in a rule can join together entities.</p> + +<p>That same rule might be expressed in SQL as:</p> + +<pre><code>select e.name, b.name + from employee as e, employee as b, boss + where e.id = boss.employee-id and b.id = boss.boss-id +</code></pre> + +<p>However, unlike SQL, Datalog rules can be recursive. Like this:</p> + +<pre><code>(<- (:works-for :employee ?x :boss ?y) (:works-for :employee ?x :boss ?z) + (:works-for :employee ?z :boss ?y)) +</code></pre> + +<p>If you combine these two rules, this builds a <em>transitive closure</em> of the works-for relation. It will return not only ?x's direct boss, but the boss of his boss, and so on. This cannot be done in most forms of SQL.</p> + +<h4>Negation and Conditionals</h4> + +<p><em>Todo</em></p> + +<h3>Queries</h3> + +<p>A query is how you request information from a set of rules and a database. Queries look like this:</p> + +<pre><code>(?- :works-for :employee ??name :boss ?y) +</code></pre> + +<p>Notice the double '?'!</p> + +<p>This asks for the name and boss columns from the works-for relation, which was defined by the two rules above. The double ?? allow you to parameterize your query.</p> + +<h3>Work Plans</h3> + +<p>A set of work rules and a query can form a work plan. It is done like this:</p> + +<pre><code>(build-work-plan rules (?- :works-for :employee '??name :boss ?x)) +</code></pre> + +<p>This takes a set of rules and a query, and performs some basic filtering an optimization. it is a fairly expensive operation, so try to build the plans you need once in your program, or perhaps cache them somehow.</p> + +<p>In SQL, a work plan is similar to a prepared statement.</p> + +<h3>Running your Work Plan</h3> + +<p>You run a work plan like this:</p> + +<pre><code>(run-work-plan wp db {'??name "Albert"}) +</code></pre> + +<p>Where wp is the result of (build-work-plan ...) and db is a database. The last argument is a map of bindings. It provides the specific values for any ??X forms in your query. Given the rules and query defined above, it should return a sequence of tuples of all the people that "Albert" works for.</p> + +<h3>Examples</h3> + +<p>A completed example is provided at <a href="http://github.com/richhickey/clojure-contrib/blob/master/src/clojure/contrib/datalog/example.clj">http://github.com/richhickey/clojure-contrib/blob/master/src/clojure/contrib/datalog/example.clj</a>.</p> +</body></html></div> + </div> + </div> + </div> + </div> + <div id="foot"> + <div style="text-align: center;" id="copyright">Copyright 2007-2009 by Rich Hickey and the various contributors</div> + </div> + </div> + <div id="DesignedBy">Logo & site design by <a title="Visit Tom Hickey's website." href="http://www.tomhickey.com">Tom Hickey</a>.<br /> + Clojure auto-documentation system by Tom Faulhaber.</div> + </div> + <!-- /AllContentContainer --> + </body> + +</html>
\ No newline at end of file diff --git a/branch-1.1.x/doc/pprint/CommonLispFormat.html b/branch-1.1.x/doc/pprint/CommonLispFormat.html new file mode 100644 index 00000000..315f76db --- /dev/null +++ b/branch-1.1.x/doc/pprint/CommonLispFormat.html @@ -0,0 +1,302 @@ +<html> + <head> + <title>A Common Lisp-compatible Format Function</title> + <link href="../../../static/favicon.png" rel="icon" /> + <link href="../../../static/favicon.png" rel="shortcut icon" /> + <link media="all" type="text/css" href="../../../static/clojure.css" rel="stylesheet" /> + <link media="all" type="text/css" href="../../../static/wiki.css" rel="stylesheet" /> + <link media="all" type="text/css" href="../../../static/internal.css" rel="stylesheet" /> + <!-- TODO: are we using these (from clojure.org)? If so, add the files --> + <script src="file/view/code_highlighter.js" type="text/javascript"></script> + <script src="file/view/clojure.js" type="text/javascript"></script> + <style>.menuWrapper{height: 36px;}</style> + <!--[if lte IE 6]> + <link rel="stylesheet" href="http://www.wikispaces.com/_/2009051601/s/internal_ie.css" type="text/css" /> + <![endif]--> + </head> +<!-- +This document was auto-generated from the source by the clojure autodoc system. +To report errors or ask questions about the overall documentation structure, formatting, +etc., contact Tom Faulhaber (google mail name: tomfaulhaber). +For errors in the documentation of a particular namespace, contact the author of that +namespace. +--> + <body> + <div id="AllContentContainer"> + <div id="Header"> + <a id="Logo" href="index.html"><img alt="Clojure" height="100" width="100" src="../../../static/clojure-icon.gif" /></a> + <h1><a title="page header title" id="page-header" href="index.html">Clojure-contrib API Reference</a></h1> + </div> + <div id="leftcolumn"><div style="text-align: center;"></div> +<div class="menu"> + <div class="WikiCustomNav WikiElement wiki"> + <div class="BranchTOC"> + <a class="wiki_link" href="#">Branches</a> + <ul id="left-sidebar-branch-list"> + <li><a href="../index.html" class="wiki_link">master</a></li><li><a href="../branch-1.1.x/index.html" class="wiki_link">1.1.x</a></li> + </ul> + </div> + <a class="wiki_link" href="index.html">Overview</a><br /> + <a class="wiki_link" href="api-index.html">API Index</a><br /> + <a class="wiki_link" href="#">Namespaces:</a> + <ul id="left-sidebar-list"> + <li><a href="accumulators-api.html" class="wiki_link">accumulators</a></li><li><a href="agent-utils-api.html" class="wiki_link">agent-utils</a></li><li><a href="apply-macro-api.html" class="wiki_link">apply-macro</a></li><li><a href="base64-api.html" class="wiki_link">base64</a></li><li><a href="classpath-api.html" class="wiki_link">classpath</a></li><li><a href="combinatorics-api.html" class="wiki_link">combinatorics</a></li><li><a href="command-line-api.html" class="wiki_link">command-line</a></li><li><a href="complex-numbers-api.html" class="wiki_link">complex-numbers</a></li><li><a href="cond-api.html" class="wiki_link">cond</a></li><li><a href="condition-api.html" class="wiki_link">condition</a></li><li><a href="core-api.html" class="wiki_link">core</a></li><li><a href="dataflow-api.html" class="wiki_link">dataflow</a></li><li><a href="datalog-api.html" class="wiki_link">datalog</a></li><li><a href="def-api.html" class="wiki_link">def</a></li><li><a href="duck-streams-api.html" class="wiki_link">duck-streams</a></li><li><a href="error-kit-api.html" class="wiki_link">error-kit</a></li><li><a href="except-api.html" class="wiki_link">except</a></li><li><a href="fcase-api.html" class="wiki_link">fcase</a></li><li><a href="find-namespaces-api.html" class="wiki_link">find-namespaces</a></li><li><a href="fnmap-api.html" class="wiki_link">fnmap</a></li><li><a href="gen-html-docs-api.html" class="wiki_link">gen-html-docs</a></li><li><a href="generic.arithmetic-api.html" class="wiki_link">generic.arithmetic</a></li><li><a href="generic.collection-api.html" class="wiki_link">generic.collection</a></li><li><a href="generic.comparison-api.html" class="wiki_link">generic.comparison</a></li><li><a href="generic.functor-api.html" class="wiki_link">generic.functor</a></li><li><a href="generic.math-functions-api.html" class="wiki_link">generic.math-functions</a></li><li><a href="graph-api.html" class="wiki_link">graph</a></li><li><a href="greatest-least-api.html" class="wiki_link">greatest-least</a></li><li><a href="http.agent-api.html" class="wiki_link">http.agent</a></li><li><a href="http.connection-api.html" class="wiki_link">http.connection</a></li><li><a href="import-static-api.html" class="wiki_link">import-static</a></li><li><a href="jar-api.html" class="wiki_link">jar</a></li><li><a href="java-utils-api.html" class="wiki_link">java-utils</a></li><li><a href="javadoc.browse-api.html" class="wiki_link">javadoc.browse</a></li><li><a href="jmx-api.html" class="wiki_link">jmx</a></li><li><a href="json.read-api.html" class="wiki_link">json.read</a></li><li><a href="json.write-api.html" class="wiki_link">json.write</a></li><li><a href="lazy-seqs-api.html" class="wiki_link">lazy-seqs</a></li><li><a href="lazy-xml-api.html" class="wiki_link">lazy-xml</a></li><li><a href="logging-api.html" class="wiki_link">logging</a></li><li><a href="macro-utils-api.html" class="wiki_link">macro-utils</a></li><li><a href="macros-api.html" class="wiki_link">macros</a></li><li><a href="map-utils-api.html" class="wiki_link">map-utils</a></li><li><a href="math-api.html" class="wiki_link">math</a></li><li><a href="miglayout-api.html" class="wiki_link">miglayout</a></li><li><a href="mmap-api.html" class="wiki_link">mmap</a></li><li><a href="mock-api.html" class="wiki_link">mock</a></li><li><a href="monadic-io-streams-api.html" class="wiki_link">monadic-io-streams</a></li><li><a href="monads-api.html" class="wiki_link">monads</a></li><li><a href="ns-utils-api.html" class="wiki_link">ns-utils</a></li><li><a href="pprint-api.html" class="wiki_link">pprint</a></li><li><a href="probabilities.finite-distributions-api.html" class="wiki_link">probabilities.finite-distributions</a></li><li><a href="probabilities.monte-carlo-api.html" class="wiki_link">probabilities.monte-carlo</a></li><li><a href="probabilities.random-numbers-api.html" class="wiki_link">probabilities.random-numbers</a></li><li><a href="profile-api.html" class="wiki_link">profile</a></li><li><a href="prxml-api.html" class="wiki_link">prxml</a></li><li><a href="repl-ln-api.html" class="wiki_link">repl-ln</a></li><li><a href="repl-utils-api.html" class="wiki_link">repl-utils</a></li><li><a href="seq-utils-api.html" class="wiki_link">seq-utils</a></li><li><a href="server-socket-api.html" class="wiki_link">server-socket</a></li><li><a href="set-api.html" class="wiki_link">set</a></li><li><a href="shell-out-api.html" class="wiki_link">shell-out</a></li><li><a href="singleton-api.html" class="wiki_link">singleton</a></li><li><a href="sql-api.html" class="wiki_link">sql</a></li><li><a href="str-utils-api.html" class="wiki_link">str-utils</a></li><li><a href="str-utils2-api.html" class="wiki_link">str-utils2</a></li><li><a href="stream-utils-api.html" class="wiki_link">stream-utils</a></li><li><a href="swing-utils-api.html" class="wiki_link">swing-utils</a></li><li><a href="test-is-api.html" class="wiki_link">test-is</a></li><li><a href="trace-api.html" class="wiki_link">trace</a></li><li><a href="types-api.html" class="wiki_link">types</a></li><li><a href="with-ns-api.html" class="wiki_link">with-ns</a></li><li><a href="zip-filter-api.html" class="wiki_link">zip-filter</a></li> + </ul> + </div> +</div> +</div> + <div id="rightcolumn"> + <div id="Content"> + <div class="contentBox"><div class="innerContentBox"> + <div id="content_view" class="wiki wikiPage"> + <div id="right-sidebar"></div> + <div id="content-tag"><html><body><h1>A Common Lisp-compatible Format Function</h1> + +<p>cl-format is an implementation of the incredibly baroque Common Lisp format function as specified +in <a href="http://www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/html/cltl/clm/node200.html#SECTION002633000000000000000">Common Lisp, the Language, 2nd edition, Chapter 22</a>.</p> + +<p>Format gives you an easy and powerful way to format text and data for output. It supports rich +formatting of strings and numbers, loops, conditionals, embedded formats, etc. It is really a +domain-specific language for formatting.</p> + +<p>This implementation for clojure has the following goals:</p> + +<ul> +<li>Support the full feature set of the Common Lisp format function (including the X3J13 extensions) with the only exception being concepts that make no sense or are differently interpreted in Clojure.</li> +<li>Make porting code from Common Lisp easier.</li> +<li>Provide a more native feeling solution for Clojure programmers than the Java format method and its relatives.</li> +<li>Be fast. This includes the ability to precompile formats that are going to be used reptitively.</li> +<li>Include useful error handling and comprehensive documentation.</li> +</ul> + +<h2>Why would I use cl-format?</h2> + +<p>For some people the answer to this question is that they are used to +Common Lisp and, therefore, they already know the syntax of format +strings and all the directives.</p> + +<p>A more interesting answer is that cl-format provides a way of +rendering strings that is much more suited to Lisp and its data +structures. </p> + +<p>Because iteration and conditionals are built into the directive +structure of cl-format, it is possible to render sequences and other +complex data structures directly without having to loop over the data +structure. </p> + +<p>For example, to print the elements of a sequence separated by commas, +you simply say:</p> + +<pre><code>(cl-format true "~{~a~^, ~}" aseq) +</code></pre> + +<p>(This example is taken from +<a href="http://www.gigamonkeys.com/book/">Practical Common Lisp</a> +by Peter Seibel.)</p> + +<p>The corresponding output using Clojure's Java-based <em>format</em> function +would involve a nasty loop/recur with some code to figure out about +the commas. Yuck!</p> + +<h2>Current Status of cl-format</h2> + +<p>cl-format is 100% compatible with the Common Lisp standard as +specified in CLtLv2. +This includes all of the functionality of Common +Lisp's format function including iteration, conditionals, +text justification and rich +options for displaying real and integer values. It also includes the +directives to support pretty printing structured output.</p> + +<p>If you find a bug in a directive, drop me a line +with a chunk of code that exhibits the bug and the version of +cl-format you found it in and I'll try to get it fixed.</p> + +<p>I also intend to have good built-in documentation for the directives, +but I haven't built that yet.</p> + +<p>The following directives are +not yet supported: ~:T and ~@:T (but all other forms of ~T work) +and extensions with ~/. </p> + +<p>The pretty printer interface is similar, but not identical to the +interface in Common Lisp.</p> + +<p>The custom dispatch table functionality is not fully fleshed out yet.</p> + +<p>Next up: </p> + +<ul> +<li>Support for ~/</li> +<li>Restructure unit tests into modular chunks.</li> +<li>Import tests from CLISP and SBCL.</li> +<li>Unit tests for exception conditions.</li> +<li>Interactive documentation</li> +</ul> + +<h2>How to use cl-format</h2> + +<h3>Loading cl-format in your program</h3> + +<p>Once cl-format is in your path, adding it to your code is easy:</p> + +<pre><code>(ns your-namespace-here + (:use clojure.contrib.pprint)) +</code></pre> + +<p>If you want to refer to the cl-format function as "format" (rather +than using the clojure function of that name), you can use this idiom:</p> + +<pre><code>(ns your-namespace-here + (:refer-clojure :exclude [format]) + (:use clojure.contrib.pprint)) + +(def format cl-format) +</code></pre> + +<p>You might want to do this in code that you've ported from Common Lisp, +for instance, or maybe just because old habits die hard.</p> + +<p>From the REPL, you can grab it using (use):</p> + +<pre><code>(use 'clojure.contrib.pprint) +</code></pre> + +<h3>Calling cl-format</h3> + +<p>cl-format is a standard clojure function that takes a variable number +of arguments. You call it like this:</p> + +<pre><code>(cl-format stream format args...) +</code></pre> + +<p><em>stream</em> can be any Java Writer (that is java.io.Writer) or the values +<em>true</em>, <em>false</em>, or <em>nil</em>. The argument <em>true</em> is identical to using +<code>*</code>out<code>*</code> while <em>false</em> or <em>nil</em> indicate that cl-format should return +its result as a string rather than writing it to a stream.</p> + +<p><em>format</em> is either a format string or a compiled format (see +below). The format string controls the output that's written in a way +that's similar to (but much more powerful than) the standard Clojure +API format function (which is based on Java's +java.lang.String.Format).</p> + +<p>Format strings consist of characters that are to be written to the +output stream plus directives (which are marked by ~) as in "The +answer is ~,2f". Format strings are documented in detail in +<a href="http://www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/html/cltl/clm/node200.html#SECTION002633000000000000000"><em>Common Lisp the Language</em>, 2nd edition, Chapter 22</a>.</p> + +<p><em>args</em> is a set of arguments whose use is defined by the format.</p> + +<h3>Compiled formats</h3> + +<p>When you use a format string many times (for example, when you're outputting +in a loop), you can improve your performance by compiling the format +with <em>compile-format</em>. The result of compile format can be passed to +<em>cl-format</em> just like a format string but it doesn't need to be +parsed.</p> + +<p>For example:</p> + +<pre><code>(def log-format (compile-format "~2,'0D/~2,'0D/~D ~2D:~2,'0D ~:[PM,AM]: ~A~%")) + +(defn log [msg] + (let [[m d y h min am?] (some-date-decomposition-fn)] + (cl-format log-format m d y h min am? msg))) +</code></pre> + +<h2>Using column aware streams across format invocations</h2> + +<p>Writers in Java have no real idea of current column or device page width, so the format +directives that want to work relative to the current position on the +page have nothing to work with. To deal with this, cl-format contains +an extension to writer called PrettyWriter. PrettyWriter watches the +output and keeps track of what column the current output is going to.</p> + +<p>When you call format and your format includes a directive that cares +about what column it's in (~T, ~&, ~<...~>), cl-format will +automatically wrap the Writer you passed in with a PrettyWriter. This +means that by default all cl-format statements act like they begin on +a fresh line and have a page width of 72.</p> + +<p>For many applications, these assumptions are fine and you need to do +nothing more. But sometimes you want to use multiple cl-format calls +that output partial lines. You may also want to mix cl-format calls +with the native clojure calls like print. If you want stay +column-aware while doingg this you need to create a PrettyWriter of +your own (and possibly bind it to <code>*</code>out<code>*</code>).</p> + +<p>As an example of this, this function takes a nested list and prints it +as a table (returning the result as a string):</p> + +<pre><code>(defn list-to-table [aseq column-width] + (let [stream (PrettyWriter. (java.io.StringWriter.))] + (binding [*out* stream] + (doseq [row aseq] + (doseq [col row] + (cl-format true "~4D~7,vT" col column-width)) + (prn))) + (.toString (.getWriter stream)))) +</code></pre> + +<p>(In reality, you'd probably do this as a single call to cl-format.)</p> + +<p>The constructor to PrettyWriter takes the Writer it's wrapping and +(optionally) the page width (in columns) for use with ~<...~>. </p> + +<h2>Examples</h2> + +<p>The following function uses cl-format to dump a columnized table of the Java system properties:</p> + +<pre><code>(defn show-props [stream] + (let [p (mapcat + #(vector (key %) (val %)) + (sort-by key (System/getProperties)))] + (cl-format stream "~30A~A~%~{~20,,,'-A~10A~}~%~{~30A~S~%~}" + "Property" "Value" ["" "" "" ""] p))) +</code></pre> + +<p>There are some more examples in the clojure.contrib.pprint.examples +package:</p> + +<ul> +<li>hexdump - a program that uses cl-format to create a standard formatted hexdump of the requested stream.</li> +<li>multiply - a function to show a formatted multipication table in a very "first-order" way.</li> +<li>props - the show-props example shown above.</li> +<li>show_doc - some utilities for showing documentation from various name spaces.</li> +</ul> + +<h2>Differences from the Common Lisp format function</h2> + +<p>The floating point directives that show exponents (~E, ~G) show E for +the exponent character in all cases (unless overridden with an +<em>exponentchar</em>). Clojure does not distinguish between floats and +doubles in its printed representation and neither does cl-format.</p> + +<p>The ~A and ~S directives accept the colon prefix, but ignore it since +() and nil are not equivalent in Clojure.</p> + +<p>Clojure has 3 different reader syntaxes for characters. The ~@c +directive to cl-format has an argument extension to let you choose:</p> + +<ul> +<li>~@c (with no argument) prints "\c" (backslash followed by the printed representation of the character or \newline, \space, \tab, \backspace, \return)</li> +<li>~'o@c prints "\oDDD" where DDD are the octal digits representing the character. </li> +<li>~'u@c prints "\uXXXX" prints the hex Unicode representation of the character. </li> +</ul> +</body></html></div> + </div> + </div> + </div> + </div> + <div id="foot"> + <div style="text-align: center;" id="copyright">Copyright 2007-2009 by Rich Hickey and the various contributors</div> + </div> + </div> + <div id="DesignedBy">Logo & site design by <a title="Visit Tom Hickey's website." href="http://www.tomhickey.com">Tom Hickey</a>.<br /> + Clojure auto-documentation system by Tom Faulhaber.</div> + </div> + <!-- /AllContentContainer --> + </body> + +</html>
\ No newline at end of file diff --git a/branch-1.1.x/doc/pprint/PrettyPrinting.html b/branch-1.1.x/doc/pprint/PrettyPrinting.html new file mode 100644 index 00000000..097fc9e9 --- /dev/null +++ b/branch-1.1.x/doc/pprint/PrettyPrinting.html @@ -0,0 +1,359 @@ +<html> + <head> + <title>A Pretty Printer for Clojure</title> + <link href="../../../static/favicon.png" rel="icon" /> + <link href="../../../static/favicon.png" rel="shortcut icon" /> + <link media="all" type="text/css" href="../../../static/clojure.css" rel="stylesheet" /> + <link media="all" type="text/css" href="../../../static/wiki.css" rel="stylesheet" /> + <link media="all" type="text/css" href="../../../static/internal.css" rel="stylesheet" /> + <!-- TODO: are we using these (from clojure.org)? If so, add the files --> + <script src="file/view/code_highlighter.js" type="text/javascript"></script> + <script src="file/view/clojure.js" type="text/javascript"></script> + <style>.menuWrapper{height: 36px;}</style> + <!--[if lte IE 6]> + <link rel="stylesheet" href="http://www.wikispaces.com/_/2009051601/s/internal_ie.css" type="text/css" /> + <![endif]--> + </head> +<!-- +This document was auto-generated from the source by the clojure autodoc system. +To report errors or ask questions about the overall documentation structure, formatting, +etc., contact Tom Faulhaber (google mail name: tomfaulhaber). +For errors in the documentation of a particular namespace, contact the author of that +namespace. +--> + <body> + <div id="AllContentContainer"> + <div id="Header"> + <a id="Logo" href="index.html"><img alt="Clojure" height="100" width="100" src="../../../static/clojure-icon.gif" /></a> + <h1><a title="page header title" id="page-header" href="index.html">Clojure-contrib API Reference</a></h1> + </div> + <div id="leftcolumn"><div style="text-align: center;"></div> +<div class="menu"> + <div class="WikiCustomNav WikiElement wiki"> + <div class="BranchTOC"> + <a class="wiki_link" href="#">Branches</a> + <ul id="left-sidebar-branch-list"> + <li><a href="../index.html" class="wiki_link">master</a></li><li><a href="../branch-1.1.x/index.html" class="wiki_link">1.1.x</a></li> + </ul> + </div> + <a class="wiki_link" href="index.html">Overview</a><br /> + <a class="wiki_link" href="api-index.html">API Index</a><br /> + <a class="wiki_link" href="#">Namespaces:</a> + <ul id="left-sidebar-list"> + <li><a href="accumulators-api.html" class="wiki_link">accumulators</a></li><li><a href="agent-utils-api.html" class="wiki_link">agent-utils</a></li><li><a href="apply-macro-api.html" class="wiki_link">apply-macro</a></li><li><a href="base64-api.html" class="wiki_link">base64</a></li><li><a href="classpath-api.html" class="wiki_link">classpath</a></li><li><a href="combinatorics-api.html" class="wiki_link">combinatorics</a></li><li><a href="command-line-api.html" class="wiki_link">command-line</a></li><li><a href="complex-numbers-api.html" class="wiki_link">complex-numbers</a></li><li><a href="cond-api.html" class="wiki_link">cond</a></li><li><a href="condition-api.html" class="wiki_link">condition</a></li><li><a href="core-api.html" class="wiki_link">core</a></li><li><a href="dataflow-api.html" class="wiki_link">dataflow</a></li><li><a href="datalog-api.html" class="wiki_link">datalog</a></li><li><a href="def-api.html" class="wiki_link">def</a></li><li><a href="duck-streams-api.html" class="wiki_link">duck-streams</a></li><li><a href="error-kit-api.html" class="wiki_link">error-kit</a></li><li><a href="except-api.html" class="wiki_link">except</a></li><li><a href="fcase-api.html" class="wiki_link">fcase</a></li><li><a href="find-namespaces-api.html" class="wiki_link">find-namespaces</a></li><li><a href="fnmap-api.html" class="wiki_link">fnmap</a></li><li><a href="gen-html-docs-api.html" class="wiki_link">gen-html-docs</a></li><li><a href="generic.arithmetic-api.html" class="wiki_link">generic.arithmetic</a></li><li><a href="generic.collection-api.html" class="wiki_link">generic.collection</a></li><li><a href="generic.comparison-api.html" class="wiki_link">generic.comparison</a></li><li><a href="generic.functor-api.html" class="wiki_link">generic.functor</a></li><li><a href="generic.math-functions-api.html" class="wiki_link">generic.math-functions</a></li><li><a href="graph-api.html" class="wiki_link">graph</a></li><li><a href="greatest-least-api.html" class="wiki_link">greatest-least</a></li><li><a href="http.agent-api.html" class="wiki_link">http.agent</a></li><li><a href="http.connection-api.html" class="wiki_link">http.connection</a></li><li><a href="import-static-api.html" class="wiki_link">import-static</a></li><li><a href="jar-api.html" class="wiki_link">jar</a></li><li><a href="java-utils-api.html" class="wiki_link">java-utils</a></li><li><a href="javadoc.browse-api.html" class="wiki_link">javadoc.browse</a></li><li><a href="jmx-api.html" class="wiki_link">jmx</a></li><li><a href="json.read-api.html" class="wiki_link">json.read</a></li><li><a href="json.write-api.html" class="wiki_link">json.write</a></li><li><a href="lazy-seqs-api.html" class="wiki_link">lazy-seqs</a></li><li><a href="lazy-xml-api.html" class="wiki_link">lazy-xml</a></li><li><a href="logging-api.html" class="wiki_link">logging</a></li><li><a href="macro-utils-api.html" class="wiki_link">macro-utils</a></li><li><a href="macros-api.html" class="wiki_link">macros</a></li><li><a href="map-utils-api.html" class="wiki_link">map-utils</a></li><li><a href="math-api.html" class="wiki_link">math</a></li><li><a href="miglayout-api.html" class="wiki_link">miglayout</a></li><li><a href="mmap-api.html" class="wiki_link">mmap</a></li><li><a href="mock-api.html" class="wiki_link">mock</a></li><li><a href="monadic-io-streams-api.html" class="wiki_link">monadic-io-streams</a></li><li><a href="monads-api.html" class="wiki_link">monads</a></li><li><a href="ns-utils-api.html" class="wiki_link">ns-utils</a></li><li><a href="pprint-api.html" class="wiki_link">pprint</a></li><li><a href="probabilities.finite-distributions-api.html" class="wiki_link">probabilities.finite-distributions</a></li><li><a href="probabilities.monte-carlo-api.html" class="wiki_link">probabilities.monte-carlo</a></li><li><a href="probabilities.random-numbers-api.html" class="wiki_link">probabilities.random-numbers</a></li><li><a href="profile-api.html" class="wiki_link">profile</a></li><li><a href="prxml-api.html" class="wiki_link">prxml</a></li><li><a href="repl-ln-api.html" class="wiki_link">repl-ln</a></li><li><a href="repl-utils-api.html" class="wiki_link">repl-utils</a></li><li><a href="seq-utils-api.html" class="wiki_link">seq-utils</a></li><li><a href="server-socket-api.html" class="wiki_link">server-socket</a></li><li><a href="set-api.html" class="wiki_link">set</a></li><li><a href="shell-out-api.html" class="wiki_link">shell-out</a></li><li><a href="singleton-api.html" class="wiki_link">singleton</a></li><li><a href="sql-api.html" class="wiki_link">sql</a></li><li><a href="str-utils-api.html" class="wiki_link">str-utils</a></li><li><a href="str-utils2-api.html" class="wiki_link">str-utils2</a></li><li><a href="stream-utils-api.html" class="wiki_link">stream-utils</a></li><li><a href="swing-utils-api.html" class="wiki_link">swing-utils</a></li><li><a href="test-is-api.html" class="wiki_link">test-is</a></li><li><a href="trace-api.html" class="wiki_link">trace</a></li><li><a href="types-api.html" class="wiki_link">types</a></li><li><a href="with-ns-api.html" class="wiki_link">with-ns</a></li><li><a href="zip-filter-api.html" class="wiki_link">zip-filter</a></li> + </ul> + </div> +</div> +</div> + <div id="rightcolumn"> + <div id="Content"> + <div class="contentBox"><div class="innerContentBox"> + <div id="content_view" class="wiki wikiPage"> + <div id="right-sidebar"></div> + <div id="content-tag"><html><body><h1>A Pretty Printer for Clojure</h1> + +<p>To use pretty printing in clojure.contrib, it is necessary to build +clojure.contrib with compiled classes. To do this, you must tell +ant where to find clojure.jar. For me, this looks like:</p> + +<pre><code> ant -Dclojure.jar=../clojure/clojure.jar +</code></pre> + +<p>because I keep clojure source and clojure.contrib source right next to +each other. Just point the pathname to wherever you keep clojure.jar.</p> + +<h2>Overview</h2> + +<p>This library adds a new feature to Clojure: a generalized pretty +printer.</p> + +<p>The pretty printer is easy to use:</p> + +<pre><code>user=> (println (for [x (range 10)] (range x))) +(() (0) (0 1) (0 1 2) (0 1 2 3) (0 1 2 3 4) (0 1 2 3 4 5) (0 1 2 3 4 5 6) (0 1 2 3 4 5 6 7) (0 1 2 3 4 5 6 7 8)) +nil +user=> (use 'clojure.contrib.pprint) +nil +user=> (pprint (for [x (range 10)] (range x))) +(() + (0) + (0 1) + (0 1 2) + (0 1 2 3) + (0 1 2 3 4) + (0 1 2 3 4 5) + (0 1 2 3 4 5 6) + (0 1 2 3 4 5 6 7) + (0 1 2 3 4 5 6 7 8)) +nil +user=> +</code></pre> + +<p>The pretty printer supports two modes: <em>code</em> which has special +formatting for special forms and core macros and <em>simple</em> (the +default) which formats the various Clojure data structures as +appropriate for raw data. In the future, the pretty printer will be +highly customizable, but right now it is pretty simple.</p> + +<p>All the functions and variables described here are in the +clojure.contrib.pprint namespace. Using them is as simple as including +clojure-contrib.jar to your classpath and adding a (:use clojure.contrib.pprint) to +your namespace declarations.</p> + +<p>pprint is being developed by Tom Faulhaber (to mail me you can use +my first name at my domain which is infolace.com).</p> + +<p>As part of clojure.contrib, the pretty printer is licensed under the +[http://opensource.org/licenses/eclipse-1.0.php Eclipse Public License 1.0].</p> + +<p>clojure.contrib is hosted on google code at [http://code.google.com/p/clojure-contrib/]</p> + +<p>Future development is guided by those using it, so send feedback about +what's working and not working for you and what you'd like to see in the +pretty printer.</p> + +<h2>Pretty Printing Basics</h2> + +<p>Pretty printing is primarily implemented with the function +pprint. pprint takes a single argument and formats it according to the +settings of several special variables.</p> + +<p>Generally, the defaults are fine for pretty printing and you can +simply use:</p> + +<pre><code>(pprint obj) +</code></pre> + +<p>to print your object. If you wish to write to +another stream besides <code>*</code>out<code>*</code>, you can use:</p> + +<pre><code>(write obj :pretty true :stream foo) +</code></pre> + +<p>where foo is the stream to which you wish to write. (The write +function has a lot more options which are not yet documented. Stay +tuned.)</p> + +<p>When at the REPL, the pp macro pretty prints the last output +value. This is useful when you get something too complex to read +comfortably. Just type:</p> + +<pre><code>user=> (pp) +</code></pre> + +<p>and you'll get a pretty printed version of the last thing output (the +magic variable <code>*</code>1).</p> + +<h2>Dispatch tables and code formatting</h2> + +<p>The behavior of the pretty printer can be finely controlled through +the use of <em>dispatch tables</em> that contain descriptions for how +different structures should be formatted. </p> + +<p>Using custom dispatch tables, the pretty printer can create formatted +output for data structures that is customized for the +application. This allows pretty printing to be baked into any +structured output. For information and examples, see below in +[#Custom<em>Dispatch</em>Functions Custom Dispatch Functions].</p> + +<p>The pretty printer comes with two pre-defined dispatch tables to cover +the most common situations:</p> + +<p><code>*</code>simple-dispatch<code>*</code> - supports basic representation of data in various +Clojure structures: seqs, maps, vectors, etc. in a fairly statndard +way. When structures need to be broken across lines, following lines +are indented to line up with the first element. <code>*</code>simple-dispatch<code>*</code> is +the default and is good from showing the output of most operations.</p> + +<p><code>*</code>code-dispatch<code>*</code> - has special representation for various structures +found in code: defn, condp, binding vectors, anonymous functions, +etc. This dispatch indents following lines of a list one more space as +appropriate for a function/argument type of list.</p> + +<p>An example formatted with code dispatch:</p> + +<pre><code>user=> (def code '(defn cl-format +"An implementation of a Common Lisp compatible format function" +[stream format-in & args] (let [compiled-format (if (string? format-in) +(compile-format format-in) format-in) navigator (init-navigator args)] +(execute-format stream compiled-format navigator)))) +#'user/code +user=> (with-pprint-dispatch *code-dispatch* (pprint code)) +(defn cl-format + "An implementation of a Common Lisp compatible format function" + [stream format-in & args] + (let [compiled-format (if (string? format-in) + (compile-format format-in) + format-in) + navigator (init-navigator args)] + (execute-format stream compiled-format navigator))) +nil +user=> +</code></pre> + +<p>There are three ways to set the current dispatch: set it to a specific +table permanantly with set-pprint-dispatch, bind it with +with-pprint-dispatch (as shown in the example above), or use the +:dispatch keyword argument to write.</p> + +<h2>Control variables</h2> + +<p>The operation of pretty printing is also controlled by a set of variables +that control general parameters of how the pretty printer makes +decisions. The current list is as follows:</p> + +<p><em><code>*</code>print-pretty<code>*</code></em>: Default: <em>true</em> </p> + +<p>Bind to true if you want write to use pretty printing. (pprint and pp automatically +bind this to true.)</p> + +<p><em><code>*</code>print-right-margin<code>*</code></em>: Default: <em>72</em></p> + +<p>Pretty printing will try to avoid anything going beyond this column.</p> + +<p><em><code>*</code>print-miser-width<code>*</code></em>: Default: <em>40</em></p> + +<p>The column at which to enter miser style. Depending on the dispatch table, +miser style add newlines in more places to try to keep lines short allowing for further +levels of nesting. For example, in the code dispatch table, the pretty printer will +insert a newline between the "if" and its condition when in miser style.</p> + +<p><em><code>*</code>print-suppress-namespaces<code>*</code></em>: Default: <em>false</em></p> + +<p>Don't print namespaces with symbols. This is particularly useful when +pretty printing the results of macro expansions</p> + +<p><em><code>*</code>print-level<code>*</code></em>: Default: <em>nil</em></p> + +<p>As with the regular Clojure print function, this variable controls the +depth of structure that is printed. The argument itself is level 0, +the first level of a collection is level 1, etc. When the structure +gets deeper than the specified <code>*</code>print-level<code>*</code>, a hash sign (#) is +printed.</p> + +<p>For example:</p> + +<pre><code>user=> (binding [*print-level* 2] (pprint '(a b (c d) ((e) ((f d) g))))) +(a b (c d) (# #)) +nil +user=> +</code></pre> + +<p><em><code>*</code>print-length<code>*</code></em>: Default: <em>nil</em></p> + +<p>As with the regular Clojure print function, this variable controls the +number of items that are printed at each layer of structure. When a +layer has too many items, elipses (...) are displayed. </p> + +<p>For example:</p> + +<pre><code>user=> (defn foo [x] (for [i (range x) ] (range 1 (- x (dec i))))) +#'user/foo +user=> (binding [*print-length* 6] (pprint (foo 10))) +((1 2 3 4 5 6 ...) + (1 2 3 4 5 6 ...) + (1 2 3 4 5 6 ...) + (1 2 3 4 5 6 ...) + (1 2 3 4 5 6) + (1 2 3 4 5) + ...) +nil +user=> +</code></pre> + +<h2>Custom Dispatch Functions</h2> + +<p>Using custom dispatch, you can easily create your own formatted output +for structured data. Examples included with the pretty printer show +how to use custom dispatch to translate simple Clojure structures into +nicely formatted JSON and XML.</p> + +<h3>Basic Concepts of Pretty Printing</h3> + +<p>In order to create custom dispatch functions, you need to understand +the fundamentals of pretty printing. The clojure pretty printer is +based on the XP pretty printer algorithm (used in many Lisps including +Common Lisp) which supports sophisticated decision-making about line +breaking and indentation with reasonable performance even for very +large structures. The XP algorithm is documented in the paper, +[http://dspace.mit.edu/handle/1721.1/6504 XP. A Common Lisp Pretty +Printing System].</p> + +<p>The Clojure implementation of XP is similar in spirit to the Common +Lisp implementation, but the details of the interface are somewhat +different. The result is that writing custom dispatch in Clojure is +more "Clojure-y."</p> + +<p>There are three key concepts to understand when creating custom pretty +printing functions: <em>logical blocks</em>, <em>conditional newlines</em>, and +<em>indentation</em>.</p> + +<p>A <em>logical block</em> marks a set of output that should be thought about +as a single unit by the pretty printer. Logical blocks can contain +other logical blocks (that is, they nest). As a simple example, when +printing list structure, every sublist will typically be a logical +block.</p> + +<p><em>Conditional newlines</em> tell the pretty printer where it can insert +line breaks and how to make the decisions about when to do it. There +are four types of conditional newline:</p> + +<ul> +<li>Linear newlines tell the pretty printer to insert a newline in a +place whenever the enclosing logical block won't fit on a single +line. Linear newlines are an all-or-nothing proposition; if the +logical block doesn't fit on a single line, <em>all</em> the linear +newlines are emitted as actual newlines.</li> +<li>Fill newlines tell the pretty printer that it should fit as many +chunks of the logical block as possible on this line and then emit +a newline.</li> +<li>Mandatory newlines tell the pretty printer to emit a newline +regardless of where it is in the output line. </li> +<li>Miser newlines tell the pretty printer to emit a newline if the +output column is in the miser region (as defined by the pretty +printer variable <code>*</code>pprint-miser-width<code>*</code>). This allows you to +define special behavior as the output gets heavily nested near the +right margin.</li> +</ul> + +<p><em>Indentation</em> commands allow you to specify how wrapped lines should +be indented. Indentation can be relative to either the start column of +the current logical block or the current column position of the output. </p> + +<p>(This section is still incomplete...)</p> + +<h2>Current limitations and future plans</h2> + +<p>This is an early version release of the pretty printer and there is +plenty that is yet to come.</p> + +<p>Here are some examples:</p> + +<ul> +<li>Support all the types and forms in Clojure (most of the way there now).</li> +<li>Support for limiting pretty printing based on line counts.</li> +<li>Support for circular and shared substructure detection.</li> +<li>Finishing the integration with the format function (support for ~/ and tabular pretty printing).</li> +<li>Performance! (Not much thought has been made to making this go fast, but there are a bunch of pretty obvious speedups to be had.)</li> +<li>Handle Java objects intelligently</li> +</ul> + +<p>Please let me know about anything that's not working right, anything that +should work differently, or the feature you think should be at the top +of my list. </p> +</body></html></div> + </div> + </div> + </div> + </div> + <div id="foot"> + <div style="text-align: center;" id="copyright">Copyright 2007-2009 by Rich Hickey and the various contributors</div> + </div> + </div> + <div id="DesignedBy">Logo & site design by <a title="Visit Tom Hickey's website." href="http://www.tomhickey.com">Tom Hickey</a>.<br /> + Clojure auto-documentation system by Tom Faulhaber.</div> + </div> + <!-- /AllContentContainer --> + </body> + +</html>
\ No newline at end of file diff --git a/branch-1.1.x/io-api.html b/branch-1.1.x/io-api.html deleted file mode 100644 index f93227ae..00000000 --- a/branch-1.1.x/io-api.html +++ /dev/null @@ -1,482 +0,0 @@ -<html> - <head> - <title>io API reference (clojure-contrib)</title> - <link href="../static/favicon.png" rel="icon" /> - <link href="../static/favicon.png" rel="shortcut icon" /> - <link media="all" type="text/css" href="../static/clojure.css" rel="stylesheet" /> - <link media="all" type="text/css" href="../static/wiki.css" rel="stylesheet" /> - <link media="all" type="text/css" href="../static/internal.css" rel="stylesheet" /> - <!-- TODO: are we using these (from clojure.org)? If so, add the files --> - <script src="file/view/code_highlighter.js" type="text/javascript"></script> - <script src="file/view/clojure.js" type="text/javascript"></script> - <style>.menuWrapper{height: 36px;}</style> - <!--[if lte IE 6]> - <link rel="stylesheet" href="http://www.wikispaces.com/_/2009051601/s/internal_ie.css" type="text/css" /> - <![endif]--> - </head> -<!-- -This document was auto-generated from the source by the clojure autodoc system. -To report errors or ask questions about the overall documentation structure, formatting, -etc., contact Tom Faulhaber (google mail name: tomfaulhaber). -For errors in the documentation of a particular namespace, contact the author of that -namespace. ---> - <body> - <div id="AllContentContainer"> - <div id="Header"> - <a id="Logo" href="index.html"><img alt="Clojure" height="100" width="100" src="../static/clojure-icon.gif" /></a> - <h1><a title="page header title" id="page-header" href="index.html">Clojure-contrib API Reference</a></h1> - </div> - <div id="leftcolumn"><div style="text-align: center;"></div> -<div class="menu"> - <div class="WikiCustomNav WikiElement wiki"> - <div class="BranchTOC"> - <a class="wiki_link" href="#">Branches</a> - <ul id="left-sidebar-branch-list"> - <li><a href="../index.html" class="wiki_link">master</a></li><li><a href="../branch-1.1.x/index.html" class="wiki_link">1.1.x</a></li> - </ul> - </div> - <a class="wiki_link" href="index.html">Overview</a><br /> - <a class="wiki_link" href="api-index.html">API Index</a><br /> - <a class="wiki_link" href="#">Namespaces:</a> - <ul id="left-sidebar-list"> - <li><a href="accumulators-api.html" class="wiki_link">accumulators</a></li><li><a href="agent-utils-api.html" class="wiki_link">agent-utils</a></li><li><a href="apply-macro-api.html" class="wiki_link">apply-macro</a></li><li><a href="base64-api.html" class="wiki_link">base64</a></li><li><a href="classpath-api.html" class="wiki_link">classpath</a></li><li><a href="combinatorics-api.html" class="wiki_link">combinatorics</a></li><li><a href="command-line-api.html" class="wiki_link">command-line</a></li><li><a href="complex-numbers-api.html" class="wiki_link">complex-numbers</a></li><li><a href="cond-api.html" class="wiki_link">cond</a></li><li><a href="condition-api.html" class="wiki_link">condition</a></li><li><a href="core-api.html" class="wiki_link">core</a></li><li><a href="dataflow-api.html" class="wiki_link">dataflow</a></li><li><a href="datalog-api.html" class="wiki_link">datalog</a></li><li><a href="def-api.html" class="wiki_link">def</a></li><li><a href="duck-streams-api.html" class="wiki_link">duck-streams</a></li><li><a href="error-kit-api.html" class="wiki_link">error-kit</a></li><li><a href="except-api.html" class="wiki_link">except</a></li><li><a href="fcase-api.html" class="wiki_link">fcase</a></li><li><a href="find-namespaces-api.html" class="wiki_link">find-namespaces</a></li><li><a href="fnmap-api.html" class="wiki_link">fnmap</a></li><li><a href="gen-html-docs-api.html" class="wiki_link">gen-html-docs</a></li><li><a href="generic.arithmetic-api.html" class="wiki_link">generic.arithmetic</a></li><li><a href="generic.collection-api.html" class="wiki_link">generic.collection</a></li><li><a href="generic.comparison-api.html" class="wiki_link">generic.comparison</a></li><li><a href="generic.functor-api.html" class="wiki_link">generic.functor</a></li><li><a href="generic.math-functions-api.html" class="wiki_link">generic.math-functions</a></li><li><a href="graph-api.html" class="wiki_link">graph</a></li><li><a href="greatest-least-api.html" class="wiki_link">greatest-least</a></li><li><a href="http.agent-api.html" class="wiki_link">http.agent</a></li><li><a href="http.connection-api.html" class="wiki_link">http.connection</a></li><li><a href="import-static-api.html" class="wiki_link">import-static</a></li><li><a href="io-api.html" class="wiki_link">io</a></li><li><a href="jar-api.html" class="wiki_link">jar</a></li><li><a href="java-utils-api.html" class="wiki_link">java-utils</a></li><li><a href="jmx-api.html" class="wiki_link">jmx</a></li><li><a href="json.read-api.html" class="wiki_link">json.read</a></li><li><a href="json.write-api.html" class="wiki_link">json.write</a></li><li><a href="lazy-seqs-api.html" class="wiki_link">lazy-seqs</a></li><li><a href="lazy-xml-api.html" class="wiki_link">lazy-xml</a></li><li><a href="logging-api.html" class="wiki_link">logging</a></li><li><a href="macro-utils-api.html" class="wiki_link">macro-utils</a></li><li><a href="macros-api.html" class="wiki_link">macros</a></li><li><a href="map-utils-api.html" class="wiki_link">map-utils</a></li><li><a href="math-api.html" class="wiki_link">math</a></li><li><a href="miglayout-api.html" class="wiki_link">miglayout</a></li><li><a href="mmap-api.html" class="wiki_link">mmap</a></li><li><a href="mock-api.html" class="wiki_link">mock</a></li><li><a href="monadic-io-streams-api.html" class="wiki_link">monadic-io-streams</a></li><li><a href="monads-api.html" class="wiki_link">monads</a></li><li><a href="ns-utils-api.html" class="wiki_link">ns-utils</a></li><li><a href="pprint-api.html" class="wiki_link">pprint</a></li><li><a href="probabilities.finite-distributions-api.html" class="wiki_link">probabilities.finite-distributions</a></li><li><a href="probabilities.monte-carlo-api.html" class="wiki_link">probabilities.monte-carlo</a></li><li><a href="probabilities.random-numbers-api.html" class="wiki_link">probabilities.random-numbers</a></li><li><a href="profile-api.html" class="wiki_link">profile</a></li><li><a href="prxml-api.html" class="wiki_link">prxml</a></li><li><a href="repl-ln-api.html" class="wiki_link">repl-ln</a></li><li><a href="repl-utils-api.html" class="wiki_link">repl-utils</a></li><li><a href="seq-api.html" class="wiki_link">seq</a></li><li><a href="seq-utils-api.html" class="wiki_link">seq-utils</a></li><li><a href="server-socket-api.html" class="wiki_link">server-socket</a></li><li><a href="set-api.html" class="wiki_link">set</a></li><li><a href="shell-out-api.html" class="wiki_link">shell-out</a></li><li><a href="singleton-api.html" class="wiki_link">singleton</a></li><li><a href="sql-api.html" class="wiki_link">sql</a></li><li><a href="str-utils-api.html" class="wiki_link">str-utils</a></li><li><a href="str-utils2-api.html" class="wiki_link">str-utils2</a></li><li><a href="stream-utils-api.html" class="wiki_link">stream-utils</a></li><li><a href="swing-utils-api.html" class="wiki_link">swing-utils</a></li><li><a href="test-is-api.html" class="wiki_link">test-is</a></li><li><a href="trace-api.html" class="wiki_link">trace</a></li><li><a href="types-api.html" class="wiki_link">types</a></li><li><a href="with-ns-api.html" class="wiki_link">with-ns</a></li><li><a href="zip-filter-api.html" class="wiki_link">zip-filter</a></li> - </ul> - </div> -</div> -</div> - <div id="rightcolumn"> - <div id="Content"> - <div class="contentBox"><div class="innerContentBox"> - <div id="content_view" class="wiki wikiPage"> - <div id="right-sidebar"><div id="toc"> - <h1 class="nopad">Table of Contents</h1> - <div style="margin-left: 1em;" class="toc-section"> - <a href="#toc0">Overview</a> - <div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.io/*append*">*append*</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.io/*buffer-size*">*buffer-size*</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.io/*byte-array-type*">*byte-array-type*</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.io/*default-encoding*">*default-encoding*</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.io/append-output-stream">append-output-stream</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.io/append-spit">append-spit</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.io/append-writer">append-writer</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.io/as-file">as-file</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.io/as-url">as-url</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.io/copy">copy</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.io/delete-file">delete-file</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.io/delete-file-recursively">delete-file-recursively</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.io/file">file</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.io/file-str">file-str</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.io/input-stream">input-stream</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.io/make-parents">make-parents</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.io/output-stream">output-stream</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.io/pwd">pwd</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.io/read-lines">read-lines</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.io/reader">reader</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.io/relative-path-string">relative-path-string</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.io/slurp*">slurp*</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.io/spit">spit</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.io/to-byte-array">to-byte-array</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.io/with-in-reader">with-in-reader</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.io/with-out-append-writer">with-out-append-writer</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.io/with-out-writer">with-out-writer</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.io/write-lines">write-lines</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.io/writer">writer</a> - </div> - <br /> - </div> -</div> -</div> - <div id="content-tag"><h1 id="overview">API for <span id="namespace-name">io</span> - <span id="branch-name">(1.1.x branch)</span></h1> -by <span id="author">Stuart Sierra</span><br /> -<br />Usage: -<pre> -(ns your-namespace - (:require <span id="long-name">clojure.contrib.io</span>)) -</pre><pre> -</pre><h2>Overview</h2> -<pre id="namespace-docstr">This file defines "duck-typed" I/O utility functions for Clojure. -The 'reader' and 'writer' functions will open and return an -instance of java.io.BufferedReader and java.io.PrintWriter, -respectively, for a variety of argument types -- filenames as -strings, URLs, java.io.File's, etc. 'reader' even works on http -URLs. - -Note: this is not really "duck typing" as implemented in languages -like Ruby. A better name would have been "do-what-I-mean-streams" -or "just-give-me-a-stream", but ducks are funnier.</pre> -<br /> -<h2>Public Variables and Functions</h2> -<div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.io/*append*">*append*</h2> - <span id="var-type">var</span><br /> - <pre id="var-usage"></pre> - <pre id="var-docstr">If true, writer, output-stream and spit will open files in append mode. -Defaults to false. Instead of binding this var directly, use append-writer, -append-output-stream or append-spit.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.io/*buffer-size*">*buffer-size*</h2> - <span id="var-type">var</span><br /> - <pre id="var-usage"></pre> - <pre id="var-docstr">Size, in bytes or characters, of the buffer used when -copying streams.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.io/*byte-array-type*">*byte-array-type*</h2> - <span id="var-type">var</span><br /> - <pre id="var-usage"></pre> - <pre id="var-docstr">Type object for a Java primitive byte array.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.io/*default-encoding*">*default-encoding*</h2> - <span id="var-type">var</span><br /> - <pre id="var-usage"></pre> - <pre id="var-docstr">Name of the default encoding to use when reading & writing. -Default is UTF-8.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.io/append-output-stream">append-output-stream</h2> - <span id="var-type">function</span><br /> - <pre id="var-usage">Usage: (append-output-stream x) -</pre> - <pre id="var-docstr">Like output-stream but opens file for appending. Does not work on streams -that are already open.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.io/append-spit">append-spit</h2> - <span id="var-type">function</span><br /> - <pre id="var-usage">Usage: (append-spit f content) -</pre> - <pre id="var-docstr">Like spit but appends to file.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.io/append-writer">append-writer</h2> - <span id="var-type">function</span><br /> - <pre id="var-usage">Usage: (append-writer x) -</pre> - <pre id="var-docstr">Like writer but opens file for appending. Does not work on streams -that are already open.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.io/as-file">as-file</h2> - <span id="var-type">multimethod</span><br /> - <pre id="var-usage">No usage documentation available</pre> - <pre id="var-docstr">Interpret a String or a java.io.File as a File. Building block -for clojure.contrib.java/file, which you should prefer -in most cases.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.io/as-url">as-url</h2> - <span id="var-type">multimethod</span><br /> - <pre id="var-usage">Usage: (as-url arg) -</pre> - <pre id="var-docstr">Coerces argument (URL, URI, or String) to a java.net.URL.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.io/copy">copy</h2> - <span id="var-type">multimethod</span><br /> - <pre id="var-usage">Usage: (copy input output) -</pre> - <pre id="var-docstr">Copies input to output. Returns nil. -Input may be an InputStream, Reader, File, byte[], or String. -Output may be an OutputStream, Writer, or File. - -Does not close any streams except those it opens itself -(on a File). - -Writing a File fails if the parent directory does not exist.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.io/delete-file">delete-file</h2> - <span id="var-type">function</span><br /> - <pre id="var-usage">Usage: (delete-file f & [silently]) -</pre> - <pre id="var-docstr">Delete file f. Raise an exception if it fails unless silently is true.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.io/delete-file-recursively">delete-file-recursively</h2> - <span id="var-type">function</span><br /> - <pre id="var-usage">Usage: (delete-file-recursively f & [silently]) -</pre> - <pre id="var-docstr">Delete file f. If it's a directory, recursively delete all its contents. -Raise an exception if any deletion fails unless silently is true.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.io/file">file</h2> - <span id="var-type">function</span><br /> - <pre id="var-usage">Usage: (file arg) - (file parent child) - (file parent child & more) -</pre> - <pre id="var-docstr">Returns a java.io.File from string or file args.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.io/file-str">file-str</h2> - <span id="var-type">function</span><br /> - <pre id="var-usage">Usage: (file-str & args) -</pre> - <pre id="var-docstr">Concatenates args as strings and returns a java.io.File. Replaces -all / and \ with File/separatorChar. Replaces ~ at the start of -the path with the user.home system property.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.io/input-stream">input-stream</h2> - <span id="var-type">multimethod</span><br /> - <pre id="var-usage">Usage: (input-stream x) -</pre> - <pre id="var-docstr">Attempts to coerce its argument into an open -java.io.BufferedInputStream. Argument may be an instance of -BufferedInputStream, InputStream, File, URI, URL, Socket, or String. - -If argument is a String, it tries to resolve it first as a URI, then -as a local file name. URIs with a 'file' protocol are converted to -local file names. If this fails, a final attempt is made to resolve -the string as a resource on the CLASSPATH. - -Should be used inside with-open to ensure the InputStream is properly -closed.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.io/make-parents">make-parents</h2> - <span id="var-type">function</span><br /> - <pre id="var-usage">Usage: (make-parents file) -</pre> - <pre id="var-docstr">Creates all parent directories of file.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.io/output-stream">output-stream</h2> - <span id="var-type">multimethod</span><br /> - <pre id="var-usage">Usage: (output-stream x) -</pre> - <pre id="var-docstr">Attempts to coerce its argument into an open -java.io.OutputStream or java.io.BufferedOutputStream. Argument may -be an instance of OutputStream, File, URI, URL, Socket, or String. - -If argument is a String, it tries to resolve it first as a URI, then -as a local file name. URIs with a 'file' protocol are converted to -local file names. - -Should be used inside with-open to ensure the OutputStream is -properly closed.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.io/pwd">pwd</h2> - <span id="var-type">function</span><br /> - <pre id="var-usage">Usage: (pwd) -</pre> - <pre id="var-docstr">Returns current working directory as a String. (Like UNIX 'pwd'.) -Note: In Java, you cannot change the current working directory.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.io/read-lines">read-lines</h2> - <span id="var-type">function</span><br /> - <pre id="var-usage">Usage: (read-lines f) -</pre> - <pre id="var-docstr">Like clojure.core/line-seq but opens f with reader. Automatically -closes the reader AFTER YOU CONSUME THE ENTIRE SEQUENCE.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.io/reader">reader</h2> - <span id="var-type">multimethod</span><br /> - <pre id="var-usage">Usage: (reader x) -</pre> - <pre id="var-docstr">Attempts to coerce its argument into an open -java.io.BufferedReader. Argument may be an instance of Reader, -BufferedReader, InputStream, File, URI, URL, Socket, or String. - -If argument is a String, it tries to resolve it first as a URI, then -as a local file name. URIs with a 'file' protocol are converted to -local file names. If this fails, a final attempt is made to resolve -the string as a resource on the CLASSPATH. - -Uses *default-encoding* as the text encoding. - -Should be used inside with-open to ensure the Reader is properly -closed.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.io/relative-path-string">relative-path-string</h2> - <span id="var-type">multimethod</span><br /> - <pre id="var-usage">No usage documentation available</pre> - <pre id="var-docstr">Interpret a String or java.io.File as a relative path string. -Building block for clojure.contrib.java/file.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.io/slurp*">slurp*</h2> - <span id="var-type">function</span><br /> - <pre id="var-usage">Usage: (slurp* f) -</pre> - <pre id="var-docstr">Like clojure.core/slurp but opens f with reader.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.io/spit">spit</h2> - <span id="var-type">function</span><br /> - <pre id="var-usage">Usage: (spit f content) -</pre> - <pre id="var-docstr">Opposite of slurp. Opens f with writer, writes content, then -closes f.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.io/to-byte-array">to-byte-array</h2> - <span id="var-type">multimethod</span><br /> - <pre id="var-usage">Usage: (to-byte-array arg) -</pre> - <pre id="var-docstr">Converts argument into a Java byte array. Argument may be -a String, File, InputStream, or Reader. If the argument is already -a byte array, returns it.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.io/with-in-reader">with-in-reader</h2> - <span id="var-type">macro</span><br /> - <pre id="var-usage">Usage: (with-in-reader f & body) -</pre> - <pre id="var-docstr">Opens a PushbackReader on f, binds it to *in*, and evaluates body.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.io/with-out-append-writer">with-out-append-writer</h2> - <span id="var-type">macro</span><br /> - <pre id="var-usage">Usage: (with-out-append-writer f & body) -</pre> - <pre id="var-docstr">Like with-out-writer but appends to file.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.io/with-out-writer">with-out-writer</h2> - <span id="var-type">macro</span><br /> - <pre id="var-usage">Usage: (with-out-writer f & body) -</pre> - <pre id="var-docstr">Opens a writer on f, binds it to *out*, and evalutes body. -Anything printed within body will be written to f.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.io/write-lines">write-lines</h2> - <span id="var-type">function</span><br /> - <pre id="var-usage">Usage: (write-lines f lines) -</pre> - <pre id="var-docstr">Writes lines (a seq) to f, separated by newlines. f is opened with -writer, and automatically closed at the end of the sequence.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.io/writer">writer</h2> - <span id="var-type">multimethod</span><br /> - <pre id="var-usage">Usage: (writer x) -</pre> - <pre id="var-docstr">Attempts to coerce its argument into an open java.io.PrintWriter -wrapped around a java.io.BufferedWriter. Argument may be an -instance of Writer, PrintWriter, BufferedWriter, OutputStream, File, -URI, URL, Socket, or String. - -If argument is a String, it tries to resolve it first as a URI, then -as a local file name. URIs with a 'file' protocol are converted to -local file names. - -Should be used inside with-open to ensure the Writer is properly -closed.</pre> - -</div> - - -</div> - </div> - </div> - </div> - </div> - <div id="foot"> - <div style="text-align: center;" id="copyright">Copyright 2007-2009 by Rich Hickey and the various contributors</div> - </div> - </div> - <div id="DesignedBy">Logo & site design by <a title="Visit Tom Hickey's website." href="http://www.tomhickey.com">Tom Hickey</a>.<br /> - Clojure auto-documentation system by Tom Faulhaber.</div> - </div> - <!-- /AllContentContainer --> - </body> - -</html>
\ No newline at end of file diff --git a/branch-1.1.x/pprint-api.html b/branch-1.1.x/pprint-api.html index 061bc130..223f015d 100644 --- a/branch-1.1.x/pprint-api.html +++ b/branch-1.1.x/pprint-api.html @@ -155,7 +155,13 @@ documentation on the the clojure-contrib web site on github.</pre> <br /> -<h2>Public Variables and Functions</h2> +<span id="external-doc">Related documentation: + <span id="external-doc-link"> + <br /><a href="doc/pprint/CommonLispFormat.html">A Common Lisp-compatible Format Function</a> + <br /></span><span id="external-doc-link"> + <br /><a href="doc/pprint/PrettyPrinting.html">A Pretty Printer for Clojure</a> + <br /></span><br /> +</span><h2>Public Variables and Functions</h2> <div id="var-entry"> <br /> <hr /> diff --git a/branch-1.1.x/seq-api.html b/branch-1.1.x/seq-api.html deleted file mode 100644 index 1c20db9c..00000000 --- a/branch-1.1.x/seq-api.html +++ /dev/null @@ -1,315 +0,0 @@ -<html> - <head> - <title>seq API reference (clojure-contrib)</title> - <link href="../static/favicon.png" rel="icon" /> - <link href="../static/favicon.png" rel="shortcut icon" /> - <link media="all" type="text/css" href="../static/clojure.css" rel="stylesheet" /> - <link media="all" type="text/css" href="../static/wiki.css" rel="stylesheet" /> - <link media="all" type="text/css" href="../static/internal.css" rel="stylesheet" /> - <!-- TODO: are we using these (from clojure.org)? If so, add the files --> - <script src="file/view/code_highlighter.js" type="text/javascript"></script> - <script src="file/view/clojure.js" type="text/javascript"></script> - <style>.menuWrapper{height: 36px;}</style> - <!--[if lte IE 6]> - <link rel="stylesheet" href="http://www.wikispaces.com/_/2009051601/s/internal_ie.css" type="text/css" /> - <![endif]--> - </head> -<!-- -This document was auto-generated from the source by the clojure autodoc system. -To report errors or ask questions about the overall documentation structure, formatting, -etc., contact Tom Faulhaber (google mail name: tomfaulhaber). -For errors in the documentation of a particular namespace, contact the author of that -namespace. ---> - <body> - <div id="AllContentContainer"> - <div id="Header"> - <a id="Logo" href="index.html"><img alt="Clojure" height="100" width="100" src="../static/clojure-icon.gif" /></a> - <h1><a title="page header title" id="page-header" href="index.html">Clojure-contrib API Reference</a></h1> - </div> - <div id="leftcolumn"><div style="text-align: center;"></div> -<div class="menu"> - <div class="WikiCustomNav WikiElement wiki"> - <div class="BranchTOC"> - <a class="wiki_link" href="#">Branches</a> - <ul id="left-sidebar-branch-list"> - <li><a href="../index.html" class="wiki_link">master</a></li><li><a href="../branch-1.1.x/index.html" class="wiki_link">1.1.x</a></li> - </ul> - </div> - <a class="wiki_link" href="index.html">Overview</a><br /> - <a class="wiki_link" href="api-index.html">API Index</a><br /> - <a class="wiki_link" href="#">Namespaces:</a> - <ul id="left-sidebar-list"> - <li><a href="accumulators-api.html" class="wiki_link">accumulators</a></li><li><a href="agent-utils-api.html" class="wiki_link">agent-utils</a></li><li><a href="apply-macro-api.html" class="wiki_link">apply-macro</a></li><li><a href="base64-api.html" class="wiki_link">base64</a></li><li><a href="classpath-api.html" class="wiki_link">classpath</a></li><li><a href="combinatorics-api.html" class="wiki_link">combinatorics</a></li><li><a href="command-line-api.html" class="wiki_link">command-line</a></li><li><a href="complex-numbers-api.html" class="wiki_link">complex-numbers</a></li><li><a href="cond-api.html" class="wiki_link">cond</a></li><li><a href="condition-api.html" class="wiki_link">condition</a></li><li><a href="core-api.html" class="wiki_link">core</a></li><li><a href="dataflow-api.html" class="wiki_link">dataflow</a></li><li><a href="datalog-api.html" class="wiki_link">datalog</a></li><li><a href="def-api.html" class="wiki_link">def</a></li><li><a href="duck-streams-api.html" class="wiki_link">duck-streams</a></li><li><a href="error-kit-api.html" class="wiki_link">error-kit</a></li><li><a href="except-api.html" class="wiki_link">except</a></li><li><a href="fcase-api.html" class="wiki_link">fcase</a></li><li><a href="find-namespaces-api.html" class="wiki_link">find-namespaces</a></li><li><a href="fnmap-api.html" class="wiki_link">fnmap</a></li><li><a href="gen-html-docs-api.html" class="wiki_link">gen-html-docs</a></li><li><a href="generic.arithmetic-api.html" class="wiki_link">generic.arithmetic</a></li><li><a href="generic.collection-api.html" class="wiki_link">generic.collection</a></li><li><a href="generic.comparison-api.html" class="wiki_link">generic.comparison</a></li><li><a href="generic.functor-api.html" class="wiki_link">generic.functor</a></li><li><a href="generic.math-functions-api.html" class="wiki_link">generic.math-functions</a></li><li><a href="graph-api.html" class="wiki_link">graph</a></li><li><a href="greatest-least-api.html" class="wiki_link">greatest-least</a></li><li><a href="http.agent-api.html" class="wiki_link">http.agent</a></li><li><a href="http.connection-api.html" class="wiki_link">http.connection</a></li><li><a href="import-static-api.html" class="wiki_link">import-static</a></li><li><a href="io-api.html" class="wiki_link">io</a></li><li><a href="jar-api.html" class="wiki_link">jar</a></li><li><a href="java-utils-api.html" class="wiki_link">java-utils</a></li><li><a href="jmx-api.html" class="wiki_link">jmx</a></li><li><a href="json.read-api.html" class="wiki_link">json.read</a></li><li><a href="json.write-api.html" class="wiki_link">json.write</a></li><li><a href="lazy-seqs-api.html" class="wiki_link">lazy-seqs</a></li><li><a href="lazy-xml-api.html" class="wiki_link">lazy-xml</a></li><li><a href="logging-api.html" class="wiki_link">logging</a></li><li><a href="macro-utils-api.html" class="wiki_link">macro-utils</a></li><li><a href="macros-api.html" class="wiki_link">macros</a></li><li><a href="map-utils-api.html" class="wiki_link">map-utils</a></li><li><a href="math-api.html" class="wiki_link">math</a></li><li><a href="miglayout-api.html" class="wiki_link">miglayout</a></li><li><a href="mmap-api.html" class="wiki_link">mmap</a></li><li><a href="mock-api.html" class="wiki_link">mock</a></li><li><a href="monadic-io-streams-api.html" class="wiki_link">monadic-io-streams</a></li><li><a href="monads-api.html" class="wiki_link">monads</a></li><li><a href="ns-utils-api.html" class="wiki_link">ns-utils</a></li><li><a href="pprint-api.html" class="wiki_link">pprint</a></li><li><a href="probabilities.finite-distributions-api.html" class="wiki_link">probabilities.finite-distributions</a></li><li><a href="probabilities.monte-carlo-api.html" class="wiki_link">probabilities.monte-carlo</a></li><li><a href="probabilities.random-numbers-api.html" class="wiki_link">probabilities.random-numbers</a></li><li><a href="profile-api.html" class="wiki_link">profile</a></li><li><a href="prxml-api.html" class="wiki_link">prxml</a></li><li><a href="repl-ln-api.html" class="wiki_link">repl-ln</a></li><li><a href="repl-utils-api.html" class="wiki_link">repl-utils</a></li><li><a href="seq-api.html" class="wiki_link">seq</a></li><li><a href="seq-utils-api.html" class="wiki_link">seq-utils</a></li><li><a href="server-socket-api.html" class="wiki_link">server-socket</a></li><li><a href="set-api.html" class="wiki_link">set</a></li><li><a href="shell-out-api.html" class="wiki_link">shell-out</a></li><li><a href="singleton-api.html" class="wiki_link">singleton</a></li><li><a href="sql-api.html" class="wiki_link">sql</a></li><li><a href="str-utils-api.html" class="wiki_link">str-utils</a></li><li><a href="str-utils2-api.html" class="wiki_link">str-utils2</a></li><li><a href="stream-utils-api.html" class="wiki_link">stream-utils</a></li><li><a href="swing-utils-api.html" class="wiki_link">swing-utils</a></li><li><a href="test-is-api.html" class="wiki_link">test-is</a></li><li><a href="trace-api.html" class="wiki_link">trace</a></li><li><a href="types-api.html" class="wiki_link">types</a></li><li><a href="with-ns-api.html" class="wiki_link">with-ns</a></li><li><a href="zip-filter-api.html" class="wiki_link">zip-filter</a></li> - </ul> - </div> -</div> -</div> - <div id="rightcolumn"> - <div id="Content"> - <div class="contentBox"><div class="innerContentBox"> - <div id="content_view" class="wiki wikiPage"> - <div id="right-sidebar"><div id="toc"> - <h1 class="nopad">Table of Contents</h1> - <div style="margin-left: 1em;" class="toc-section"> - <a href="#toc0">Overview</a> - <div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.seq/fill-queue">fill-queue</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.seq/find-first">find-first</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.seq/flatten">flatten</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.seq/frequencies">frequencies</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.seq/group-by">group-by</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.seq/includes?">includes?</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.seq/indexed">indexed</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.seq/partition-all">partition-all</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.seq/partition-by">partition-by</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.seq/positions">positions</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.seq/rand-elt">rand-elt</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.seq/rec-cat">rec-cat</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.seq/rec-seq">rec-seq</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.seq/reductions">reductions</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.seq/rotations">rotations</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.seq/separate">separate</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.seq/seq-on">seq-on</a> - </div><div style="margin-left: 1em;" class="toc-entry"> - <a href="#clojure.contrib.seq/shuffle">shuffle</a> - </div> - <br /> - </div> -</div> -</div> - <div id="content-tag"><h1 id="overview">API for <span id="namespace-name">seq</span> - <span id="branch-name">(1.1.x branch)</span></h1> -by <span id="author">Stuart Sierra (and others)</span><br /> -<br />Usage: -<pre> -(ns your-namespace - (:require <span id="long-name">clojure.contrib.seq</span>)) -</pre><pre> -</pre><h2>Overview</h2> -<pre id="namespace-docstr">Sequence utilities for Clojure</pre> -<br /> -<h2>Public Variables and Functions</h2> -<div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.seq/fill-queue">fill-queue</h2> - <span id="var-type">function</span><br /> - <pre id="var-usage">Usage: (fill-queue filler-func & optseq) -</pre> - <pre id="var-docstr">filler-func will be called in another thread with a single arg -'fill'. filler-func may call fill repeatedly with one arg each -time which will be pushed onto a queue, blocking if needed until -this is possible. fill-queue will return a lazy seq of the values -filler-func has pushed onto the queue, blocking if needed until each -next element becomes available. filler-func's return value is ignored.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.seq/find-first">find-first</h2> - <span id="var-type">function</span><br /> - <pre id="var-usage">Usage: (find-first pred coll) -</pre> - <pre id="var-docstr">Returns the first item of coll for which (pred item) returns logical true. -Consumes sequences up to the first match, will consume the entire sequence -and return nil if no match is found.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.seq/flatten">flatten</h2> - <span id="var-type">function</span><br /> - <pre id="var-usage">Usage: (flatten x) -</pre> - <pre id="var-docstr">Takes any nested combination of sequential things (lists, vectors, -etc.) and returns their contents as a single, flat sequence. -(flatten nil) returns nil.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.seq/frequencies">frequencies</h2> - <span id="var-type">function</span><br /> - <pre id="var-usage">Usage: (frequencies coll) -</pre> - <pre id="var-docstr">Returns a map from distinct items in coll to the number of times -they appear.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.seq/group-by">group-by</h2> - <span id="var-type">function</span><br /> - <pre id="var-usage">Usage: (group-by f coll) -</pre> - <pre id="var-docstr">Returns a sorted map of the elements of coll keyed by the result of -f on each element. The value at each key will be a vector of the -corresponding elements, in the order they appeared in coll.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.seq/includes?">includes?</h2> - <span id="var-type">function</span><br /> - <pre id="var-usage">Usage: (includes? coll x) -</pre> - <pre id="var-docstr">Returns true if coll contains something equal (with =) to x, -in linear time.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.seq/indexed">indexed</h2> - <span id="var-type">function</span><br /> - <pre id="var-usage">Usage: (indexed s) -</pre> - <pre id="var-docstr">Returns a lazy sequence of [index, item] pairs, where items come -from 's' and indexes count up from zero. - -(indexed '(a b c d)) => ([0 a] [1 b] [2 c] [3 d])</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.seq/partition-all">partition-all</h2> - <span id="var-type">function</span><br /> - <pre id="var-usage">Usage: (partition-all n coll) - (partition-all n step coll) -</pre> - <pre id="var-docstr">Returns a lazy sequence of lists like clojure.core/partition, but may -include lists with fewer than n items at the end.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.seq/partition-by">partition-by</h2> - <span id="var-type">function</span><br /> - <pre id="var-usage">Usage: (partition-by f coll) -</pre> - <pre id="var-docstr">Applies f to each value in coll, splitting it each time f returns -a new value. Returns a lazy seq of lazy seqs.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.seq/positions">positions</h2> - <span id="var-type">function</span><br /> - <pre id="var-usage">Usage: (positions pred coll) -</pre> - <pre id="var-docstr">Returns a lazy sequence containing the positions at which pred -is true for items in coll.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.seq/rand-elt">rand-elt</h2> - <span id="var-type">function</span><br /> - <pre id="var-usage">Usage: (rand-elt s) -</pre> - <pre id="var-docstr">Return a random element of this seq</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.seq/rec-cat">rec-cat</h2> - <span id="var-type">macro</span><br /> - <pre id="var-usage">Usage: (rec-cat binding-name & exprs) -</pre> - <pre id="var-docstr">Similar to lazy-cat but binds the resulting sequence to the supplied -binding-name, allowing for recursive expressions.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.seq/rec-seq">rec-seq</h2> - <span id="var-type">macro</span><br /> - <pre id="var-usage">Usage: (rec-seq binding-name & body) -</pre> - <pre id="var-docstr">Similar to lazy-seq but binds the resulting seq to the supplied -binding-name, allowing for recursive expressions.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.seq/reductions">reductions</h2> - <span id="var-type">function</span><br /> - <pre id="var-usage">Usage: (reductions f coll) - (reductions f init coll) -</pre> - <pre id="var-docstr">Returns a lazy seq of the intermediate values of the reduction (as -per reduce) of coll by f, starting with init.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.seq/rotations">rotations</h2> - <span id="var-type">function</span><br /> - <pre id="var-usage">Usage: (rotations x) -</pre> - <pre id="var-docstr">Returns a lazy seq of all rotations of a seq</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.seq/separate">separate</h2> - <span id="var-type">function</span><br /> - <pre id="var-usage">Usage: (separate f s) -</pre> - <pre id="var-docstr">Returns a vector: -[ (filter f s), (filter (complement f) s) ]</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.seq/seq-on">seq-on</h2> - <span id="var-type">multimethod</span><br /> - <pre id="var-usage">Usage: (seq-on s) -</pre> - <pre id="var-docstr">Returns a seq on the object s. Works like the built-in seq but as -a multimethod that can have implementations for new classes and types.</pre> - -</div><div id="var-entry"> - <br /> - <hr /> - <h2 id="clojure.contrib.seq/shuffle">shuffle</h2> - <span id="var-type">function</span><br /> - <pre id="var-usage">Usage: (shuffle coll) -</pre> - <pre id="var-docstr">Return a random permutation of coll</pre> - -</div> - - -</div> - </div> - </div> - </div> - </div> - <div id="foot"> - <div style="text-align: center;" id="copyright">Copyright 2007-2009 by Rich Hickey and the various contributors</div> - </div> - </div> - <div id="DesignedBy">Logo & site design by <a title="Visit Tom Hickey's website." href="http://www.tomhickey.com">Tom Hickey</a>.<br /> - Clojure auto-documentation system by Tom Faulhaber.</div> - </div> - <!-- /AllContentContainer --> - </body> - -</html>
\ No newline at end of file diff --git a/datalog-api.html b/datalog-api.html index cb981dfc..8ea54607 100644 --- a/datalog-api.html +++ b/datalog-api.html @@ -149,7 +149,11 @@ by <span id="author">Jeffrey Straszheim</span><br /> <br /> -<h2>Public Variables and Functions</h2> +<span id="external-doc">Related documentation: + <span id="external-doc-link"> + <br /><a href="doc/datalog.html">An Overview of Datalog</a> + <br /></span><br /> +</span><h2>Public Variables and Functions</h2> <h2 id="namespace-name">datalog.database</h2> <pre id="namespace-docstr"></pre> diff --git a/doc/datalog.html b/doc/datalog.html index 7317c5ea..2e5dd835 100644 --- a/doc/datalog.html +++ b/doc/datalog.html @@ -24,17 +24,23 @@ namespace. <body> <div id="AllContentContainer"> <div id="Header"> - <a id="Logo" href="index.html"><img alt="Clojure" height="100" width="100" src="static/clojure-icon.gif" /></a> + <a id="Logo" href="index.html"><img alt="Clojure" height="100" width="100" src="../static/clojure-icon.gif" /></a> <h1><a title="page header title" id="page-header" href="index.html">Clojure-contrib API Reference</a></h1> </div> <div id="leftcolumn"><div style="text-align: center;"></div> <div class="menu"> <div class="WikiCustomNav WikiElement wiki"> + <div class="BranchTOC"> + <a class="wiki_link" href="#">Branches</a> + <ul id="left-sidebar-branch-list"> + <li><a href="index.html" class="wiki_link">master</a></li><li><a href="branch-1.1.x/index.html" class="wiki_link">1.1.x</a></li> + </ul> + </div> <a class="wiki_link" href="index.html">Overview</a><br /> <a class="wiki_link" href="api-index.html">API Index</a><br /> <a class="wiki_link" href="#">Namespaces:</a> <ul id="left-sidebar-list"> - <li><a href="accumulators-api.html" class="wiki_link">accumulators</a></li><li><a href="agent-utils-api.html" class="wiki_link">agent-utils</a></li><li><a href="apply-macro-api.html" class="wiki_link">apply-macro</a></li><li><a href="base64-api.html" class="wiki_link">base64</a></li><li><a href="classpath-api.html" class="wiki_link">classpath</a></li><li><a href="combinatorics-api.html" class="wiki_link">combinatorics</a></li><li><a href="command-line-api.html" class="wiki_link">command-line</a></li><li><a href="complex-numbers-api.html" class="wiki_link">complex-numbers</a></li><li><a href="cond-api.html" class="wiki_link">cond</a></li><li><a href="condition-api.html" class="wiki_link">condition</a></li><li><a href="core-api.html" class="wiki_link">core</a></li><li><a href="dataflow-api.html" class="wiki_link">dataflow</a></li><li><a href="datalog-api.html" class="wiki_link">datalog</a></li><li><a href="def-api.html" class="wiki_link">def</a></li><li><a href="duck-streams-api.html" class="wiki_link">duck-streams</a></li><li><a href="error-kit-api.html" class="wiki_link">error-kit</a></li><li><a href="except-api.html" class="wiki_link">except</a></li><li><a href="fcase-api.html" class="wiki_link">fcase</a></li><li><a href="find-namespaces-api.html" class="wiki_link">find-namespaces</a></li><li><a href="fnmap-api.html" class="wiki_link">fnmap</a></li><li><a href="gen-html-docs-api.html" class="wiki_link">gen-html-docs</a></li><li><a href="generic.arithmetic-api.html" class="wiki_link">generic.arithmetic</a></li><li><a href="generic.collection-api.html" class="wiki_link">generic.collection</a></li><li><a href="generic.comparison-api.html" class="wiki_link">generic.comparison</a></li><li><a href="generic.functor-api.html" class="wiki_link">generic.functor</a></li><li><a href="generic.math-functions-api.html" class="wiki_link">generic.math-functions</a></li><li><a href="graph-api.html" class="wiki_link">graph</a></li><li><a href="greatest-least-api.html" class="wiki_link">greatest-least</a></li><li><a href="http.agent-api.html" class="wiki_link">http.agent</a></li><li><a href="http.connection-api.html" class="wiki_link">http.connection</a></li><li><a href="import-static-api.html" class="wiki_link">import-static</a></li><li><a href="jar-api.html" class="wiki_link">jar</a></li><li><a href="java-utils-api.html" class="wiki_link">java-utils</a></li><li><a href="javadoc.browse-api.html" class="wiki_link">javadoc.browse</a></li><li><a href="jmx-api.html" class="wiki_link">jmx</a></li><li><a href="json.read-api.html" class="wiki_link">json.read</a></li><li><a href="json.write-api.html" class="wiki_link">json.write</a></li><li><a href="lazy-seqs-api.html" class="wiki_link">lazy-seqs</a></li><li><a href="lazy-xml-api.html" class="wiki_link">lazy-xml</a></li><li><a href="logging-api.html" class="wiki_link">logging</a></li><li><a href="macro-utils-api.html" class="wiki_link">macro-utils</a></li><li><a href="macros-api.html" class="wiki_link">macros</a></li><li><a href="map-utils-api.html" class="wiki_link">map-utils</a></li><li><a href="math-api.html" class="wiki_link">math</a></li><li><a href="miglayout-api.html" class="wiki_link">miglayout</a></li><li><a href="mmap-api.html" class="wiki_link">mmap</a></li><li><a href="mock-api.html" class="wiki_link">mock</a></li><li><a href="monadic-io-streams-api.html" class="wiki_link">monadic-io-streams</a></li><li><a href="monads-api.html" class="wiki_link">monads</a></li><li><a href="ns-utils-api.html" class="wiki_link">ns-utils</a></li><li><a href="pprint-api.html" class="wiki_link">pprint</a></li><li><a href="probabilities.finite-distributions-api.html" class="wiki_link">probabilities.finite-distributions</a></li><li><a href="probabilities.monte-carlo-api.html" class="wiki_link">probabilities.monte-carlo</a></li><li><a href="probabilities.random-numbers-api.html" class="wiki_link">probabilities.random-numbers</a></li><li><a href="profile-api.html" class="wiki_link">profile</a></li><li><a href="prxml-api.html" class="wiki_link">prxml</a></li><li><a href="repl-ln-api.html" class="wiki_link">repl-ln</a></li><li><a href="repl-utils-api.html" class="wiki_link">repl-utils</a></li><li><a href="seq-utils-api.html" class="wiki_link">seq-utils</a></li><li><a href="server-socket-api.html" class="wiki_link">server-socket</a></li><li><a href="set-api.html" class="wiki_link">set</a></li><li><a href="shell-out-api.html" class="wiki_link">shell-out</a></li><li><a href="singleton-api.html" class="wiki_link">singleton</a></li><li><a href="sql-api.html" class="wiki_link">sql</a></li><li><a href="str-utils-api.html" class="wiki_link">str-utils</a></li><li><a href="str-utils2-api.html" class="wiki_link">str-utils2</a></li><li><a href="stream-utils-api.html" class="wiki_link">stream-utils</a></li><li><a href="swing-utils-api.html" class="wiki_link">swing-utils</a></li><li><a href="test-is-api.html" class="wiki_link">test-is</a></li><li><a href="trace-api.html" class="wiki_link">trace</a></li><li><a href="types-api.html" class="wiki_link">types</a></li><li><a href="with-ns-api.html" class="wiki_link">with-ns</a></li><li><a href="zip-filter-api.html" class="wiki_link">zip-filter</a></li> + <li><a href="accumulators-api.html" class="wiki_link">accumulators</a></li><li><a href="agent-utils-api.html" class="wiki_link">agent-utils</a></li><li><a href="apply-macro-api.html" class="wiki_link">apply-macro</a></li><li><a href="base64-api.html" class="wiki_link">base64</a></li><li><a href="classpath-api.html" class="wiki_link">classpath</a></li><li><a href="combinatorics-api.html" class="wiki_link">combinatorics</a></li><li><a href="command-line-api.html" class="wiki_link">command-line</a></li><li><a href="complex-numbers-api.html" class="wiki_link">complex-numbers</a></li><li><a href="cond-api.html" class="wiki_link">cond</a></li><li><a href="condition-api.html" class="wiki_link">condition</a></li><li><a href="core-api.html" class="wiki_link">core</a></li><li><a href="dataflow-api.html" class="wiki_link">dataflow</a></li><li><a href="datalog-api.html" class="wiki_link">datalog</a></li><li><a href="def-api.html" class="wiki_link">def</a></li><li><a href="duck-streams-api.html" class="wiki_link">duck-streams</a></li><li><a href="error-kit-api.html" class="wiki_link">error-kit</a></li><li><a href="except-api.html" class="wiki_link">except</a></li><li><a href="fcase-api.html" class="wiki_link">fcase</a></li><li><a href="find-namespaces-api.html" class="wiki_link">find-namespaces</a></li><li><a href="fnmap-api.html" class="wiki_link">fnmap</a></li><li><a href="gen-html-docs-api.html" class="wiki_link">gen-html-docs</a></li><li><a href="generic.arithmetic-api.html" class="wiki_link">generic.arithmetic</a></li><li><a href="generic.collection-api.html" class="wiki_link">generic.collection</a></li><li><a href="generic.comparison-api.html" class="wiki_link">generic.comparison</a></li><li><a href="generic.functor-api.html" class="wiki_link">generic.functor</a></li><li><a href="generic.math-functions-api.html" class="wiki_link">generic.math-functions</a></li><li><a href="graph-api.html" class="wiki_link">graph</a></li><li><a href="greatest-least-api.html" class="wiki_link">greatest-least</a></li><li><a href="http.agent-api.html" class="wiki_link">http.agent</a></li><li><a href="http.connection-api.html" class="wiki_link">http.connection</a></li><li><a href="import-static-api.html" class="wiki_link">import-static</a></li><li><a href="io-api.html" class="wiki_link">io</a></li><li><a href="jar-api.html" class="wiki_link">jar</a></li><li><a href="java-utils-api.html" class="wiki_link">java-utils</a></li><li><a href="javadoc.browse-api.html" class="wiki_link">javadoc.browse</a></li><li><a href="jmx-api.html" class="wiki_link">jmx</a></li><li><a href="json-api.html" class="wiki_link">json</a></li><li><a href="lazy-seqs-api.html" class="wiki_link">lazy-seqs</a></li><li><a href="lazy-xml-api.html" class="wiki_link">lazy-xml</a></li><li><a href="logging-api.html" class="wiki_link">logging</a></li><li><a href="macro-utils-api.html" class="wiki_link">macro-utils</a></li><li><a href="macros-api.html" class="wiki_link">macros</a></li><li><a href="map-utils-api.html" class="wiki_link">map-utils</a></li><li><a href="math-api.html" class="wiki_link">math</a></li><li><a href="miglayout-api.html" class="wiki_link">miglayout</a></li><li><a href="mmap-api.html" class="wiki_link">mmap</a></li><li><a href="mock-api.html" class="wiki_link">mock</a></li><li><a href="monadic-io-streams-api.html" class="wiki_link">monadic-io-streams</a></li><li><a href="monads-api.html" class="wiki_link">monads</a></li><li><a href="ns-utils-api.html" class="wiki_link">ns-utils</a></li><li><a href="pprint-api.html" class="wiki_link">pprint</a></li><li><a href="probabilities.finite-distributions-api.html" class="wiki_link">probabilities.finite-distributions</a></li><li><a href="probabilities.monte-carlo-api.html" class="wiki_link">probabilities.monte-carlo</a></li><li><a href="probabilities.random-numbers-api.html" class="wiki_link">probabilities.random-numbers</a></li><li><a href="profile-api.html" class="wiki_link">profile</a></li><li><a href="properties-api.html" class="wiki_link">properties</a></li><li><a href="prxml-api.html" class="wiki_link">prxml</a></li><li><a href="reflect-api.html" class="wiki_link">reflect</a></li><li><a href="repl-ln-api.html" class="wiki_link">repl-ln</a></li><li><a href="repl-utils-api.html" class="wiki_link">repl-utils</a></li><li><a href="seq-api.html" class="wiki_link">seq</a></li><li><a href="seq-utils-api.html" class="wiki_link">seq-utils</a></li><li><a href="server-socket-api.html" class="wiki_link">server-socket</a></li><li><a href="set-api.html" class="wiki_link">set</a></li><li><a href="shell-api.html" class="wiki_link">shell</a></li><li><a href="shell-out-api.html" class="wiki_link">shell-out</a></li><li><a href="singleton-api.html" class="wiki_link">singleton</a></li><li><a href="sql-api.html" class="wiki_link">sql</a></li><li><a href="str-utils-api.html" class="wiki_link">str-utils</a></li><li><a href="str-utils2-api.html" class="wiki_link">str-utils2</a></li><li><a href="stream-utils-api.html" class="wiki_link">stream-utils</a></li><li><a href="string-api.html" class="wiki_link">string</a></li><li><a href="strint-api.html" class="wiki_link">strint</a></li><li><a href="swing-utils-api.html" class="wiki_link">swing-utils</a></li><li><a href="test-is-api.html" class="wiki_link">test-is</a></li><li><a href="trace-api.html" class="wiki_link">trace</a></li><li><a href="types-api.html" class="wiki_link">types</a></li><li><a href="with-ns-api.html" class="wiki_link">with-ns</a></li><li><a href="zip-filter-api.html" class="wiki_link">zip-filter</a></li> </ul> </div> </div> diff --git a/doc/pprint/CommonLispFormat.html b/doc/pprint/CommonLispFormat.html index 09d974a9..9b680b63 100644 --- a/doc/pprint/CommonLispFormat.html +++ b/doc/pprint/CommonLispFormat.html @@ -24,17 +24,23 @@ namespace. <body> <div id="AllContentContainer"> <div id="Header"> - <a id="Logo" href="index.html"><img alt="Clojure" height="100" width="100" src="static/clojure-icon.gif" /></a> + <a id="Logo" href="index.html"><img alt="Clojure" height="100" width="100" src="../../static/clojure-icon.gif" /></a> <h1><a title="page header title" id="page-header" href="index.html">Clojure-contrib API Reference</a></h1> </div> <div id="leftcolumn"><div style="text-align: center;"></div> <div class="menu"> <div class="WikiCustomNav WikiElement wiki"> + <div class="BranchTOC"> + <a class="wiki_link" href="#">Branches</a> + <ul id="left-sidebar-branch-list"> + <li><a href="index.html" class="wiki_link">master</a></li><li><a href="branch-1.1.x/index.html" class="wiki_link">1.1.x</a></li> + </ul> + </div> <a class="wiki_link" href="index.html">Overview</a><br /> <a class="wiki_link" href="api-index.html">API Index</a><br /> <a class="wiki_link" href="#">Namespaces:</a> <ul id="left-sidebar-list"> - <li><a href="accumulators-api.html" class="wiki_link">accumulators</a></li><li><a href="agent-utils-api.html" class="wiki_link">agent-utils</a></li><li><a href="apply-macro-api.html" class="wiki_link">apply-macro</a></li><li><a href="base64-api.html" class="wiki_link">base64</a></li><li><a href="classpath-api.html" class="wiki_link">classpath</a></li><li><a href="combinatorics-api.html" class="wiki_link">combinatorics</a></li><li><a href="command-line-api.html" class="wiki_link">command-line</a></li><li><a href="complex-numbers-api.html" class="wiki_link">complex-numbers</a></li><li><a href="cond-api.html" class="wiki_link">cond</a></li><li><a href="condition-api.html" class="wiki_link">condition</a></li><li><a href="core-api.html" class="wiki_link">core</a></li><li><a href="dataflow-api.html" class="wiki_link">dataflow</a></li><li><a href="datalog-api.html" class="wiki_link">datalog</a></li><li><a href="def-api.html" class="wiki_link">def</a></li><li><a href="duck-streams-api.html" class="wiki_link">duck-streams</a></li><li><a href="error-kit-api.html" class="wiki_link">error-kit</a></li><li><a href="except-api.html" class="wiki_link">except</a></li><li><a href="fcase-api.html" class="wiki_link">fcase</a></li><li><a href="find-namespaces-api.html" class="wiki_link">find-namespaces</a></li><li><a href="fnmap-api.html" class="wiki_link">fnmap</a></li><li><a href="gen-html-docs-api.html" class="wiki_link">gen-html-docs</a></li><li><a href="generic.arithmetic-api.html" class="wiki_link">generic.arithmetic</a></li><li><a href="generic.collection-api.html" class="wiki_link">generic.collection</a></li><li><a href="generic.comparison-api.html" class="wiki_link">generic.comparison</a></li><li><a href="generic.functor-api.html" class="wiki_link">generic.functor</a></li><li><a href="generic.math-functions-api.html" class="wiki_link">generic.math-functions</a></li><li><a href="graph-api.html" class="wiki_link">graph</a></li><li><a href="greatest-least-api.html" class="wiki_link">greatest-least</a></li><li><a href="http.agent-api.html" class="wiki_link">http.agent</a></li><li><a href="http.connection-api.html" class="wiki_link">http.connection</a></li><li><a href="import-static-api.html" class="wiki_link">import-static</a></li><li><a href="jar-api.html" class="wiki_link">jar</a></li><li><a href="java-utils-api.html" class="wiki_link">java-utils</a></li><li><a href="javadoc.browse-api.html" class="wiki_link">javadoc.browse</a></li><li><a href="jmx-api.html" class="wiki_link">jmx</a></li><li><a href="json.read-api.html" class="wiki_link">json.read</a></li><li><a href="json.write-api.html" class="wiki_link">json.write</a></li><li><a href="lazy-seqs-api.html" class="wiki_link">lazy-seqs</a></li><li><a href="lazy-xml-api.html" class="wiki_link">lazy-xml</a></li><li><a href="logging-api.html" class="wiki_link">logging</a></li><li><a href="macro-utils-api.html" class="wiki_link">macro-utils</a></li><li><a href="macros-api.html" class="wiki_link">macros</a></li><li><a href="map-utils-api.html" class="wiki_link">map-utils</a></li><li><a href="math-api.html" class="wiki_link">math</a></li><li><a href="miglayout-api.html" class="wiki_link">miglayout</a></li><li><a href="mmap-api.html" class="wiki_link">mmap</a></li><li><a href="mock-api.html" class="wiki_link">mock</a></li><li><a href="monadic-io-streams-api.html" class="wiki_link">monadic-io-streams</a></li><li><a href="monads-api.html" class="wiki_link">monads</a></li><li><a href="ns-utils-api.html" class="wiki_link">ns-utils</a></li><li><a href="pprint-api.html" class="wiki_link">pprint</a></li><li><a href="probabilities.finite-distributions-api.html" class="wiki_link">probabilities.finite-distributions</a></li><li><a href="probabilities.monte-carlo-api.html" class="wiki_link">probabilities.monte-carlo</a></li><li><a href="probabilities.random-numbers-api.html" class="wiki_link">probabilities.random-numbers</a></li><li><a href="profile-api.html" class="wiki_link">profile</a></li><li><a href="prxml-api.html" class="wiki_link">prxml</a></li><li><a href="repl-ln-api.html" class="wiki_link">repl-ln</a></li><li><a href="repl-utils-api.html" class="wiki_link">repl-utils</a></li><li><a href="seq-utils-api.html" class="wiki_link">seq-utils</a></li><li><a href="server-socket-api.html" class="wiki_link">server-socket</a></li><li><a href="set-api.html" class="wiki_link">set</a></li><li><a href="shell-out-api.html" class="wiki_link">shell-out</a></li><li><a href="singleton-api.html" class="wiki_link">singleton</a></li><li><a href="sql-api.html" class="wiki_link">sql</a></li><li><a href="str-utils-api.html" class="wiki_link">str-utils</a></li><li><a href="str-utils2-api.html" class="wiki_link">str-utils2</a></li><li><a href="stream-utils-api.html" class="wiki_link">stream-utils</a></li><li><a href="swing-utils-api.html" class="wiki_link">swing-utils</a></li><li><a href="test-is-api.html" class="wiki_link">test-is</a></li><li><a href="trace-api.html" class="wiki_link">trace</a></li><li><a href="types-api.html" class="wiki_link">types</a></li><li><a href="with-ns-api.html" class="wiki_link">with-ns</a></li><li><a href="zip-filter-api.html" class="wiki_link">zip-filter</a></li> + <li><a href="accumulators-api.html" class="wiki_link">accumulators</a></li><li><a href="agent-utils-api.html" class="wiki_link">agent-utils</a></li><li><a href="apply-macro-api.html" class="wiki_link">apply-macro</a></li><li><a href="base64-api.html" class="wiki_link">base64</a></li><li><a href="classpath-api.html" class="wiki_link">classpath</a></li><li><a href="combinatorics-api.html" class="wiki_link">combinatorics</a></li><li><a href="command-line-api.html" class="wiki_link">command-line</a></li><li><a href="complex-numbers-api.html" class="wiki_link">complex-numbers</a></li><li><a href="cond-api.html" class="wiki_link">cond</a></li><li><a href="condition-api.html" class="wiki_link">condition</a></li><li><a href="core-api.html" class="wiki_link">core</a></li><li><a href="dataflow-api.html" class="wiki_link">dataflow</a></li><li><a href="datalog-api.html" class="wiki_link">datalog</a></li><li><a href="def-api.html" class="wiki_link">def</a></li><li><a href="duck-streams-api.html" class="wiki_link">duck-streams</a></li><li><a href="error-kit-api.html" class="wiki_link">error-kit</a></li><li><a href="except-api.html" class="wiki_link">except</a></li><li><a href="fcase-api.html" class="wiki_link">fcase</a></li><li><a href="find-namespaces-api.html" class="wiki_link">find-namespaces</a></li><li><a href="fnmap-api.html" class="wiki_link">fnmap</a></li><li><a href="gen-html-docs-api.html" class="wiki_link">gen-html-docs</a></li><li><a href="generic.arithmetic-api.html" class="wiki_link">generic.arithmetic</a></li><li><a href="generic.collection-api.html" class="wiki_link">generic.collection</a></li><li><a href="generic.comparison-api.html" class="wiki_link">generic.comparison</a></li><li><a href="generic.functor-api.html" class="wiki_link">generic.functor</a></li><li><a href="generic.math-functions-api.html" class="wiki_link">generic.math-functions</a></li><li><a href="graph-api.html" class="wiki_link">graph</a></li><li><a href="greatest-least-api.html" class="wiki_link">greatest-least</a></li><li><a href="http.agent-api.html" class="wiki_link">http.agent</a></li><li><a href="http.connection-api.html" class="wiki_link">http.connection</a></li><li><a href="import-static-api.html" class="wiki_link">import-static</a></li><li><a href="io-api.html" class="wiki_link">io</a></li><li><a href="jar-api.html" class="wiki_link">jar</a></li><li><a href="java-utils-api.html" class="wiki_link">java-utils</a></li><li><a href="javadoc.browse-api.html" class="wiki_link">javadoc.browse</a></li><li><a href="jmx-api.html" class="wiki_link">jmx</a></li><li><a href="json-api.html" class="wiki_link">json</a></li><li><a href="lazy-seqs-api.html" class="wiki_link">lazy-seqs</a></li><li><a href="lazy-xml-api.html" class="wiki_link">lazy-xml</a></li><li><a href="logging-api.html" class="wiki_link">logging</a></li><li><a href="macro-utils-api.html" class="wiki_link">macro-utils</a></li><li><a href="macros-api.html" class="wiki_link">macros</a></li><li><a href="map-utils-api.html" class="wiki_link">map-utils</a></li><li><a href="math-api.html" class="wiki_link">math</a></li><li><a href="miglayout-api.html" class="wiki_link">miglayout</a></li><li><a href="mmap-api.html" class="wiki_link">mmap</a></li><li><a href="mock-api.html" class="wiki_link">mock</a></li><li><a href="monadic-io-streams-api.html" class="wiki_link">monadic-io-streams</a></li><li><a href="monads-api.html" class="wiki_link">monads</a></li><li><a href="ns-utils-api.html" class="wiki_link">ns-utils</a></li><li><a href="pprint-api.html" class="wiki_link">pprint</a></li><li><a href="probabilities.finite-distributions-api.html" class="wiki_link">probabilities.finite-distributions</a></li><li><a href="probabilities.monte-carlo-api.html" class="wiki_link">probabilities.monte-carlo</a></li><li><a href="probabilities.random-numbers-api.html" class="wiki_link">probabilities.random-numbers</a></li><li><a href="profile-api.html" class="wiki_link">profile</a></li><li><a href="properties-api.html" class="wiki_link">properties</a></li><li><a href="prxml-api.html" class="wiki_link">prxml</a></li><li><a href="reflect-api.html" class="wiki_link">reflect</a></li><li><a href="repl-ln-api.html" class="wiki_link">repl-ln</a></li><li><a href="repl-utils-api.html" class="wiki_link">repl-utils</a></li><li><a href="seq-api.html" class="wiki_link">seq</a></li><li><a href="seq-utils-api.html" class="wiki_link">seq-utils</a></li><li><a href="server-socket-api.html" class="wiki_link">server-socket</a></li><li><a href="set-api.html" class="wiki_link">set</a></li><li><a href="shell-api.html" class="wiki_link">shell</a></li><li><a href="shell-out-api.html" class="wiki_link">shell-out</a></li><li><a href="singleton-api.html" class="wiki_link">singleton</a></li><li><a href="sql-api.html" class="wiki_link">sql</a></li><li><a href="str-utils-api.html" class="wiki_link">str-utils</a></li><li><a href="str-utils2-api.html" class="wiki_link">str-utils2</a></li><li><a href="stream-utils-api.html" class="wiki_link">stream-utils</a></li><li><a href="string-api.html" class="wiki_link">string</a></li><li><a href="strint-api.html" class="wiki_link">strint</a></li><li><a href="swing-utils-api.html" class="wiki_link">swing-utils</a></li><li><a href="test-is-api.html" class="wiki_link">test-is</a></li><li><a href="trace-api.html" class="wiki_link">trace</a></li><li><a href="types-api.html" class="wiki_link">types</a></li><li><a href="with-ns-api.html" class="wiki_link">with-ns</a></li><li><a href="zip-filter-api.html" class="wiki_link">zip-filter</a></li> </ul> </div> </div> diff --git a/doc/pprint/PrettyPrinting.html b/doc/pprint/PrettyPrinting.html index d04cfc2d..e7c31e79 100644 --- a/doc/pprint/PrettyPrinting.html +++ b/doc/pprint/PrettyPrinting.html @@ -24,17 +24,23 @@ namespace. <body> <div id="AllContentContainer"> <div id="Header"> - <a id="Logo" href="index.html"><img alt="Clojure" height="100" width="100" src="static/clojure-icon.gif" /></a> + <a id="Logo" href="index.html"><img alt="Clojure" height="100" width="100" src="../../static/clojure-icon.gif" /></a> <h1><a title="page header title" id="page-header" href="index.html">Clojure-contrib API Reference</a></h1> </div> <div id="leftcolumn"><div style="text-align: center;"></div> <div class="menu"> <div class="WikiCustomNav WikiElement wiki"> + <div class="BranchTOC"> + <a class="wiki_link" href="#">Branches</a> + <ul id="left-sidebar-branch-list"> + <li><a href="index.html" class="wiki_link">master</a></li><li><a href="branch-1.1.x/index.html" class="wiki_link">1.1.x</a></li> + </ul> + </div> <a class="wiki_link" href="index.html">Overview</a><br /> <a class="wiki_link" href="api-index.html">API Index</a><br /> <a class="wiki_link" href="#">Namespaces:</a> <ul id="left-sidebar-list"> - <li><a href="accumulators-api.html" class="wiki_link">accumulators</a></li><li><a href="agent-utils-api.html" class="wiki_link">agent-utils</a></li><li><a href="apply-macro-api.html" class="wiki_link">apply-macro</a></li><li><a href="base64-api.html" class="wiki_link">base64</a></li><li><a href="classpath-api.html" class="wiki_link">classpath</a></li><li><a href="combinatorics-api.html" class="wiki_link">combinatorics</a></li><li><a href="command-line-api.html" class="wiki_link">command-line</a></li><li><a href="complex-numbers-api.html" class="wiki_link">complex-numbers</a></li><li><a href="cond-api.html" class="wiki_link">cond</a></li><li><a href="condition-api.html" class="wiki_link">condition</a></li><li><a href="core-api.html" class="wiki_link">core</a></li><li><a href="dataflow-api.html" class="wiki_link">dataflow</a></li><li><a href="datalog-api.html" class="wiki_link">datalog</a></li><li><a href="def-api.html" class="wiki_link">def</a></li><li><a href="duck-streams-api.html" class="wiki_link">duck-streams</a></li><li><a href="error-kit-api.html" class="wiki_link">error-kit</a></li><li><a href="except-api.html" class="wiki_link">except</a></li><li><a href="fcase-api.html" class="wiki_link">fcase</a></li><li><a href="find-namespaces-api.html" class="wiki_link">find-namespaces</a></li><li><a href="fnmap-api.html" class="wiki_link">fnmap</a></li><li><a href="gen-html-docs-api.html" class="wiki_link">gen-html-docs</a></li><li><a href="generic.arithmetic-api.html" class="wiki_link">generic.arithmetic</a></li><li><a href="generic.collection-api.html" class="wiki_link">generic.collection</a></li><li><a href="generic.comparison-api.html" class="wiki_link">generic.comparison</a></li><li><a href="generic.functor-api.html" class="wiki_link">generic.functor</a></li><li><a href="generic.math-functions-api.html" class="wiki_link">generic.math-functions</a></li><li><a href="graph-api.html" class="wiki_link">graph</a></li><li><a href="greatest-least-api.html" class="wiki_link">greatest-least</a></li><li><a href="http.agent-api.html" class="wiki_link">http.agent</a></li><li><a href="http.connection-api.html" class="wiki_link">http.connection</a></li><li><a href="import-static-api.html" class="wiki_link">import-static</a></li><li><a href="jar-api.html" class="wiki_link">jar</a></li><li><a href="java-utils-api.html" class="wiki_link">java-utils</a></li><li><a href="javadoc.browse-api.html" class="wiki_link">javadoc.browse</a></li><li><a href="jmx-api.html" class="wiki_link">jmx</a></li><li><a href="json.read-api.html" class="wiki_link">json.read</a></li><li><a href="json.write-api.html" class="wiki_link">json.write</a></li><li><a href="lazy-seqs-api.html" class="wiki_link">lazy-seqs</a></li><li><a href="lazy-xml-api.html" class="wiki_link">lazy-xml</a></li><li><a href="logging-api.html" class="wiki_link">logging</a></li><li><a href="macro-utils-api.html" class="wiki_link">macro-utils</a></li><li><a href="macros-api.html" class="wiki_link">macros</a></li><li><a href="map-utils-api.html" class="wiki_link">map-utils</a></li><li><a href="math-api.html" class="wiki_link">math</a></li><li><a href="miglayout-api.html" class="wiki_link">miglayout</a></li><li><a href="mmap-api.html" class="wiki_link">mmap</a></li><li><a href="mock-api.html" class="wiki_link">mock</a></li><li><a href="monadic-io-streams-api.html" class="wiki_link">monadic-io-streams</a></li><li><a href="monads-api.html" class="wiki_link">monads</a></li><li><a href="ns-utils-api.html" class="wiki_link">ns-utils</a></li><li><a href="pprint-api.html" class="wiki_link">pprint</a></li><li><a href="probabilities.finite-distributions-api.html" class="wiki_link">probabilities.finite-distributions</a></li><li><a href="probabilities.monte-carlo-api.html" class="wiki_link">probabilities.monte-carlo</a></li><li><a href="probabilities.random-numbers-api.html" class="wiki_link">probabilities.random-numbers</a></li><li><a href="profile-api.html" class="wiki_link">profile</a></li><li><a href="prxml-api.html" class="wiki_link">prxml</a></li><li><a href="repl-ln-api.html" class="wiki_link">repl-ln</a></li><li><a href="repl-utils-api.html" class="wiki_link">repl-utils</a></li><li><a href="seq-utils-api.html" class="wiki_link">seq-utils</a></li><li><a href="server-socket-api.html" class="wiki_link">server-socket</a></li><li><a href="set-api.html" class="wiki_link">set</a></li><li><a href="shell-out-api.html" class="wiki_link">shell-out</a></li><li><a href="singleton-api.html" class="wiki_link">singleton</a></li><li><a href="sql-api.html" class="wiki_link">sql</a></li><li><a href="str-utils-api.html" class="wiki_link">str-utils</a></li><li><a href="str-utils2-api.html" class="wiki_link">str-utils2</a></li><li><a href="stream-utils-api.html" class="wiki_link">stream-utils</a></li><li><a href="swing-utils-api.html" class="wiki_link">swing-utils</a></li><li><a href="test-is-api.html" class="wiki_link">test-is</a></li><li><a href="trace-api.html" class="wiki_link">trace</a></li><li><a href="types-api.html" class="wiki_link">types</a></li><li><a href="with-ns-api.html" class="wiki_link">with-ns</a></li><li><a href="zip-filter-api.html" class="wiki_link">zip-filter</a></li> + <li><a href="accumulators-api.html" class="wiki_link">accumulators</a></li><li><a href="agent-utils-api.html" class="wiki_link">agent-utils</a></li><li><a href="apply-macro-api.html" class="wiki_link">apply-macro</a></li><li><a href="base64-api.html" class="wiki_link">base64</a></li><li><a href="classpath-api.html" class="wiki_link">classpath</a></li><li><a href="combinatorics-api.html" class="wiki_link">combinatorics</a></li><li><a href="command-line-api.html" class="wiki_link">command-line</a></li><li><a href="complex-numbers-api.html" class="wiki_link">complex-numbers</a></li><li><a href="cond-api.html" class="wiki_link">cond</a></li><li><a href="condition-api.html" class="wiki_link">condition</a></li><li><a href="core-api.html" class="wiki_link">core</a></li><li><a href="dataflow-api.html" class="wiki_link">dataflow</a></li><li><a href="datalog-api.html" class="wiki_link">datalog</a></li><li><a href="def-api.html" class="wiki_link">def</a></li><li><a href="duck-streams-api.html" class="wiki_link">duck-streams</a></li><li><a href="error-kit-api.html" class="wiki_link">error-kit</a></li><li><a href="except-api.html" class="wiki_link">except</a></li><li><a href="fcase-api.html" class="wiki_link">fcase</a></li><li><a href="find-namespaces-api.html" class="wiki_link">find-namespaces</a></li><li><a href="fnmap-api.html" class="wiki_link">fnmap</a></li><li><a href="gen-html-docs-api.html" class="wiki_link">gen-html-docs</a></li><li><a href="generic.arithmetic-api.html" class="wiki_link">generic.arithmetic</a></li><li><a href="generic.collection-api.html" class="wiki_link">generic.collection</a></li><li><a href="generic.comparison-api.html" class="wiki_link">generic.comparison</a></li><li><a href="generic.functor-api.html" class="wiki_link">generic.functor</a></li><li><a href="generic.math-functions-api.html" class="wiki_link">generic.math-functions</a></li><li><a href="graph-api.html" class="wiki_link">graph</a></li><li><a href="greatest-least-api.html" class="wiki_link">greatest-least</a></li><li><a href="http.agent-api.html" class="wiki_link">http.agent</a></li><li><a href="http.connection-api.html" class="wiki_link">http.connection</a></li><li><a href="import-static-api.html" class="wiki_link">import-static</a></li><li><a href="io-api.html" class="wiki_link">io</a></li><li><a href="jar-api.html" class="wiki_link">jar</a></li><li><a href="java-utils-api.html" class="wiki_link">java-utils</a></li><li><a href="javadoc.browse-api.html" class="wiki_link">javadoc.browse</a></li><li><a href="jmx-api.html" class="wiki_link">jmx</a></li><li><a href="json-api.html" class="wiki_link">json</a></li><li><a href="lazy-seqs-api.html" class="wiki_link">lazy-seqs</a></li><li><a href="lazy-xml-api.html" class="wiki_link">lazy-xml</a></li><li><a href="logging-api.html" class="wiki_link">logging</a></li><li><a href="macro-utils-api.html" class="wiki_link">macro-utils</a></li><li><a href="macros-api.html" class="wiki_link">macros</a></li><li><a href="map-utils-api.html" class="wiki_link">map-utils</a></li><li><a href="math-api.html" class="wiki_link">math</a></li><li><a href="miglayout-api.html" class="wiki_link">miglayout</a></li><li><a href="mmap-api.html" class="wiki_link">mmap</a></li><li><a href="mock-api.html" class="wiki_link">mock</a></li><li><a href="monadic-io-streams-api.html" class="wiki_link">monadic-io-streams</a></li><li><a href="monads-api.html" class="wiki_link">monads</a></li><li><a href="ns-utils-api.html" class="wiki_link">ns-utils</a></li><li><a href="pprint-api.html" class="wiki_link">pprint</a></li><li><a href="probabilities.finite-distributions-api.html" class="wiki_link">probabilities.finite-distributions</a></li><li><a href="probabilities.monte-carlo-api.html" class="wiki_link">probabilities.monte-carlo</a></li><li><a href="probabilities.random-numbers-api.html" class="wiki_link">probabilities.random-numbers</a></li><li><a href="profile-api.html" class="wiki_link">profile</a></li><li><a href="properties-api.html" class="wiki_link">properties</a></li><li><a href="prxml-api.html" class="wiki_link">prxml</a></li><li><a href="reflect-api.html" class="wiki_link">reflect</a></li><li><a href="repl-ln-api.html" class="wiki_link">repl-ln</a></li><li><a href="repl-utils-api.html" class="wiki_link">repl-utils</a></li><li><a href="seq-api.html" class="wiki_link">seq</a></li><li><a href="seq-utils-api.html" class="wiki_link">seq-utils</a></li><li><a href="server-socket-api.html" class="wiki_link">server-socket</a></li><li><a href="set-api.html" class="wiki_link">set</a></li><li><a href="shell-api.html" class="wiki_link">shell</a></li><li><a href="shell-out-api.html" class="wiki_link">shell-out</a></li><li><a href="singleton-api.html" class="wiki_link">singleton</a></li><li><a href="sql-api.html" class="wiki_link">sql</a></li><li><a href="str-utils-api.html" class="wiki_link">str-utils</a></li><li><a href="str-utils2-api.html" class="wiki_link">str-utils2</a></li><li><a href="stream-utils-api.html" class="wiki_link">stream-utils</a></li><li><a href="string-api.html" class="wiki_link">string</a></li><li><a href="strint-api.html" class="wiki_link">strint</a></li><li><a href="swing-utils-api.html" class="wiki_link">swing-utils</a></li><li><a href="test-is-api.html" class="wiki_link">test-is</a></li><li><a href="trace-api.html" class="wiki_link">trace</a></li><li><a href="types-api.html" class="wiki_link">types</a></li><li><a href="with-ns-api.html" class="wiki_link">with-ns</a></li><li><a href="zip-filter-api.html" class="wiki_link">zip-filter</a></li> </ul> </div> </div> diff --git a/duck-streams-api.html b/duck-streams-api.html index db01aa28..c4c048cb 100644 --- a/duck-streams-api.html +++ b/duck-streams-api.html @@ -131,7 +131,7 @@ or "just-give-me-a-stream", but ducks are funnier.</pre> Defaults to false. Use append-writer or append-spit.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/a1c66df5287776b4397cf3929a5f498fbb34ea32/src/main/clojure/clojure/contrib/duck_streams.clj#L144" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/duck_streams.clj#L145" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -142,7 +142,7 @@ Defaults to false. Use append-writer or append-spit.</pre> copying streams.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/a1c66df5287776b4397cf3929a5f498fbb34ea32/src/main/clojure/clojure/contrib/duck_streams.clj#L76" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/duck_streams.clj#L77" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -152,7 +152,7 @@ copying streams.</pre> <pre id="var-docstr">Type object for a Java primitive byte array.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/a1c66df5287776b4397cf3929a5f498fbb34ea32/src/main/clojure/clojure/contrib/duck_streams.clj#L81" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/duck_streams.clj#L82" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -163,7 +163,7 @@ copying streams.</pre> Default is UTF-8.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/a1c66df5287776b4397cf3929a5f498fbb34ea32/src/main/clojure/clojure/contrib/duck_streams.clj#L70" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/duck_streams.clj#L71" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -174,7 +174,7 @@ Default is UTF-8.</pre> <pre id="var-docstr">Like spit but appends to file.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/a1c66df5287776b4397cf3929a5f498fbb34ea32/src/main/clojure/clojure/contrib/duck_streams.clj#L263" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/duck_streams.clj#L264" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -186,7 +186,7 @@ Default is UTF-8.</pre> that are already open.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/a1c66df5287776b4397cf3929a5f498fbb34ea32/src/main/clojure/clojure/contrib/duck_streams.clj#L215" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/duck_streams.clj#L216" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -204,7 +204,7 @@ Does not close any streams except those it opens itself Writing a File fails if the parent directory does not exist.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/a1c66df5287776b4397cf3929a5f498fbb34ea32/src/main/clojure/clojure/contrib/duck_streams.clj#L299" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/duck_streams.clj#L300" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -217,7 +217,7 @@ all / and \ with File/separatorChar. Replaces ~ at the start of the path with the user.home system property.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/a1c66df5287776b4397cf3929a5f498fbb34ea32/src/main/clojure/clojure/contrib/duck_streams.clj#L86" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/duck_streams.clj#L87" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -228,7 +228,7 @@ the path with the user.home system property.</pre> <pre id="var-docstr">Creates all parent directories of file.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/a1c66df5287776b4397cf3929a5f498fbb34ea32/src/main/clojure/clojure/contrib/duck_streams.clj#L386" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/duck_streams.clj#L387" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -240,7 +240,7 @@ the path with the user.home system property.</pre> Note: In Java, you cannot change the current working directory.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/a1c66df5287776b4397cf3929a5f498fbb34ea32/src/main/clojure/clojure/contrib/duck_streams.clj#L269" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/duck_streams.clj#L270" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -252,7 +252,7 @@ Note: In Java, you cannot change the current working directory.</pre> closes the reader AFTER YOU CONSUME THE ENTIRE SEQUENCE.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/a1c66df5287776b4397cf3929a5f498fbb34ea32/src/main/clojure/clojure/contrib/duck_streams.clj#L234" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/duck_streams.clj#L235" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -272,7 +272,7 @@ Should be used inside with-open to ensure the Reader is properly closed.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/a1c66df5287776b4397cf3929a5f498fbb34ea32/src/main/clojure/clojure/contrib/duck_streams.clj#L100" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/duck_streams.clj#L101" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -283,7 +283,7 @@ closed.</pre> <pre id="var-docstr">Like clojure.core/slurp but opens f with reader.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/a1c66df5287776b4397cf3929a5f498fbb34ea32/src/main/clojure/clojure/contrib/duck_streams.clj#L245" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/duck_streams.clj#L246" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -295,7 +295,7 @@ closed.</pre> closes f.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/a1c66df5287776b4397cf3929a5f498fbb34ea32/src/main/clojure/clojure/contrib/duck_streams.clj#L256" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/duck_streams.clj#L257" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -308,7 +308,7 @@ a String, File, InputStream, or Reader. If the argument is already a byte array, returns it.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/a1c66df5287776b4397cf3929a5f498fbb34ea32/src/main/clojure/clojure/contrib/duck_streams.clj#L391" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/duck_streams.clj#L392" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -319,7 +319,7 @@ a byte array, returns it.</pre> <pre id="var-docstr">Opens a PushbackReader on f, binds it to *in*, and evaluates body.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/a1c66df5287776b4397cf3929a5f498fbb34ea32/src/main/clojure/clojure/contrib/duck_streams.clj#L292" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/duck_streams.clj#L293" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -330,7 +330,7 @@ a byte array, returns it.</pre> <pre id="var-docstr">Like with-out-writer but appends to file.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/a1c66df5287776b4397cf3929a5f498fbb34ea32/src/main/clojure/clojure/contrib/duck_streams.clj#L285" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/duck_streams.clj#L286" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -342,7 +342,7 @@ a byte array, returns it.</pre> Anything printed within body will be written to f.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/a1c66df5287776b4397cf3929a5f498fbb34ea32/src/main/clojure/clojure/contrib/duck_streams.clj#L277" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/duck_streams.clj#L278" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -354,7 +354,7 @@ Anything printed within body will be written to f.</pre> writer, and automatically closed at the end of the sequence.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/a1c66df5287776b4397cf3929a5f498fbb34ea32/src/main/clojure/clojure/contrib/duck_streams.clj#L223" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/duck_streams.clj#L224" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -375,7 +375,7 @@ Should be used inside with-open to ensure the Writer is properly closed.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/a1c66df5287776b4397cf3929a5f498fbb34ea32/src/main/clojure/clojure/contrib/duck_streams.clj#L151" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/duck_streams.clj#L152" id="var-source">Source</a> </div> diff --git a/generic.comparison-api.html b/generic.comparison-api.html index 92661848..611b7a34 100644 --- a/generic.comparison-api.html +++ b/generic.comparison-api.html @@ -110,7 +110,7 @@ with dispatch value [::my-type ::my-type]. A default implementation is provided in terms of >.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/f7a454fba2e2f8fea30dedd9f58a13d73b54f2ec/src/main/clojure/clojure/contrib/generic/comparison.clj#L87" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/4fe738db417cbea76450e04223fdcc9ed0b2c053/src/main/clojure/clojure/contrib/generic/comparison.clj#L87" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -126,7 +126,7 @@ with dispatch value [::my-type ::my-type]. A default implementation is provided in terms of >.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/f7a454fba2e2f8fea30dedd9f58a13d73b54f2ec/src/main/clojure/clojure/contrib/generic/comparison.clj#L139" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/4fe738db417cbea76450e04223fdcc9ed0b2c053/src/main/clojure/clojure/contrib/generic/comparison.clj#L139" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -140,7 +140,7 @@ is provided in terms of >.</pre> ::my-type is the binary form with dispatch value [::my-type ::my-type].</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/f7a454fba2e2f8fea30dedd9f58a13d73b54f2ec/src/main/clojure/clojure/contrib/generic/comparison.clj#L46" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/4fe738db417cbea76450e04223fdcc9ed0b2c053/src/main/clojure/clojure/contrib/generic/comparison.clj#L46" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -155,7 +155,7 @@ The minimal implementation for type ::my-type is the binary form with dispatch value [::my-type ::my-type].</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/f7a454fba2e2f8fea30dedd9f58a13d73b54f2ec/src/main/clojure/clojure/contrib/generic/comparison.clj#L66" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/4fe738db417cbea76450e04223fdcc9ed0b2c053/src/main/clojure/clojure/contrib/generic/comparison.clj#L66" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -171,7 +171,7 @@ with dispatch value [::my-type ::my-type]. A default implementation is provided in terms of <.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/f7a454fba2e2f8fea30dedd9f58a13d73b54f2ec/src/main/clojure/clojure/contrib/generic/comparison.clj#L113" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/4fe738db417cbea76450e04223fdcc9ed0b2c053/src/main/clojure/clojure/contrib/generic/comparison.clj#L113" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -185,7 +185,7 @@ is provided in terms of <.</pre> is uses generic comparison functions implementable for any data type.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/f7a454fba2e2f8fea30dedd9f58a13d73b54f2ec/src/main/clojure/clojure/contrib/generic/comparison.clj#L200" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/4fe738db417cbea76450e04223fdcc9ed0b2c053/src/main/clojure/clojure/contrib/generic/comparison.clj#L200" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -199,7 +199,7 @@ is uses generic comparison functions implementable for any data type.</pre> is uses generic comparison functions implementable for any data type.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/f7a454fba2e2f8fea30dedd9f58a13d73b54f2ec/src/main/clojure/clojure/contrib/generic/comparison.clj#L208" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/4fe738db417cbea76450e04223fdcc9ed0b2c053/src/main/clojure/clojure/contrib/generic/comparison.clj#L208" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -210,7 +210,7 @@ is uses generic comparison functions implementable for any data type.</pre> <pre id="var-docstr">Return true of x is negative.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/f7a454fba2e2f8fea30dedd9f58a13d73b54f2ec/src/main/clojure/clojure/contrib/generic/comparison.clj#L38" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/4fe738db417cbea76450e04223fdcc9ed0b2c053/src/main/clojure/clojure/contrib/generic/comparison.clj#L38" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -221,7 +221,7 @@ is uses generic comparison functions implementable for any data type.</pre> <pre id="var-docstr">Return true of x is positive.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/f7a454fba2e2f8fea30dedd9f58a13d73b54f2ec/src/main/clojure/clojure/contrib/generic/comparison.clj#L33" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/4fe738db417cbea76450e04223fdcc9ed0b2c053/src/main/clojure/clojure/contrib/generic/comparison.clj#L33" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -232,7 +232,7 @@ is uses generic comparison functions implementable for any data type.</pre> <pre id="var-docstr">Return true of x is zero.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/f7a454fba2e2f8fea30dedd9f58a13d73b54f2ec/src/main/clojure/clojure/contrib/generic/comparison.clj#L28" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/4fe738db417cbea76450e04223fdcc9ed0b2c053/src/main/clojure/clojure/contrib/generic/comparison.clj#L28" id="var-source">Source</a> </div> diff --git a/io-api.html b/io-api.html index 780fd4a9..2d861eba 100644 --- a/io-api.html +++ b/io-api.html @@ -141,7 +141,7 @@ Defaults to false. Instead of binding this var directly, use append-writer, append-output-stream or append-spit.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/1d66c0942d628b97b6d4ff826b36e15e95c18967/src/main/clojure/clojure/contrib/io.clj#L103" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/io.clj#L104" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -152,7 +152,7 @@ append-output-stream or append-spit.</pre> copying streams.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/1d66c0942d628b97b6d4ff826b36e15e95c18967/src/main/clojure/clojure/contrib/io.clj#L75" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/io.clj#L76" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -162,7 +162,7 @@ copying streams.</pre> <pre id="var-docstr">Type object for a Java primitive byte array.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/1d66c0942d628b97b6d4ff826b36e15e95c18967/src/main/clojure/clojure/contrib/io.clj#L80" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/io.clj#L81" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -172,7 +172,7 @@ copying streams.</pre> <pre id="var-docstr">Type object for a Java primitive char array.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/1d66c0942d628b97b6d4ff826b36e15e95c18967/src/main/clojure/clojure/contrib/io.clj#L84" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/io.clj#L85" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -183,7 +183,7 @@ copying streams.</pre> Default is UTF-8.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/1d66c0942d628b97b6d4ff826b36e15e95c18967/src/main/clojure/clojure/contrib/io.clj#L69" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/io.clj#L70" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -195,7 +195,7 @@ Default is UTF-8.</pre> that are already open.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/1d66c0942d628b97b6d4ff826b36e15e95c18967/src/main/clojure/clojure/contrib/io.clj#L276" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/io.clj#L277" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -206,7 +206,7 @@ that are already open.</pre> <pre id="var-docstr">Like spit but appends to file.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/1d66c0942d628b97b6d4ff826b36e15e95c18967/src/main/clojure/clojure/contrib/io.clj#L330" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/io.clj#L331" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -218,7 +218,7 @@ that are already open.</pre> that are already open.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/1d66c0942d628b97b6d4ff826b36e15e95c18967/src/main/clojure/clojure/contrib/io.clj#L283" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/io.clj#L284" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -230,7 +230,7 @@ for clojure.contrib.java/file, which you should prefer in most cases.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/1d66c0942d628b97b6d4ff826b36e15e95c18967/src/main/clojure/clojure/contrib/io.clj#L506" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/io.clj#L507" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -241,7 +241,7 @@ in most cases.</pre> <pre id="var-docstr">Coerces argument (URL, URI, or String) to a java.net.URL.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/1d66c0942d628b97b6d4ff826b36e15e95c18967/src/main/clojure/clojure/contrib/io.clj#L540" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/io.clj#L541" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -259,7 +259,7 @@ Does not close any streams except those it opens itself Writing a File fails if the parent directory does not exist.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/1d66c0942d628b97b6d4ff826b36e15e95c18967/src/main/clojure/clojure/contrib/io.clj#L366" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/io.clj#L367" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -270,7 +270,7 @@ Writing a File fails if the parent directory does not exist.</pre> <pre id="var-docstr">Delete file f. Raise an exception if it fails unless silently is true.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/1d66c0942d628b97b6d4ff826b36e15e95c18967/src/main/clojure/clojure/contrib/io.clj#L523" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/io.clj#L524" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -282,7 +282,7 @@ Writing a File fails if the parent directory does not exist.</pre> Raise an exception if any deletion fails unless silently is true.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/1d66c0942d628b97b6d4ff826b36e15e95c18967/src/main/clojure/clojure/contrib/io.clj#L530" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/io.clj#L531" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -295,7 +295,7 @@ Raise an exception if any deletion fails unless silently is true.</pre> <pre id="var-docstr">Returns a java.io.File from string or file args.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/1d66c0942d628b97b6d4ff826b36e15e95c18967/src/main/clojure/clojure/contrib/io.clj#L514" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/io.clj#L515" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -308,7 +308,7 @@ all / and \ with File/separatorChar. Replaces ~ at the start of the path with the user.home system property.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/1d66c0942d628b97b6d4ff826b36e15e95c18967/src/main/clojure/clojure/contrib/io.clj#L89" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/io.clj#L90" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -319,7 +319,7 @@ the path with the user.home system property.</pre> <pre id="var-docstr">Creates all parent directories of file.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/1d66c0942d628b97b6d4ff826b36e15e95c18967/src/main/clojure/clojure/contrib/io.clj#L462" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/io.clj#L463" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -331,7 +331,7 @@ the path with the user.home system property.</pre> Note: In Java, you cannot change the current working directory.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/1d66c0942d628b97b6d4ff826b36e15e95c18967/src/main/clojure/clojure/contrib/io.clj#L336" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/io.clj#L337" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -343,7 +343,7 @@ Note: In Java, you cannot change the current working directory.</pre> closes the reader AFTER YOU CONSUME THE ENTIRE SEQUENCE.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/1d66c0942d628b97b6d4ff826b36e15e95c18967/src/main/clojure/clojure/contrib/io.clj#L301" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/io.clj#L302" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -354,7 +354,7 @@ closes the reader AFTER YOU CONSUME THE ENTIRE SEQUENCE.</pre> Building block for clojure.contrib.java/file.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/1d66c0942d628b97b6d4ff826b36e15e95c18967/src/main/clojure/clojure/contrib/io.clj#L493" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/io.clj#L494" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -365,7 +365,7 @@ Building block for clojure.contrib.java/file.</pre> <pre id="var-docstr">Like clojure.core/slurp but opens f with reader.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/1d66c0942d628b97b6d4ff826b36e15e95c18967/src/main/clojure/clojure/contrib/io.clj#L312" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/io.clj#L313" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -377,7 +377,7 @@ Building block for clojure.contrib.java/file.</pre> closes f.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/1d66c0942d628b97b6d4ff826b36e15e95c18967/src/main/clojure/clojure/contrib/io.clj#L323" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/io.clj#L324" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -390,7 +390,7 @@ a String, File, InputStream, or Reader. If the argument is already a byte array, returns it.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/1d66c0942d628b97b6d4ff826b36e15e95c18967/src/main/clojure/clojure/contrib/io.clj#L467" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/io.clj#L468" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -401,7 +401,7 @@ a byte array, returns it.</pre> <pre id="var-docstr">Opens a PushbackReader on f, binds it to *in*, and evaluates body.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/1d66c0942d628b97b6d4ff826b36e15e95c18967/src/main/clojure/clojure/contrib/io.clj#L359" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/io.clj#L360" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -412,7 +412,7 @@ a byte array, returns it.</pre> <pre id="var-docstr">Like with-out-writer but appends to file.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/1d66c0942d628b97b6d4ff826b36e15e95c18967/src/main/clojure/clojure/contrib/io.clj#L352" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/io.clj#L353" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -424,7 +424,7 @@ a byte array, returns it.</pre> Anything printed within body will be written to f.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/1d66c0942d628b97b6d4ff826b36e15e95c18967/src/main/clojure/clojure/contrib/io.clj#L344" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/io.clj#L345" id="var-source">Source</a> </div><div id="var-entry"> <br /> <hr /> @@ -436,7 +436,7 @@ Anything printed within body will be written to f.</pre> writer, and automatically closed at the end of the sequence.</pre> - <a href="http://github.com/richhickey/clojure-contrib/blob/1d66c0942d628b97b6d4ff826b36e15e95c18967/src/main/clojure/clojure/contrib/io.clj#L290" id="var-source">Source</a> + <a href="http://github.com/richhickey/clojure-contrib/blob/061f3d5b45657a89faa335ffa2bb80819f2e6918/src/main/clojure/clojure/contrib/io.clj#L291" id="var-source">Source</a> </div> diff --git a/pprint-api.html b/pprint-api.html index 27ce0880..f10218b8 100644 --- a/pprint-api.html +++ b/pprint-api.html @@ -155,7 +155,13 @@ documentation on the the clojure-contrib web site on github.</pre> <br /> -<h2>Public Variables and Functions</h2> +<span id="external-doc">Related documentation: + <span id="external-doc-link"> + <br /><a href="doc/pprint/CommonLispFormat.html">A Common Lisp-compatible Format Function</a> + <br /></span><span id="external-doc-link"> + <br /><a href="doc/pprint/PrettyPrinting.html">A Pretty Printer for Clojure</a> + <br /></span><br /> +</span><h2>Public Variables and Functions</h2> <div id="var-entry"> <br /> <hr /> |