
Changed backtracking algorithm, runtime representations - syntax classes, ~describe no longer implicitly commit - ~describe no longer delimits effect of cut Added keyword & optional args for stxclasses Added ~do and #:do, ~post, ~commit and #:commit, ~delimit-cut and #:no-delimit-cut Added syntax/parse/debug, syntax/parse/experimental/* - expr/c for contracting macro sub-expressions moved from syntax/parse to syntax/parse/experimental/contract - syntax class reflection (~reflect, ~splicing-reflect) - eh-alternative-sets (~eh-var) - provide-syntax-class/contract (only for params, not attrs so far) Changed ~fail to not include POST progress (#:fail still does) old (~fail _) is now (~post (~fail _)) Made msg argument of ~fail optional Removed generic "repetition constraint violated" msg Removed atom-in-list stxclass Removed unnecessary datum->syntax on cdr of pair pattern massive improvements to long-list microbenchmarks Optimization: integrable syntax classes (id, expr, keyword) need better measurements Optimization: ad hoc elimination of head/tail choice point for (EH ... . ()) patterns Added unstable/wrapc (proc version of expr/c)
14 lines
531 B
Racket
14 lines
531 B
Racket
#lang racket/base
|
|
(require racket/contract/base
|
|
"parse/private/sc.rkt"
|
|
"parse/private/litconv.rkt"
|
|
"parse/private/lib.rkt"
|
|
"parse/experimental/provide.rkt")
|
|
(provide (except-out (all-from-out "parse/private/sc.rkt")
|
|
parser/rhs)
|
|
(all-from-out "parse/private/litconv.rkt")
|
|
(except-out (all-from-out "parse/private/lib.rkt")
|
|
static))
|
|
(provide-syntax-class/contract
|
|
[static (syntax-class/c [(-> any/c any/c) (or/c string? symbol? #f)])])
|