65 lines
1.7 KiB
Racket
65 lines
1.7 KiB
Racket
#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))
|
|
|
|
|
|
;; unsure about the render-settings, here:
|
|
(define dmda-a
|
|
(make-ll-model `(lib "DMdA-beginner.ss" "deinprogramm") '() fake-beginner-render-settings #f #t))
|
|
|
|
|
|
;; 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))
|
|
|
|
|
|
|