(module syntax-errors mzscheme (require (lib "contract.ss") (lib "plt-match.ss") "../../private/planet.ss") (require-cce/scheme) (provide syntax-case/error syntax-case/name current-syntax syntax-error nyi) (define raised-exn/c (flat-named-contract "raised-exception" (lambda (v) #f))) (define-syntax (syntax-case/name stx) (syntax-case stx () [(scn expr lits . clauses) (syntax/loc stx (syntax-case* expr lits text=? . clauses))])) (define-syntax (syntax-case/error stx) (syntax-case stx () [(sce expr lits . clauses) (syntax/loc stx (parameterize ([current-syntax expr]) (syntax-case/name (current-syntax) lits . clauses)))])) (define (nyi stx) (raise-syntax-error #f "not yet implemented" stx)) )