(define-module (scmvm language scheme) #:use-module (scmvm assembler) #:use-module (ice-9 match)) ;; Scheme compiler ;; Scheme subset we're targeting ;; ::= ... ;; ::= | ;; ::= (define ) ;; | (define ( ...) ...) ;; ::= (lambda ( ...) ...) ;; | (if ) ;; | ( ...) ;; | (let (( ) ...) ...) ;; | (begin ...) ;; | | | | #t | #f ;; A-Normalization ;; All arguments to lambdas are atomic ;; ::= ... ;;