File: Common_Lisp.html

package info (click to toggle)
acl2 3.1-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 36,712 kB
  • ctags: 38,396
  • sloc: lisp: 464,023; makefile: 5,470; sh: 86; csh: 47; cpp: 25; ansic: 22
file content (39 lines) | stat: -rw-r--r-- 2,162 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<html>
<head><title>Common_Lisp.html  --  ACL2 Version 3.1</title></head>
<body text=#000000 bgcolor="#FFFFFF">
<h2>Common Lisp</h2>
<p>
<img src=common-lisp.gif><p>

The logic of ACL2 is based on Common Lisp.<p>

Common Lisp is the standard list processing programming language.
It is documented in:  Guy L. Steele, <b>Common Lisp The Language</B>,
Digital Press, 12 Crosby Drive, Bedford, MA 01730, 1990.  See
also http://www.cs.cmu.edu/Web/Groups/AI/html/cltl/cltl2.html.<p>

ACL2 formalizes only a subset of Common Lisp.  It includes such
familiar Lisp functions as <code>cons</code>, <code>car</code> and <code>cdr</code> for creating
and manipulating list structures, various arithmetic primitives such
as <code>+</code>, <code>*</code>, <code>expt</code> and <code>&lt;=</code>, and <code>intern</code> and <code>symbol-name</code> for
creating and manipulating symbols.  Control primitives include
<code>cond</code>, <code>case</code> and <code>if</code>, as well as function call, including
recursion.  New functions are defined with <code>defun</code> and macros with
<code>defmacro</code>.  See <a href="PROGRAMMING.html">programming</a> <a href="A_Tiny_Warning_Sign.html"><img src=twarning.gif></a> for a list of the Common
Lisp primitives supported by ACL2.<p>

ACL2 is a very small subset of full Common Lisp.  ACL2 does not
include the Common Lisp Object System (CLOS), higher order
functions, circular structures, and other aspects of Common Lisp
that are <b>non-applicative</B>.  Roughly speaking, a language is
applicative if it follows the rules of function application.  For
example, <code>f(x)</code> must be equal to <code>f(x)</code>, which means, among other
things, that the value of <code>f</code> must not be affected by ``global
variables'' and the object <code>x</code> must not change over time.<p>

Click <a href="An_Example_Common_Lisp_Function_Definition.html">here</a> for a simple example of Common Lisp.<p>

<a href="An_Example_Common_Lisp_Function_Definition.html"><img src=walking.gif></a>
<br><br><br><a href="acl2-doc.html"><img src="llogo.gif"></a> <a href="acl2-doc-index.html"><img src="index.gif"></a>
</body>
</html>