aboutsummaryrefslogtreecommitdiff
path: root/types-api.html
diff options
context:
space:
mode:
authorTom Faulhaber <git_net@infolace.com>2009-07-21 23:07:29 -0700
committerTom Faulhaber <git_net@infolace.com>2009-07-21 23:07:29 -0700
commite9a3aad34261a09a4299b3aac1dde888862b6750 (patch)
tree6bcd23234814e03ed0a4c7a2ba388ae4d5471f7c /types-api.html
parent4e3d773c07b6f4a54091d54c9f406666bb09298c (diff)
Added the first (provisional) stab at real content
Diffstat (limited to 'types-api.html')
-rw-r--r--types-api.html163
1 files changed, 163 insertions, 0 deletions
diff --git a/types-api.html b/types-api.html
new file mode 100644
index 00000000..87e66a52
--- /dev/null
+++ b/types-api.html
@@ -0,0 +1,163 @@
+<html>
+ <head>
+ <title>clojure contrib - types API reference</title>
+ <link href="file/view/favicon.png" rel="icon" />
+ <link href="file/view/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 clojure.contrib source by contrib-autodoc.
+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="file/view/clojure-icon.gif" /></a>
+ <h1><a title="Clojure" href="index.html">Clojure</a></h1>
+ </div>
+ <div id="leftcolumn"><div><div style="text-align: center;"></div>
+<div class="menu">
+ <div class="WikiCustomNav WikiElement wiki">
+ <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="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="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="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="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="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>
+ <div id="rightcolumn">
+ <div id="Content">
+ <div class="contentBox"><div class="innerContentBox">
+ <div style="" id="WikiAdMargin">
+ <div id="content_view" class="wiki wikiPage">
+ <!-- Temporary disclaimer -->
+ <div style="background-color: #FF0000; font-weight: bold;">
+ NOTE: These autogen pages are still under development.
+ Not all links work. Not all formatting in done.
+ Contact Tom Faulhaber (tomfaulhaber on github, gmail, etc.)
+ with any questions.
+ </div>
+ <div id="right-sidebar"><div><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="#types/defadt">defadt</a>
+ </div><div style="margin-left: 1em;" class="toc-entry">
+ <a href="#types/deftype">deftype</a>
+ </div><div style="margin-left: 1em;" class="toc-entry">
+ <a href="#types/deftype-">deftype-</a>
+ </div><div style="margin-left: 1em;" class="toc-entry">
+ <a href="#types/match">match</a>
+ </div>
+ <br />
+ </div>
+</div>
+</div></div>
+ <div id="content-tag"><div><h1 id="overview">API for <span id="namespace-name">types</span></h1>
+by <span id="author">Konrad Hinsen</span><br />
+<br />Usage:
+<pre>
+(ns your-namespace
+ (:require <span id="long-name">clojure.contrib.types</span>))
+</pre><pre>
+</pre><h2>Overview</h2>
+<pre id="namespace-docstr">General and algebraic data types</pre>
+<br />
+<h2>Public Variables and Functions</h2>
+<div id="var-entry">
+ <hr />
+ <h2 id="types/defadt">defadt</h2>
+ <span id="var-type">macro</span><br />
+ <pre id="var-usage">Usage: (defadt type-tag &amp; constructors)
+</pre>
+ <pre id="var-docstr">Define an algebraic data type name by an exhaustive list of constructors.
+Each constructor can be a symbol (argument-free constructor) or a
+list consisting of a tag symbol followed by the argument symbols.
+The data type tag must be a keyword.</pre>
+ <a href="http://github.com/richhickey/clojure-contrib/blob/6fea921c91d453c750586c960ec92caacf4fa5e6/src/clojure/contrib/types.clj#L127" id="var-source">Source</a>
+</div><div id="var-entry">
+ <hr />
+ <h2 id="types/deftype">deftype</h2>
+ <span id="var-type">macro</span><br />
+ <pre id="var-usage">Usage: (deftype type-tag constructor-name docstring? attr-map?)
+ (deftype type-tag constructor-name docstring? attr-map? constructor)
+ (deftype type-tag constructor-name docstring? attr-map? constructor deconstructor)
+</pre>
+ <pre id="var-docstr">Define a data type by a type tag (a namespace-qualified keyword)
+and a symbol naming the constructor function. Optionally, a
+constructor and a deconstructor function can be given as well,
+the defaults being clojure.core/identity and clojure.core/list.
+The full constructor associated with constructor-name calls the
+constructor function and attaches the type tag to its result
+as metadata. The deconstructor function must return the arguments
+to be passed to the constructor in order to create an equivalent
+object. It is used for printing and matching.</pre>
+ <a href="http://github.com/richhickey/clojure-contrib/blob/6fea921c91d453c750586c960ec92caacf4fa5e6/src/clojure/contrib/types.clj#L53" id="var-source">Source</a>
+</div><div id="var-entry">
+ <hr />
+ <h2 id="types/deftype-">deftype-</h2>
+ <span id="var-type">macro</span><br />
+ <pre id="var-usage">Usage: (deftype- type-tag constructor-name &amp; optional)
+</pre>
+ <pre id="var-docstr">Same as deftype but the constructor is private.</pre>
+ <a href="http://github.com/richhickey/clojure-contrib/blob/6fea921c91d453c750586c960ec92caacf4fa5e6/src/clojure/contrib/types.clj#L87" id="var-source">Source</a>
+</div><div id="var-entry">
+ <hr />
+ <h2 id="types/match">match</h2>
+ <span id="var-type">macro</span><br />
+ <pre id="var-usage">Usage: (match value &amp; clauses)
+</pre>
+ <pre id="var-docstr">Given a value and a list of template-expr clauses, evaluate the first
+expr whose template matches the value. There are four kinds of templates:
+1) Lists of the form (tag x1 x2 ...) match instances of types
+ whose constructor has the same form as the list.
+2) Quoted lists of the form '(x1 x2 ...) match lists of the same
+ length.
+3) Vectors of the form [x1 x2 ...] match vectors of the same length.
+4) Maps of the form {:key1 x1 :key2 x2 ...} match maps that have
+ the same keys as the template, but which can have additional keys
+ that are not part of the template.
+The values x1, x2, ... can be symbols or non-symbol values. Non-symbols
+must be equal to the corresponding values in the object to be matched.
+Symbols will be bound to the corresponding value in the object in the
+evaluation of expr. If the same symbol occurs more than once in a,
+template the corresponding elements of the object must be equal
+for the template to match.</pre>
+ <a href="http://github.com/richhickey/clojure-contrib/blob/6fea921c91d453c750586c960ec92caacf4fa5e6/src/clojure/contrib/types.clj#L240" id="var-source">Source</a>
+</div>
+
+
+</div></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div id="foot">
+ <div style="text-align: center;">
+ Copyright 2008-2009 Rich Hickey and the various contributors
+ </div>
+ </div>
+ </div>
+ <!-- /rightcolumn -->
+ <div id="DesignedBy">Logo &amp; site design by <a title="Visit Tom Hickey's website." href="http://www.tomhickey.com">Tom Hickey</a>.</div>
+ </div>
+ <!-- /AllContentContainer -->
+ </body>
+
+</html> \ No newline at end of file