(define-module (scmvm language cps) #:use-module (scmvm assembler) #:use-module (ice-9 match) #:export (compile-cps)) (define (compile-atom asm atom) (cond [(number? atom) (emit-literal asm atom)])) (define (compile-cps asm soup) (when (not (null? soup)) (match (car soup) [(? (negate pair?) atom) (compile-atom asm atom)]) (compile-cps asm (cdr soup))))