scsh-0.6/ps-compiler/node/arch.scm

41 lines
903 B
Scheme

; Copyright (c) 1993-1999 by Richard Kelsey. See file COPYING.
; These are all of the primitives that are known to the compiler.
; The enumeration is needed by the expander for LET-NODES so it ends up
; being loaded into two separate packages.
(define-enumeration primop
(
; Nontrivial Primops
call ; see below
tail-call
return
jump
throw
unknown-call
unknown-tail-call
unknown-return
dispatch ; (dispatch <cont1> ... <contN> <exp>)
let ; (let <lambda-node> . <args>)
letrec1 ; (letrec1 (lambda (x v1 v2 ...)
letrec2 ; (letrec2 <cont> x <lambda1> <lambda2> ...)))
cell-set!
global-set!
undefined-effect ; (undefined-effect . <maybe-args>)
; Trivial Primops
make-cell
cell-ref
global-ref
; Environment stuff, these are both trivial
closure
env-ref
))