racket/rktboot/hand-coded.rkt
Matthew Flatt aa9bba9328 add Racket-based bootstrap support
Move "racket/src/cs/bootstrap" from the Racket source repository to
this one, because the bootstrapping implementation needs to track the
Chez Scheme source much more closely than the Racket implementation.
Currently, any Racket v7.1 or later works.

Also update "README.md" and "BUILDING" to get all the information
consistent and in sync with revised build options.

original commit: a9e6e99ea414b4625fe9705e4f3cfd62bbf38ae2
2020-07-25 14:10:25 -06:00

30 lines
875 B
Racket

#lang racket/base
(provide $hand-coded)
(define ($hand-coded sym)
(case sym
[($install-library-entry-procedure)
(lambda (key val)
(hash-set! library-entries key val))]
[($foreign-entry-procedure) void]
[(callcc call1cc) call/cc]
[(scan-remembered-set
get-room
call-error
dooverflood
dooverflow
dorest0 dorest1 dorest2 dorest3 dorest4 dorest5 doargerr
dounderflow nuate reify-cc
dofargint32 dofretint32 dofretuns32 dofargint64 dofretint64
dofretuns64 dofretu8* dofretu16* dofretu32* domvleterr
values-error $shift-attachment)
void]
[(bytevector=?) equal?]
[($wrapper-apply wrapper-apply arity-wrapper-apply) void]
[(nonprocedure-code) (lambda args (error "not a procedure"))]
[else
(error '$hand-coded "missing ~s" sym)]))
(define library-entries (make-hasheqv))