refactored object alloc from ins to fix gc bug

This commit is contained in:
ESL 2023-03-26 00:16:52 -04:00
parent fc307375d9
commit 033991b0d7
2 changed files with 534 additions and 483 deletions

986
i.c

File diff suppressed because it is too large Load diff

View file

@ -861,6 +861,8 @@
(define-syntax call-with-current-continuation call/cc) (define-syntax call-with-current-continuation call/cc)
;dynamic-wind
(define (%map1 p l) (define (%map1 p l)
(let loop ([l l] [r '()]) (let loop ([l l] [r '()])
(if (pair? l) (if (pair? l)
@ -945,6 +947,35 @@
(apply for-each p (map vector->list (cons v v*))))) (apply for-each p (map vector->list (cons v v*)))))
;---------------------------------------------------------------------------------------------
; Exceptions
;---------------------------------------------------------------------------------------------
;TBD:
;
;with-exception-handler
;raise
;raise-continuable
;error
;error-object?
;error-object-message
;error-object-irritants
;read-error?
;file-error?
;---------------------------------------------------------------------------------------------
; Environments and evaluation
;---------------------------------------------------------------------------------------------
;TBD:
;
;environment
;scheme-report-environment
;null-environment
;interaction-environment
;eval
;--------------------------------------------------------------------------------------------- ;---------------------------------------------------------------------------------------------
; I/O Ports ; I/O Ports
;--------------------------------------------------------------------------------------------- ;---------------------------------------------------------------------------------------------