diff options
author | Thomas Albers Raviola <thomas@thomaslabs.org> | 2024-05-15 16:21:29 +0200 |
---|---|---|
committer | Thomas Albers Raviola <thomas@thomaslabs.org> | 2025-01-05 17:11:20 +0100 |
commit | ce529296fb83b21950c15eab60b23074ccc79c2e (patch) | |
tree | 7dca0da8e57841f2f8efa31783196888511002cd /src/types.lisp | |
parent | b8d1c62d87e418fb6a7b0ca6c5891b9b7c1ecf0c (diff) |
Add syntax form for writing macros
Diffstat (limited to 'src/types.lisp')
-rw-r--r-- | src/types.lisp | 9 |
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)) |