#lang scheme/base (require (file "simplifier.scm")) (require (file "optimizer.scm")) (require (file "mapper.scm")) (provide reduce-function compile-function optimize?) (define optimize? (make-parameter #t)) (define (compile-function lambda-form) (map-variables (reduce-function lambda-form))) (define (reduce-function lambda-form) ((compose (if (optimize?) optimize-function values) simplify-lambda) lambda-form)) ; vim:set sw=2 expandtab: