From 13e6a0738c47608af15cfcbc88a7a451a1e53fd9 Mon Sep 17 00:00:00 2001 From: Thomas Albers Raviola Date: Mon, 6 Jan 2025 01:07:36 +0100 Subject: Use stored lambda-list instead of lambda arguments --- src/types.lisp | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'src/types.lisp') 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)) -- cgit v1.2.3