[definer-cvs] CVS definer/docs/html
mantoniotti
mantoniotti at common-lisp.net
Sun Mar 6 15:55:55 UTC 2011
Update of /project/definer/cvsroot/definer/docs/html
In directory cl-net:/tmp/cvs-serv15006/docs/html
Added Files:
bdf.html def.html index.html main.css
Log Message:
Added documentation tree.
--- /project/definer/cvsroot/definer/docs/html/bdf.html 2011/03/06 15:55:55 NONE
+++ /project/definer/cvsroot/definer/docs/html/bdf.html 2011/03/06 15:55:55 1.1
<html>
<head>
<title>DEFINER: BUILD-DEFINITION-FORM</title>
<link rel="stylesheet" href="main.css">
</head>
<body marginheight="0" marginwidth="0" leftmargin="0" topmargin="0" bgcolor="#ffffff">
<table border="0" cellpadding="0" cellspacing="0" width="100%" height="100%" vspace="0" hspace="0">
<tr>
<td colspan="3">
<div class="header"
style="font-family:=Verdana,Arial,Helvetica; font-size: 18px; color: #41286f;">
<strong><i>Common Lisp Extension: DEFINER</i><string>
<div class="navigation">
<a href="index.html" class="navigation-link-selected">Home</a>
| <a href="code.html" class="navigation-link">Code</a>
| <a href="links.html" class="navigation-link">Links</a>
</div>
</div>
<div class="black-line"><img src="images/shim.gif" height="1" width="1"></div>
<div class="middle-bar"><img src="images/shim.gif" height="5" width="1"></div>
<div class="black-line"><img src="images/shim.gif" height="1" width="1"></div>
</td>
</tr>
<tr height="100%">
<td height="100%"> </td>
<td valign="top" width="80%" height="100%">
<div class="content">
<div class="text" style="padding-top: 10px;">
<h1><i>Generic function</i> <strong>BUILD-DEFINITION-FORM</strong></h1>
<h2>Syntax:</h2>
<p>
<pre>
<b>build-definition-form</b> <i>what</i> <i>name</i> <i>definition-forms</i> &optional <i>prefix-options</i>
=> <i><undefined></i>
</pre>
</p>
<h3>Arguments and Values:</h3>
<p><i><code>what</code></i>---a <i>symbol</i>, or some structured
object, e.g. a <i>cons</i></p>
<p><i><code>name</code></i>---a <i>symbol</i>, or some structured
object, e.g. a <i>cons</i></p>
<p><i><code>definition-forms</code></i>---a <i>compound form</i></p>
<h2>Description:</h2>
<p>Constructs the underlying <strong>CL</strong>, or other library,
<em>definition form</em> based on the arguments received.
</p>
<p>The methods of this generic function are called by the <a href="def.html">DEF</a>
macro to perform the eventual expansion of the definition.</p>
<p>The optional parameter <i><code>prefix-options</code></i> can be
used to pass around extra information - usually, but not necessarily, in the form of a
list of symbols - when <i><code>what</code></i>, or
<i><code>name</code></i> is a structured, non-symbol, object.</p>
<h2>Examples:</h2>
<p>A few simple examples are the following.</p>
<ul>
<li>Definitions corresponding to <code>defvar</code>,
<code>defparameter</code>, and <code>defconstant</code>
<pre>
(defmethod build-definition-form ((what (eql 'var))
(name symbol)
definition-forms
&optional prefix-options)
`(defvar ,name , at definition-forms))
</pre>
<pre>
(defmethod build-definition-form ((what (eql parameter))
(name symbol)
definition-forms
&optional prefix-options)
`(deparameter ,name , at definition-forms))
</pre>
<pre>
(defmethod build-definition-form ((what (eql 'constant))
(name symbol)
definition-forms
&optional prefix-options)
`(defconstant ,name , at definition-forms))
</pre>
</li>
<li>The definition for the special indicator <code>definer</code>;
<i>cfr.</i> the description for <a href="def.html">DEF</a>.
<pre>
(defmethod build-definition-form ((what (eql 'definer))
(for-what symbol)
definition-forms
&optional prefix-options)
(destructuring-bind ((&key
((:type-of-naming-form name-type) 'symbol) ; Non evaluated
((:name name-var) 'name) ; Non evaluated
((:body-name def-form-var) 'definition-forms) ; Non evaluated
)
&body definer-forms)
definition-forms
`(defmethod build-definition-form ((what (eql ',for-what))
(,name-var ,name-type)
,def-form-var
&optional prefix-options)
, at definer-forms)))
</pre>
</ul>
<h2>Side Effects:</h2>
<p>User caused.</p>
<h2>Affected By:</h2>
<p>None.</p>
<h2>Exceptional Situations:</h2>
<p>Environment dependent.</p>
</td>
<!-- <td height="100%"> </td> -->
</tr>
<tr height="100%">
<td height="100%"> </td>
<td valign="top" width="80%" height="100%">
<div class="content">
<div class="text" style="padding-top: 10px;">
<!-- <h1>News</h1>
<p>News in chronological order, most recent on top.
</p>
<ul>
<li><strong>2004-03-14</strong><br>
Completed description.
</li>
<li><strong>2004-02-26</strong><br>
Content added.
</li>
</ul>
-->
</div>
</div>
</td>
<td height="100%"> </td>
</tr>
<tr>
<td colspan="3" valign="bottom" align="right">
<div class="copyright">
© 2003-2011, Marco Antoniotti, all rights reserved.
</div>
</td>
</tr>
</table>
</body>
</html>
--- /project/definer/cvsroot/definer/docs/html/def.html 2011/03/06 15:55:55 NONE
+++ /project/definer/cvsroot/definer/docs/html/def.html 2011/03/06 15:55:55 1.1
<html>
<head>
<title>DEFINER: DEF</title>
<link rel="stylesheet" href="main.css">
</head>
<body marginheight="0" marginwidth="0" leftmargin="0" topmargin="0" bgcolor="#ffffff">
<table border="0" cellpadding="0" cellspacing="0" width="100%" height="100%" vspace="0" hspace="0">
<tr>
<td colspan="3">
<div class="header"
style="font-family:=Verdana,Arial,Helvetica; font-size: 18px; color: #41286f;">
<strong><i>Common Lisp Extension: DEFINER</i><string>
<div class="navigation">
<a href="index.html" class="navigation-link-selected">Home</a>
| <a href="code.html" class="navigation-link">Code</a>
| <a href="links.html" class="navigation-link">Links</a>
</div>
</div>
<div class="black-line"><img src="images/shim.gif" height="1" width="1"></div>
<div class="middle-bar"><img src="images/shim.gif" height="5" width="1"></div>
<div class="black-line"><img src="images/shim.gif" height="1" width="1"></div>
</td>
</tr>
<tr height="100%">
<td height="100%"> </td>
<td valign="top" width="80%" height="100%">
<div class="content">
<div class="text" style="padding-top: 10px;">
<h1><i>Macro</i> <strong>DEF</strong></h1>
<h2>Syntax:</h2>
<p>General form:<br>
<pre>
<b>def</b> <i>what</i> <i>name</i> &rest <i>definition-forms</i>
=> <i><undefined></i>
</pre>
</p>
<p>Special <strong><code>definer</code></strong> form:<br>
<pre>
<b>def definer</b> <i>what</i> (&key <i>type-of-naming-form</i> <i>name</i> <i>body-name</i>) &body <i>definer-forms</i>
=> <i><undefined></i>
</pre>
</p>
<h3>Arguments and Values:</h3>
<h4>Simple DEF form:</h4>
<p><i><code>what</code></i>---a <i>symbol</i>, a <i>cons</i>, or the
symbol <strong><code>definer</code></strong></p>
<p><i><code>name</code></i>---a <i>symbol</i> or a <i>cons</i></p>
<p><i><code>definition-forms</code></i>---a <i>compound form</i></p>
<h4>Special DEF DEFINER form:</h4>
<p><i><code>what</code></i>---a <i>symbol</i>, a <i>cons</i>, or the
symbol <strong><code>definer</code></strong></p>
<p><code><i>type-of-naming-form</i></code>---the <i>symbol</i>
<code>symbol</code>, or the <i>symbol</i> <code>cons</cons> (or some
other <i>type specifier</i>); the default is SYMBOL<p>
<p><code><i>name</i></code>---a <i>symbol</i> that is used
within the body <i><code>definer-forms</code></i> to retrieve the
<i><code>name</code></i> of the object being defined; the default is
the symbol <b><code>name</code></b></p>
<p><code><i>body-name</i></code>---a <i>symbol</i> that is used
within the body <i><code>definer-forms</code></i> to retrieve the
actual definition forms for the definer; the default is the symbol
<b><code>definition-forms</code></b></p>
<p><i><code>definer-forms</code></i>---a <i>compound form</i></p>
<h2>Description:</h2>
<p>Calls the appropriate <strong>CL</strong> definition form, or a user
definition form built by a specialized call to <a href="bdf.html">BUILD-DEFINITION-FORM</a>.
</p>
<p><i><code>what</code></i> is a symbol or a cons which directs the
underlying form builder code in a method of
<a href="bdf.html">BUILD-DEFINITION-FORM</a> to produce the appropriate
result.</p>
<p><i><code>name</code></i> is a symbol or a cons which can be
processed to produce the actual name of the obejct being
defined.</p>
<p>The actual contents of <i><code>definition-forms</code></i> depend on
<i><code>what</code></i> is being defined.</p>
<h3>Using the <strong><code>definer</code></strong> indicator</h3>
<p><i><code>what</code></i> can be the predefined symbol
<code>definer</code>. In this case the DEF macro
behaves as follows. A <a href="bdf.html">BUILD-DEFINITION-FORM</a>
method on <i><code>name</code></i> is defined. The keyword
parameters that can be passed to the DEF are meant to ease the
writing of
<i><code>definer-forms</code></i>.
<p>
<i><code>type-of-naming-form</code></i> is used in a DECLARE form to
aid the compiler. <code><i>name-var</i></code> is a <i>symbol</i> that is used
within the body <i><code>definer-forms</code></i> to retrieve the
<i><code>name</code></i> of the object being
defined. <code><i>body-name</i></code> is a <i>symbol</i> that is used
within the body <i><code>definer-forms</code></i> to retrieve the
actual definition forms for the definer.</p>
<h2>Examples:</h2>
<p>See the <a href="index.html">main page</a>.</p>
<h2>Side Effects:</h2>
<p><i><code>name</code></i> is defined as a <i><code>what</code></i>
in the environment. <i><code>what</code></i> is defined depends on
the current set of methods for the generic function
<a href="bdf.html">BUILD-DEFINITION-FORM</a>.
</p>
<h2>Affected By:</h2>
<p>None.</p>
<h2>Exceptional Situations:</h2>
<p>Environment dependent.</p>
</td>
<!-- <td height="100%"> </td> -->
</tr>
<tr height="100%">
<td height="100%"> </td>
<td valign="top" width="80%" height="100%">
<div class="content">
<div class="text" style="padding-top: 10px;">
<!-- <h1>News</h1>
<p>News in chronological order, most recent on top.
</p>
<ul>
<li><strong>2004-03-14</strong><br>
Completed description.
</li>
<li><strong>2004-02-26</strong><br>
Added content.
</li>
</ul>
-->
</div>
</div>
</td>
<td height="100%"> </td>
</tr>
<tr>
<td colspan="3" valign="bottom" align="right">
<div class="copyright">
© 2003-2011, Marco Antoniotti, all rights reserved.
</div>
</td>
</tr>
</table>
</body>
</html>
--- /project/definer/cvsroot/definer/docs/html/index.html 2011/03/06 15:55:55 NONE
+++ /project/definer/cvsroot/definer/docs/html/index.html 2011/03/06 15:55:55 1.1
<html>
<head>
<title>DEFINER: A COMMON LISP Extension</title>
<link rel="stylesheet" href="main.css">
</head>
<body marginheight="0" marginwidth="0" leftmargin="0" topmargin="0" bgcolor="#ffffff">
<table border="0" cellpadding="0" cellspacing="0" width="100%" height="100%" vspace="0" hspace="0">
<tr>
<td colspan="3">
<div class="header"
style="font-family:=Verdana,Arial,Helvetica; font-size: 18px; color: #41286f;">
<strong><i>Common Lisp Extension: DEFINER</i><string>
<div class="navigation">
<a href="index.html" class="navigation-link-selected">Home</a>
| <a href="code.html" class="navigation-link">Code</a>
| <a href="links.html" class="navigation-link">Links</a>
[296 lines skipped]
--- /project/definer/cvsroot/definer/docs/html/main.css 2011/03/06 15:55:55 NONE
+++ /project/definer/cvsroot/definer/docs/html/main.css 2011/03/06 15:55:55 1.1
[617 lines skipped]
More information about the Definer-cvs
mailing list