#lang scheme/base
(require (prefix-in base: scheme/base)
scheme/contract
lang/htdp-intermediate-lambda
(for-syntax scheme/base)
"error-struct.ss")
(provide (except-out (all-from-out lang/htdp-intermediate-lambda)
define-struct
define
quote
let
letrec
let*
image?
image=?))
(define-syntax (my-define-struct stx)
(syntax-case stx ()
[(_ id (fields ...))
(syntax/loc stx
(base:define-struct id (fields ...)
#:prefab
#:mutable))]))
(base:define (syntax-error msg . stx)
(raise (make-exn:fail:moby-syntax-error msg (current-continuation-marks) stx)))
(provide (rename-out (base:provide provide)
(base:quote quote)
(my-define-struct define-struct)
(base:define define))
provide/contract -> any/c listof list/c or/c false/c natural-number/c hash?
begin
void
set!
build-vector
make-vector
vector
vector-length
vector-ref
vector-set!
vector?
case
let let* letrec
hash-set hash-ref hash-remove make-immutable-hasheq hash-map
syntax-error
)