{"size": 1783, "ext": "scrbl", "max_stars_repo_path": "paren-shape/scribblings/paren-shape-pattern-expanders.scrbl", "max_stars_repo_name": "AlexKnauth/paren-shape", "max_stars_repo_stars_event_min_datetime": null, "max_stars_repo_stars_event_max_datetime": null, "max_issues_repo_path": "paren-shape/scribblings/paren-shape-pattern-expanders.scrbl", "max_issues_repo_name": "AlexKnauth/paren-shape", "max_issues_repo_issues_event_min_datetime": null, "max_issues_repo_issues_event_max_datetime": null, "max_forks_repo_path": "paren-shape/scribblings/paren-shape-pattern-expanders.scrbl", "max_forks_repo_name": "AlexKnauth/paren-shape", "max_forks_repo_forks_event_min_datetime": null, "max_forks_repo_forks_event_max_datetime": null}
{"max_stars_count": null, "max_issues_count": null, "max_forks_count": null, "avg_line_length": 29.7166666667, "max_line_length": 75, "alphanum_fraction": 0.5754346607}
#lang scribble/manual

@(require scribble/eval
          (for-label racket/base
                     syntax/parse
                     syntax/parse/class/paren-shape
                     ))

@title{Paren-shape Pattern Expanders}

@defmodule[paren-shape/pattern-expander]{

@deprecated[#:what "library"
            @elem{the pattern expanders from
                  @racketmodname[syntax/parse/class/paren-shape]}]{	 	 	 	 
Specifically, this reprovides @racket[~parens], @racket[~brackets],
and @racket[~braces], three pattern expanders that match syntax
objects only when then @racket['paren-shape] property matches
the expected value.}

@examples[
  #:eval (make-base-eval)
  (require syntax/parse syntax/parse/class/paren-shape)
  (eval:alts
   (syntax-parse #'(1 2 3)
     [(~parens a b c) #'a])
   (syntax-parse (read-syntax 'eval (open-input-string "(1 2 3)"))
     [(~parens a b c) #'a]))
  (eval:alts
   (syntax-parse #'[1 2 3]
     [(~parens a b c) #'a])
   (eval:error
    (syntax-parse (read-syntax 'eval (open-input-string "[1 2 3]"))
      [(~parens a b c) #'a])))
  (eval:alts
   (syntax-parse #'[1 2 3]
     [(~brackets a b c) #'a])
   (syntax-parse (read-syntax 'eval (open-input-string "[1 2 3]"))
     [(~brackets a b c) #'a]))
  (eval:alts
   (syntax-parse #'(1 2 3)
     [(~brackets a b c) #'a])
   (eval:error
    (syntax-parse (read-syntax 'eval (open-input-string "(1 2 3)"))
      [(~brackets a b c) #'a])))
  (eval:alts
   (syntax-parse #'{1 2 3}
     [(~braces a b c) #'a])
   (syntax-parse (read-syntax 'eval (open-input-string "{1 2 3}"))
     [(~braces a b c) #'a]))
  (eval:alts
   (syntax-parse #'(1 2 3)
     [(~braces a b c) #'a])
   (eval:error
    (syntax-parse (read-syntax 'eval (open-input-string "(1 2 3)"))
      [(~braces a b c) #'a])))
]}


