2
<head><title>DECLARE.html -- ACL2 Version 3.0.1</title></head>
2
<head><title>DECLARE.html -- ACL2 Version 3.1</title></head>
3
3
<body text=#000000 bgcolor="#FFFFFF">
4
4
<h2>DECLARE</h2>declarations
5
5
<pre>Major Section: <a href="PROGRAMMING.html">PROGRAMMING</a>
22
22
where, in ACL2, each di is of one of the following forms:<p>
24
24
(ignore v1 ... vn) -- where each vi is a variable introduced in
25
the immediately superior lexical environment.<p>
27
(type type-spec v1 ... vn) -- where each vi is a variable
28
introduced in the immediately superior lexical environment and
29
type-spec is a type specifier (as described in the documentation
30
for <a href="TYPE-SPEC.html">type-spec</a>).<p>
32
(xargs :key1 val1 ... :keyn valn) -- where the legal values of the
33
keyi's and their respective vali's are described in the
34
documentation for <a href="XARGS.html">xargs</a>.
25
the immediately superior lexical environment. These variables must not
26
occur free in the scope of the declaration.<p>
28
(ignorable v1 ... vn) -- where each vi is a variable introduced in
29
the immediately superior lexical environment. These variables need not
30
occur free in the scope of the declaration. This declaration can be useful
31
for inhibiting compiler warnings.<p>
33
(type type-spec v1 ... vn) -- where each vi is a variable introduced in the
34
immediately superior lexical environment and type-spec is a type specifier
35
(as described in the documentation for <a href="TYPE-SPEC.html">type-spec</a>).<p>
37
(xargs :key1 val1 ... :keyn valn) -- where the legal values of the keyi's
38
and their respective vali's are described in the documentation for
39
<a href="XARGS.html">xargs</a>.
37
42
Declarations in ACL2 may occur only where <code>dcl</code> occurs below:
43
48
(MV-LET (v1 ...) term dcl ... dcl body)
46
Of course, if a form macroexpands into one of these (as <code><a href="LET_star_.html">let*</a></code>
47
expands into nested <code><a href="LET.html">let</a></code>s and our <code>er-let*</code> expands into nested
48
<code><a href="MV-LET.html">mv-let</a></code>s) then declarations are permitted as handled by the macros
51
Of course, if a form macroexpands into one of these (as <code><a href="LET_star_.html">let*</a></code> expands
52
into nested <code><a href="LET.html">let</a></code>s and our <code>er-let*</code> expands into nested <code><a href="MV-LET.html">mv-let</a></code>s)
53
then declarations are permitted as handled by the macros involved.<p>
51
<code>Declare</code> is defined in Common Lisp. See any Common Lisp
52
documentation for more information.
55
<code>Declare</code> is defined in Common Lisp. See any Common Lisp documentation for
53
57
<br><br><br><a href="acl2-doc.html"><img src="llogo.gif"></a> <a href="acl2-doc-index.html"><img src="index.gif"></a>