#lang scheme (require "views.ss") (provide make-var make-lam make-app var-view lam-view app-view) (define-struct term ()) (define-struct (var term) (v)) (define-struct (lam term) (arg body)) (define-struct (app term) (op arg)) (define-view var-view var? (var-v)) (define-view lam-view lam? (lam-arg lam-body)) (define-view app-view app? (app-op app-arg))