aboutsummaryrefslogtreecommitdiff
path: root/src/types.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'src/types.lisp')
-rw-r--r--src/types.lisp21
1 files changed, 11 insertions, 10 deletions
diff --git a/src/types.lisp b/src/types.lisp
index 4b24219..4e4633c 100644
--- a/src/types.lisp
+++ b/src/types.lisp
@@ -27,28 +27,29 @@
:initarg :function
:type function
:documentation "")
- (arg-list :reader closure-arg-list
- :initarg :arg-list
- :type list
+ (lambda-list :reader closure-lambda-list
+ :initarg :lambda-list
+ :type list
:documentation "")
(environment :reader closure-environment
:initarg :environment
:type list
:documentation "Environment captured by the closure")
- (type :reader closure-type
- :initarg :type
- :type keyword
- :documentation "")
+ (specialp :reader closure-special-p
+ :initarg :specialp
+ :type boolean
+ :documentation "")
(groupp :reader closure-group-p
:initarg :groupp
:type function
:documentation "")))
-(defun make-closure (function arg-list groupp &optional environment type)
- (make-instance 'closure :function function :arg-list arg-list
+(defun make-closure (function lambda-list groupp &optional environment specialp)
+ (make-instance 'closure :function function
+ :lambda-list lambda-list
:groupp groupp
:environment environment
- :type type))
+ :specialp specialp))
(defun closurep (object)
(typep object 'closure))