commit 48e934a3140d2e444e3159bbd8faa86a3e2cbc16
parent 2664d3873346a65d7474c70422eb0e9a33396947
Author: Jack Firth <jackhfirth@gmail.com>
Date: Wed, 11 Mar 2015 13:17:43 -0700
Remove description of old API
Diffstat:
1 file changed, 0 insertions(+), 29 deletions(-)
diff --git a/README.md b/README.md
@@ -2,32 +2,3 @@ generic-syntax-expanders
========================
A Racket package for creating macros with built-in support for defining sub-macros within them, similar to match expanders
-
-Sometimes complex Racket macros need ways to extend their syntax. For example, in the `match` form new patterns can be created for `match` using `define-match-expander`. This package provides a form for defining a macro with the ability to define expanders for that macro. Consider this contrived example:
-
- (define-syntax call-each
- (syntax-parser
- [(_ f (expr ...))
- #'(begin (f expr) ...)]))
-
- (call-each displayln (1 2 3))
-
-If a user of this macro wished for a way to specify a range of numbers as the arguments, the user must define their own version of `call-each` with support for ranges that expands to using the original call-each. However, this package provides a form, `define-syntax-with-expanders`:
-
- (require generic-syntax-expanders)
-
- (define-syntax-with-expanders call-each
- (syntax-parser
- [(_ f (expr ...))
- #'(begin (f expr) ... )]))
-
- (define-call-each-expander foo
- (syntax-parser
- [(_ low:number high:number)
- #`(#,@(range (syntax-e #'low) (syntax-e #'high)))]))
-
- (call-each displayln (foo 1 4))
-
-The `define-syntax-with-expanders` form creates a `define-call-each-expander` form, which defines syntax transformers that are only used inside the body of a `call-each` form and expand before `call-each` does.
-
-You can install this package with `raco package install generic-syntax-expanders`.