aboutsummaryrefslogtreecommitdiff
path: root/src/types.lisp
diff options
context:
space:
mode:
authorThomas Albers Raviola <thomas@thomaslabs.org>2025-01-06 01:07:36 +0100
committerThomas Albers Raviola <thomas@thomaslabs.org>2025-01-06 01:07:36 +0100
commit13e6a0738c47608af15cfcbc88a7a451a1e53fd9 (patch)
treefaf38ee758f99b68cba2caedda133bad159036ee /src/types.lisp
parent5b518ad7205b3432d95ff2b3757e49914233d913 (diff)
Use stored lambda-list instead of lambda argumentsHEADmaster
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))