aboutsummaryrefslogtreecommitdiff
path: root/src/types.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'src/types.lisp')
-rw-r--r--src/types.lisp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/types.lisp b/src/types.lisp
index 09ede2b..06183b1 100644
--- a/src/types.lisp
+++ b/src/types.lisp
@@ -36,15 +36,20 @@
:initarg :specialp
:type boolean
:documentation "")
+ (type :reader closure-type
+ :initarg :type
+ :type keyword
+ :documentation "")
(groupp :reader closure-group-p
:initarg :groupp
:type function
:documentation "")))
-(defun make-closure (function arg-list specialp groupp &optional environment)
+(defun make-closure (function arg-list specialp groupp &optional environment type)
(make-instance 'closure :function function :arg-list arg-list
:specialp specialp :groupp groupp
- :environment environment))
+ :environment environment
+ :type type))
(defun closurep (object)
(typep object 'closure))