Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
new-op
new-op
Commits
201cf829
Commit
201cf829
authored
Dec 16, 2015
by
Marco Antoniotti
💬
Browse files
Updated HTML documentation.
parent
89db285e
Changes
27
Hide whitespace changes
Inline
Side-by-side
docs/html/dictionary/Function-COMPUTE-DATA-DIMENSIONS.html
0 → 100644
View file @
201cf829
<head>
<title>
NEW: a new operator for Common Lisp
:
FUNCTION
compute-data-dimensions
</title>
<link
rel=
"stylesheet"
href=
"../helambdap.css"
/>
</head>
<body>
<h1>
<i>
Internal
Function
</i>
<strong>
compute-data-dimensions
</strong>
</h1>
<h2>
Package:
</h2>
<p>
IT.UNIMIB.DISCO.MA.CL.EXT.TAC.NEW-OP
</p>
<h2>
Syntax:
</h2>
<div>
<p>
<pre>
<strong
style=
"color: red"
>
compute-data-dimensions
</strong>
<i>
DATA
</i>
<span
style=
"color: blue"
>
&
OPTIONAL
</span>
<i>
RANK
</i>
<i>
ERROR-IF-UNEQUAL-P
</i>
→
<i>
result
</i></pre>
</p>
</div>
<h3>
Arguments and Values:
</h3>
<ul
style=
"list-style-type: none"
>
<li
style=
"list-style-type: none"
>
<i>
<code>
DATA
</code>
</i>
:
a
T
</li>
<li
style=
"list-style-type: none"
>
<i>
<code>
RANK
</code>
</i>
:
a
T
</li>
<li
style=
"list-style-type: none"
>
<i>
<code>
ERROR-IF-UNEQUAL-P
</code>
</i>
:
a
T
</li>
<li
style=
"list-style-type: none"
>
<i>
<code>
NESTED-SEQUENCES
</code>
</i>
:
a
T
</li>
<li
style=
"list-style-type: none"
>
<i>
<code>
result
</code>
</i>
: a T.
</li>
</ul>
<h2>
Description:
</h2>
<p>
Computes the dimensions of DATA.
</p>
<p>
DATA is a sequence of nested sequences. RANK can be passed to limit
the depth of the reconstruction; if NIL (the default) the dimensions
are computed down to 'atoms'. ERROR-IF-UNEQUAL-P controls whether an
error is signalled if the shape of DATA is 'ragged'. An error is also
signalled if RANK is higher than the actual DATA rank.
</p>
</body>
\ No newline at end of file
docs/html/dictionary/Function-COPY-HASH-TABLE.html
0 → 100644
View file @
201cf829
<head>
<title>
NEW: a new operator for Common Lisp
:
FUNCTION
copy-hash-table
</title>
<link
rel=
"stylesheet"
href=
"../helambdap.css"
/>
</head>
<body>
<h1>
<i>
Internal
Function
</i>
<strong>
copy-hash-table
</strong>
</h1>
<h2>
Package:
</h2>
<p>
IT.UNIMIB.DISCO.MA.CL.EXT.TAC.NEW-OP
</p>
<h2>
Syntax:
</h2>
<div>
<p>
<pre>
<strong
style=
"color: red"
>
copy-hash-table
</strong>
<i>
HT
</i>
→
<i>
result
</i></pre>
</p>
</div>
<h3>
Arguments and Values:
</h3>
<ul
style=
"list-style-type: none"
>
<li
style=
"list-style-type: none"
>
<i>
<code>
HT
</code>
</i>
:
a
HASH-TABLE
</li>
<li
style=
"list-style-type: none"
>
<i>
<code>
result
</code>
</i>
: a T.
</li>
</ul>
<h2>
Description:
</h2>
<p>
Copies and HASH-TABLE.
</p>
<p>
This function is implementation dependent. The basic behavior
provided just copies an hash-table with the standard components.
</p>
</body>
\ No newline at end of file
docs/html/dictionary/Function-REGISTER-STRUCTURE-CONSTRUCTOR.html
0 → 100644
View file @
201cf829
<head>
<title>
NEW: a new operator for Common Lisp
:
FUNCTION
register-structure-constructor
</title>
<link
rel=
"stylesheet"
href=
"../helambdap.css"
/>
</head>
<body>
<h1>
<i>
Function
</i>
<strong>
register-structure-constructor
</strong>
</h1>
<h2>
Package:
</h2>
<p>
IT.UNIMIB.DISCO.MA.CL.EXT.TAC.NEW-OP
</p>
<h2>
Syntax:
</h2>
<div>
<p>
<pre>
<strong
style=
"color: red"
>
register-structure-constructor
</strong>
<i>
SC
</i>
<i>
CONSTRUCTOR
</i>
→
<i>
result
</i></pre>
</p>
</div>
<h3>
Arguments and Values:
</h3>
<ul
style=
"list-style-type: none"
>
<li
style=
"list-style-type: none"
>
<i>
<code>
SC
</code>
</i>
:
a
T
</li>
<li
style=
"list-style-type: none"
>
<i>
<code>
CONSTRUCTOR
</code>
</i>
:
a
T
</li>
<li
style=
"list-style-type: none"
>
<i>
<code>
result
</code>
</i>
: a T.
</li>
</ul>
<h2>
Description:
</h2>
<p>
Registers CONSTRUCTOR for structure class SC.
</p>
<p>
The CONSTRUCTOR will then be available to NEW whenever a SC needs to be
created.
</p>
</body>
\ No newline at end of file
docs/html/dictionary/Generic_Function-NEW.html
0 → 100644
View file @
201cf829
<head>
<title>
NEW: a new operator for Common Lisp
:
Generic Function
new
</title>
<link
rel=
"stylesheet"
href=
"../helambdap.css"
/>
</head>
<body>
<h1>
<i>
Generic Function
</i>
<strong>
new
</strong>
</h1>
<h2>
Package:
</h2>
<p>
IT.UNIMIB.DISCO.MA.CL.EXT.TAC.NEW-OP
</p>
<h2>
Syntax:
</h2>
<p>
<pre>
<span
style=
"color: red"
><strong>
new
</strong></span>
<i>
WHAT
</i>
<span
style=
"color: blue"
>
&
REST
</span>
<i>
ARGUMENTS
</i>
→
<i>
result
</i></pre>
</p>
<h3>
Arguments and Values:
</h3>
<ul
style=
"list-style-type: none"
>
<li
style=
"list-style-type: none"
>
<i>
<code>
WHAT
</code>
</i>
:
a
T
</li>
<li
style=
"list-style-type: none"
>
<i>
<code>
ARGUMENTS
</code>
</i>
:
a
T
</li>
<li
style=
"list-style-type: none"
>
<i>
<code>
result
</code>
</i>
: a T.
</li>
</ul>
<h2>
Description:
</h2>
<p>
Generic 'construction' function.
</p>
<p>
The NEW generic function is a single entry point for MAKE-INSTANCE,
DEFSTRUCT and other constructors, e.g., for HASH-TABLEs and ARRAYs.
</p>
<p>
Methods for NEW can be defined specialized for new classes.
Structure classes need to register their constuctor; see
REGISTER-STRUCTURE-CONSTRUCTOR. Compound type specifiers must be
specialized by defining methods for TYPE-CONS.
</p>
<div>
<h2>
Known Documented Methods:
</h2>
<ol>
<li>
<p>
<pre>
<strong>
new
</strong>
<i>
<
SYMBOL
>
</i>
<span
style=
"color: blue"
>
&
REST
</span>
<i>
ARGUMENTS
</i>
→
<i>
result
</i></pre>
</p>
<p>
<p>
SYMBOL Method.
</p>
<p>
Dispatches on the class named by the argument.
</p>
</p>
</li>
<li>
<p>
<pre>
<strong>
new
</strong>
<i>
<
STANDARD-CLASS
>
</i>
<span
style=
"color: blue"
>
&
REST
</span>
<i>
ARGUMENTS
</i>
→
<i>
result
</i></pre>
</p>
<p>
<p>
STANDARD-CLASS Method.
</p>
<p>
Applies MAKE-INSTANCE to the class and ARGUMENTS. This method is, to
all effects, MAKE-INSTANCE in disguise.
</p>
</p>
</li>
<li>
<p>
<pre>
<strong>
new
</strong>
<i>
<
STRUCTURE-CLASS
>
</i>
<span
style=
"color: blue"
>
&
REST
</span>
<i>
ARGUMENTS
</i>
→
<i>
result
</i></pre>
</p>
<p>
<p>
STRUCTURE-CLASS Method.
</p>
<p>
Applies the constructor of the STRUCTURE-CLASS to the ARGUMENTS. The
constructor must have been registered with
REGISTER-STRUCTURE-CONSTRUCTOR to be applicable.
</p>
</p>
</li>
<li>
<p>
<pre>
<strong>
new
</strong>
<i>
<
BUILT-IN-CLASS
>
</i>
<span
style=
"color: blue"
>
&
REST
</span>
<i>
ARGUMENTS
</i>
→
<i>
result
</i></pre>
</p>
<p>
<p>
BUILT-IN-CLASS Method.
</p>
<p>
Signals an 'undefined' error. This method is a sink for the
built-in classes which do not have a specialized method built with EQL.
</p>
</p>
</li>
<li>
<p>
<pre>
<strong>
new
</strong>
:AROUND
<i>
<
CLASS
>
</i>
<span
style=
"color: blue"
>
&
REST
</span>
<i>
ARGUMENTS
</i>
→
<i>
result
</i></pre>
</p>
<p>
<p>
CLASS Around Method.
</p>
<p>
This method helps dealing with some of the vagaries of the CL type
system, e.g., COMPLEX and RATIONAL types with their relationship.
</p>
</p>
</li>
<li>
<p>
<pre>
<strong>
new
</strong>
<i>
(EQL (FIND-CLASS (QUOTE ARRAY)))
</i>
<span
style=
"color: blue"
>
&
REST
</span>
<i>
ARGUMENTS
</i>
→
<i>
result
</i></pre>
</p>
<p>
<p>
ARRAY Method.
</p>
<p>
Calls MAKE-ARRAY after having manipulated the ARGUMENTS.
The 'bare' constructor for objects of 'type' ARRAY actually behaves
as having the following simple syntax:
<pre>
new 'array
&
optional INITIAL-CONTENTS
&
rest MAKE-ARRAY-keywords
</pre>
I.e., the constructor figures out the dimensions of the
INITIAL-CONTENTS before dispatching to MAKE-ARRAY.
</p>
</p>
</li>
<li>
<p>
<pre>
<strong>
new
</strong>
<i>
(EQL (FIND-CLASS (QUOTE VECTOR)))
</i>
<span
style=
"color: blue"
>
&
REST
</span>
<i>
ARGUMENTS
</i>
→
<i>
result
</i></pre>
</p>
<p>
<p>
VECTOR Method.
</p>
<p>
Applies the function VECTOR to the ARGUMENTS.
</p>
</p>
</li>
<li>
<p>
<pre>
<strong>
new
</strong>
<i>
(EQL (FIND-CLASS (QUOTE STRING)))
</i>
<span
style=
"color: blue"
>
&
REST
</span>
<i>
ARGUMENTS
</i>
→
<i>
result
</i></pre>
</p>
<p>
<p>
STRING Method.
</p>
<p>
Applies the function STRING to the first of ARGUMENTS.
</p>
</p>
</li>
<li>
<p>
<pre>
<strong>
new
</strong>
<i>
(EQL (FIND-CLASS (QUOTE LIST)))
</i>
<span
style=
"color: blue"
>
&
REST
</span>
<i>
ARGUMENTS
</i>
→
<i>
result
</i></pre>
</p>
<p>
<p>
LIST Method.
</p>
<p>
Applies the function VECTOR to the ARGUMENTS.
</p>
</p>
</li>
<li>
<p>
<pre>
<strong>
new
</strong>
<i>
(EQL (FIND-CLASS (QUOTE CHARACTER)))
</i>
<span
style=
"color: blue"
>
&
REST
</span>
<i>
ARGUMENTS
</i>
→
<i>
result
</i></pre>
</p>
<p>
<p>
CHARACTER Method.
</p>
<p>
Applies the function CHARACTER to the first of ARGUMENTS.
</p>
</p>
</li>
<li>
<p>
<pre>
<strong>
new
</strong>
<i>
(EQL (FIND-CLASS (QUOTE SYMBOL)))
</i>
<span
style=
"color: blue"
>
&
REST
</span>
<i>
ARGUMENTS
</i>
→
<i>
result
</i></pre>
</p>
<p>
<p>
SYMBOL Method.
</p>
<p>
The SYMBOL method has the following syntax.
<pre>
new 'symbol S
&
optional (PACKAGE *PACKAGE*) COPY-PROPERTIES
</pre>
S can be a STRING or a SYMBOL. If it is a SYMBOL, S is first copied,
using COPY-SYMBOL and COPY-PROPERTIES (cfr., COPY-SYMBOL in the CL
Standard). If S is a STRING then MAKE-SYMBOL is initially called. If
PACKAGE is NIL then a fresh, uninterned symbol is returned, otherwise
the resulting symbol is IMPORTed in PACKAGE.
</p>
</p>
</li>
<li>
<p>
<pre>
<strong>
new
</strong>
<i>
(EQL (FIND-CLASS (QUOTE PATHNAME)))
</i>
<span
style=
"color: blue"
>
&
REST
</span>
<i>
ARGUMENTS
</i>
→
<i>
result
</i></pre>
</p>
<p>
<p>
PATHNAME Method.
</p>
<p>
The PATHNAME method dispatches on the first element of ARGUMENTS. If
it is a KEYWORD, it assumes that MAKE-PATHNAME is to be called,
applied to all the ARGUMENTS.
Otherwise it checks whether the first of ARGUMENTS ia a STRING, a
STREAM or a PATHNAME, in which case is passes it to the function
PATHNAME.
</p>
</p>
</li>
<li>
<p>
<pre>
<strong>
new
</strong>
<i>
(EQL (FIND-CLASS (QUOTE NUMBER)))
</i>
<span
style=
"color: blue"
>
&
REST
</span>
<i>
ARGUMENTS
</i>
→
<i>
result
</i></pre>
</p>
<p>
<p>
NUMBER Method.
</p>
<p>
The NUMBER method just checks that the argument is a number and
returns it.
</p>
</p>
</li>
<li>
<p>
<pre>
<strong>
new
</strong>
<i>
(EQL (FIND-CLASS (QUOTE COMPLEX)))
</i>
<span
style=
"color: blue"
>
&
REST
</span>
<i>
ARGUMENTS
</i>
→
<i>
result
</i></pre>
</p>
<p>
<p>
COMPLEX Method.
</p>
<p>
The COMPLEX method applies the function COMPLEX to the arguments.
</p>
</p>
</li>
<li>
<p>
<pre>
<strong>
new
</strong>
<i>
(EQL (FIND-CLASS (QUOTE HASH-TABLE)))
</i>
<span
style=
"color: blue"
>
&
REST
</span>
<i>
ARGUMENTS
</i>
→
<i>
result
</i></pre>
</p>
<p>
<p>
HASH-TABLE Method.
</p>
<p>
The HASH-TABLE method admits a non-traditional syntax. It can be
invoked in two forms.
<pre>
new 'HASH-TABLE
&
optional PAIRS
&
rest HASH-TABLE-STANDARD-ARGS
&
key
&
allow-other-keys
</pre>
or
<pre>
new 'HASH-TABLE
&
rest HASH-TABLE-STANDARD-ARGS
&
key
&
allow-other-keys
</pre>
</p>
<p>
I.e., it dispatches on the first of the ARGUMENTS to decide whether it
also has to 'fill' the newly created hash table; in this last case, it
behaves as a 'copy' constructor. If the first of the ARGUMENTS is a
hash-table, the keywords are ignored. If it is a keyword then it is
assumed that the call must resolve to a simple call to
MAKE-HASH-TABLE. Otherwise,
<pairs>
must be an A-LIST of pairs
<pre>
(key . value)
</pre>
which are then fed into the newly created hash-table.
</p>
<p>
The result is an hash table.
</p>
</p>
</li>
<li>
<p>
<pre>
<strong>
new
</strong>
<i>
(EQL 'HASH-SET)
</i>
<span
style=
"color: blue"
>
&
REST
</span>
<i>
ARGUMENTS
</i>
→
<i>
result
</i></pre>
</p>
<p>
<p>
HASH-SET Method.
</p>
<p>
A specialised method yielding a HASH-TABLE with BOOLEAN values. It
can be invoked in two forms.
<pre>