[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