REF PROGSTRUCT Titch Le Bek, Rob Duncan, 1986 COPYRIGHT University of Sussex 1993. All Rights Reserved. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> <<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> <<<<<<<<<<<<<<<<<<<<< THE LISP PROGRAM STRUCTURE >>>>>>>>>>>>>>>>>>>>>> <<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< This file briefly describes the functions, variables and constants documented in Chapter 5 of the standard Common Lisp guide, which is: Common Lisp: The Language (Guy L. Steele, Digital Press, 1984). ------------------------------------------------- 1 A Listing of Functions Variables and Constants ------------------------------------------------- (lambda ({var}* [macro] [&optional {var | (var [initform [svar]])}*] [&rest var] [&key {var | ({var | (keyword var)} [initform [svar]])}* [&allow-other-keys]] [&aux {var | (var [initform])}*]) {declaration | documentation-string}* {form}*) Creates an anonymous function. lambda-list-keywords [constant] A list of all the lambda-list keywords supported by this implementation (including those used only by defmacro). lambda-parameters-limit [constant] The upper exclusive bound on the number of distinct parameter names that may appear in a single lambda-list. Value in this implementation: 536870912. (defconstant name form [documentation]) [macro] defconstant is like defparameter except that it asserts that the value of name is fixed and licenses the compiler to build assumptions about the value into programs being compiled. Any further assignment to a defconstant variable is an error. (defparameter name form [documentation]) [macro] defparameter is similar to defvar except it requires a form which it evaluates as the initial value of the variable name. defparameter is used to declare a variable that is normally constant but it does not permit the compiler to build in any assumptions about it. (defun fname lambda-list [macro] {declaration | doc-string}* {form}*) Defines a function named fname. The function that is created binds its arguments to the variables specified in lambda-list and then executes the code in {form}*. This code is automatically enclosed in a block with the same name as the function, which means that return-from can be used to exit from the function. The new function becomes the global functional value of fname. fname may be a symbol or a list of the form (setf symbol). It is returned as the value of the defun form. (defvar name [form [documentation]]) [macro] defvar declares the use of name as a special variable in a program. If form is supplied it becomes the initial value of the variable. form is evaluated only if it is used. Optional documentation describes the meaning of the variable. (eval-when ({situation}*) {form}*) [special-form] eval-when allows pieces of code to be executed only at compile-time, only at load time, or at run-time. The body {form}* is processed as an implicit progn but only in the situations listed. Each situation must be one of the three keywords symbols :compile-toplevel, :load-toplevel, or :execute. :compile-toplevel specifies that the body should be processed if the eval-when form is a top-level form in a file being compiled by compile-file. :load-toplevel specifies that the body should be processed if the eval-when form is a top-level form in a file being loaded with load. :execute indicates that the body should be evaluated at run-time. See Steele 1990 p89-94 for full details. --- C.all/lisp/ref/progstruct --- Copyright University of Sussex 1993. All rights reserved.