(define-module (modules ast syntax-tree) #:use-module (srfi srfi-9) #:export (make-program program? program-function make-function function? function-id function-stmt make-stmt stmt? stmt-expr make-expr expr? expr-int make-id id? id-symbol)) (define-record-type (make-program func) program? (func program-function)) (define-record-type (make-function id stmt) function? (id function-id) (stmt function-stmt)) (define-record-type (make-stmt expr) stmt? (expr stmt-expr)) (define-record-type (make-expr int) expr? (int expr-int)) (define-record-type (make-id symbol) id? (symbol id-symbol))