racket/collects/lang/htdp-beginner-abbr.ss
Carl Eastlund 5b67fcbb86 Added binding for .., ..., ...., ....., and ...... in htdp languages.
Uses of these dots expand to an expression generating a runtime error
stating "expected a finished expression, but found a placeholder".
Students may write and run unfinished templates (as usual), but will get an
error message that is more specific and hopefully more useful than unbound variable.

Added tests for this functionality.

svn: r6743
2007-06-26 15:41:01 +00:00

45 lines
1.3 KiB
Scheme

(module htdp-beginner-abbr mzscheme
(require (lib "etc.ss")
(lib "list.ss")
(lib "math.ss")
(lib "docprovide.ss" "syntax"))
;; Implements the forms:
(require "private/teach.ss"
"private/contract-forms.ss"
"private/teachprims.ss")
;; syntax:
(provide (rename beginner-define define)
(rename beginner-define-struct define-struct)
(rename beginner-lambda lambda)
(rename beginner-app #%app)
(rename beginner-top #%top)
(rename beginner-cond cond)
(rename beginner-else else)
(rename beginner-if if)
(rename beginner-and and)
(rename beginner-or or)
(rename beginner-require require)
(rename beginner-dots ..)
(rename beginner-dots ...)
(rename beginner-dots ....)
(rename beginner-dots .....)
(rename beginner-dots ......)
;; (rename beginner-contract contract)
;; (rename beginner-define-data define-data)
(rename intermediate-quote quote)
(rename intermediate-quasiquote quasiquote)
(rename intermediate-unquote unquote)
(rename intermediate-unquote-splicing unquote-splicing)
(rename beginner-module-begin #%module-begin)
#%datum
#%top-interaction
empty true false)
;; procedures:
(provide-and-document
procedures
(all-from beginner: (lib "htdp-beginner.ss" "lang") procedures)))