racket/collects/tests/stepper/language-level-model.ss
John Clements 27a67c9c1a ...
svn: r14204
2009-03-21 21:28:16 +00:00

60 lines
1.6 KiB
Scheme

#lang scheme/base
(require stepper/private/model-settings)
(provide (all-defined-out))
;; DEFINING A LANGUAGE FOR THE PURPOSES OF TESTING
;; ll-model : a representation of the behavior of a language level w.r.t. the stepper
(define-struct ll-model (namespace-spec teachpack-specs render-settings show-lambdas-as-lambdas? enable-testing?))
;; the built-in ll-models:
(define mz
(make-ll-model 'mzscheme `() fake-mz-render-settings #t #f))
(define beginner
(make-ll-model `(lib "htdp-beginner.ss" "lang") `() fake-beginner-render-settings #f #t))
(define beginner-wla
(make-ll-model `(lib "htdp-beginner-abbr.ss" "lang") `() fake-beginner-wla-render-settings #f #t))
(define intermediate
(make-ll-model `(lib "htdp-intermediate.ss" "lang") `() fake-intermediate-render-settings #f #t))
(define intermediate-lambda
(make-ll-model `(lib "htdp-intermediate-lambda.ss" "lang") `() fake-intermediate/lambda-render-settings #t #t))
(define advanced
(make-ll-model `(lib "htdp-advanced.ss" "lang") `() fake-advanced-render-settings #t #t))
(define lazy
(make-ll-model `(lib "lazy.ss" "lazy") `() fake-mz-render-settings #f #f))
;; SUPPORT FOR TESTING A BUNCH OF LANGUAGES AT ONCE:
;; built-in multi-language bundles:
(define upto-int/lam
(list beginner
beginner-wla
intermediate
intermediate-lambda))
(define upto-int
(list beginner
beginner-wla
intermediate))
(define bwla-to-int/lam
(list beginner-wla
intermediate
intermediate-lambda))
(define both-intermediates
(list intermediate
intermediate-lambda))