racket/collects/plai/plai-advanced.ss

23 lines
761 B
Scheme

(module plai-advanced mzscheme
(require (rename (lib "htdp-advanced.ss" "lang") plai-else else)
(lib "contract.ss" "mzlib" "private")
"private/datatype.ss"
"test-harness.ss")
;; This macro requires & provides bindings without
;; making them locally visible:
(define-syntax (provide-advanced stx)
#'(begin
(require (lib "htdp-advanced.ss" "lang"))
(provide (all-from-except (lib "htdp-advanced.ss" "lang")
plai-else))))
(provide-advanced)
(provide (rename advanced-type-case type-case)
define-type
require provide provide-type
(all-from-except (lib "contract.ss" "mzlib" "private") contract)
(all-from "test-harness.ss"))
(define-type-case advanced-type-case plai-else))