mirror of
https://github.com/justinethier/cyclone.git
synced 2025-06-09 04:15:05 +02:00
Revert previous change
This commit is contained in:
parent
1f8a824bda
commit
d9f63a85b4
1 changed files with 16 additions and 6 deletions
|
@ -1841,6 +1841,8 @@
|
||||||
(lambda args
|
(lambda args
|
||||||
(let* ((field-tags (vector-ref name 2))
|
(let* ((field-tags (vector-ref name 2))
|
||||||
(field-values (list->vector args)))
|
(field-values (list->vector args)))
|
||||||
|
(when (not (equal? (length field-tags) (length args)))
|
||||||
|
(error "invalid number of arguments passed to record type constructor" args))
|
||||||
(vector record-marker name field-values))))
|
(vector record-marker name field-values))))
|
||||||
(define (type-slot-offset name sym)
|
(define (type-slot-offset name sym)
|
||||||
(let ((field-tags (vector-ref name 2)))
|
(let ((field-tags (vector-ref name 2)))
|
||||||
|
@ -1939,10 +1941,18 @@
|
||||||
fields)
|
fields)
|
||||||
;; constructor
|
;; constructor
|
||||||
(,_define ,make
|
(,_define ,make
|
||||||
|
(,_let ((%make (,(rename 'make-constructor/args)
|
||||||
|
,(symbol->string make) ;(identifier->symbol make))
|
||||||
|
,name)))
|
||||||
(,_lambda ,make-fields
|
(,_lambda ,make-fields
|
||||||
(,(rename 'vector)
|
(%make ,@make-fields))))
|
||||||
',record-marker
|
; Possible alternate version that inlines make-constructor/args
|
||||||
,name
|
;(,_define ,make
|
||||||
(,(rename 'vector)
|
; (,_lambda ,make-fields
|
||||||
,@make-fields)))))))))
|
; (,(rename 'vector)
|
||||||
|
; ',record-marker
|
||||||
|
; ,name
|
||||||
|
; (,(rename 'vector)
|
||||||
|
; ,@make-fields))))
|
||||||
|
)))))
|
||||||
))
|
))
|
||||||
|
|
Loading…
Add table
Reference in a new issue