From 60f1c85207ecac93e1be63dd80a8a541651feadd Mon Sep 17 00:00:00 2001 From: Jon Rafkind Date: Fri, 15 Jun 2012 15:12:30 -0600 Subject: [PATCH] [honu] remove context argument from macro transformers --- collects/honu/core/private/class.rkt | 4 +-- collects/honu/core/private/honu2.rkt | 30 +++++++++++----------- collects/honu/core/private/macro2.rkt | 8 +++--- collects/honu/core/private/parse2.rkt | 3 +-- collects/honu/core/private/struct.rkt | 2 +- collects/honu/core/private/transformer.rkt | 4 +-- collects/honu/private/common.rkt | 2 +- collects/honu/syntax-parse.rkt | 4 +-- 8 files changed, 28 insertions(+), 29 deletions(-) diff --git a/collects/honu/core/private/class.rkt b/collects/honu/core/private/class.rkt index 484ad224fb..ff92cf3a95 100644 --- a/collects/honu/core/private/class.rkt +++ b/collects/honu/core/private/class.rkt @@ -27,7 +27,7 @@ (provide honu-class) (define-honu-syntax honu-class - (lambda (code context) + (lambda (code) (syntax-parse code #:literal-sets (cruft) ;; FIXME: empty parenthesis for constructor arguments should be optional [(_ name (#%parens (~var constructor-argument (separate-ids (literal-syntax-class honu-comma) (literal-syntax-class honu-comma)))) @@ -41,7 +41,7 @@ (provide honu-new) (define-honu-syntax honu-new - (lambda (code context) + (lambda (code) (syntax-parse code #:literal-sets (cruft) [(_ name (#%parens arg:honu-expression/comma) . rest) (define new (racket-syntax (make-object name (let () arg.result) ...))) diff --git a/collects/honu/core/private/honu2.rkt b/collects/honu/core/private/honu2.rkt index 67796b0d15..4e16c72bcd 100644 --- a/collects/honu/core/private/honu2.rkt +++ b/collects/honu/core/private/honu2.rkt @@ -45,7 +45,7 @@ (provide honu-function) (define-honu-syntax honu-function - (lambda (code context) + (lambda (code) (syntax-parse code #:literal-sets (cruft) [(_ name:identifier (#%parens (~seq arg:identifier (~optional honu-comma)) ...) (#%braces code ...) . rest) @@ -64,7 +64,7 @@ (provide honu-if) (define-honu-syntax honu-if - (lambda (code context) + (lambda (code) (syntax-parse code #:literal-sets (cruft) #:literals (else honu-then) [(_ (#%parens condition:honu-expression) true:honu-expression @@ -76,7 +76,7 @@ (provide honu-val) (define-honu-syntax honu-val - (lambda (code context) + (lambda (code) (syntax-parse code [(_ rest ...) (define-values (parsed unparsed) @@ -85,14 +85,14 @@ (provide honu-quote) (define-honu-syntax honu-quote - (lambda (code context) + (lambda (code) (syntax-parse code [(_ expression rest ...) (values (racket-syntax (quote expression)) #'(rest ...) #f)]))) (provide honu-quasiquote) (define-honu-syntax honu-quasiquote - (lambda (code context) + (lambda (code) (syntax-parse code [(_ expression rest ...) (values (racket-syntax (quasiquote expression)) @@ -137,7 +137,7 @@ (provide define-make-honu-operator) (define-honu-syntax define-make-honu-operator - (lambda (code context) + (lambda (code) (syntax-parse code [(_ name:id level:number association:honu-expression function:honu-expression/phase+1 . rest) (debug "Operator function ~a\n" (syntax->datum #'function.result)) @@ -274,7 +274,7 @@ (provide honu-require) (define-honu-syntax honu-require - (lambda (code context) + (lambda (code) (syntax-parse code [(_ form1:require-form form:require-form ... . rest) (values @@ -289,7 +289,7 @@ (provide honu-provide) (define-honu-syntax honu-provide - (lambda (code context) + (lambda (code) (syntax-parse code #:literal-sets (cruft) [(_ name:honu-identifier ... (~optional semicolon) . rest) (debug "Provide matched names ~a\n" (syntax->datum #'(name.result ...))) @@ -300,7 +300,7 @@ (provide honu-with-input-from-file) (define-honu-syntax honu-with-input-from-file - (lambda (code context) + (lambda (code) (syntax-parse code #:literal-sets (cruft) [(_ file:honu-expression something:honu-expression . rest) (define with (racket-syntax (with-input-from-file file.result @@ -312,7 +312,7 @@ (provide honu-while) (define-honu-syntax honu-while - (lambda (code context) + (lambda (code) (syntax-parse code #:literal-sets (cruft) [(_ condition:honu-expression body:honu-body . rest) (values @@ -325,7 +325,7 @@ (provide honu-with honu-match) (define-literal honu-with) (define-honu-syntax honu-match - (lambda (code context) + (lambda (code) (define-splicing-syntax-class match-clause #:literal-sets (cruft) #:literals (else) @@ -392,7 +392,7 @@ (provide honu-var) (define-honu-syntax honu-var - (lambda (code context) + (lambda (code) (syntax-parse code #:literal-sets (cruft) [(var:honu-declaration . rest) (define result @@ -402,7 +402,7 @@ (provide (rename-out [honu-with-syntax withSyntax])) (define-honu-syntax honu-with-syntax - (lambda (code context) + (lambda (code) (define-splicing-syntax-class clause #:literal-sets (cruft) #:literals [(ellipses ...) honu-equal] @@ -425,7 +425,7 @@ (provide honu-for) (define-honu-syntax honu-for - (lambda (code context) + (lambda (code) (syntax-parse code #:literal-sets (cruft) #:literals (honu-in) [(_ (~seq iterator:id honu-in stuff:honu-expression (~optional honu-comma)) ... @@ -437,7 +437,7 @@ (provide honu-fold) (define-honu-syntax honu-fold - (lambda (code context) + (lambda (code) (define-splicing-syntax-class sequence-expression #:literals (honu-in honu-in-lines) [pattern (~seq iterator:id honu-in stuff:honu-expression) diff --git a/collects/honu/core/private/macro2.rkt b/collects/honu/core/private/macro2.rkt index 5fb7c3fc13..6e0b2fd927 100644 --- a/collects/honu/core/private/macro2.rkt +++ b/collects/honu/core/private/macro2.rkt @@ -170,7 +170,7 @@ (define output (syntax (quote-syntax - (lambda (stx context-name) + (lambda (stx) (define-literal-set local-literals (literal ...)) (syntax-parse stx #:literal-sets ([cruft #:at name] @@ -193,7 +193,7 @@ (provide honu-macro) (define-honu-syntax honu-macro - (lambda (code context) + (lambda (code) (syntax-parse code #:literal-sets (cruft) [(_ name (#%parens literal ...) @@ -238,7 +238,7 @@ (provide honu-syntax) ;; Do any honu-specific expansion here (define-honu-syntax honu-syntax - (lambda (code context) + (lambda (code) (syntax-parse code #:literal-sets (cruft) #; [(_ (#%parens single) . rest) @@ -426,7 +426,7 @@ ;; generates a phase 1 binding for the pattern. analyzes its pattern so it ;; must execute in phase 2 (define-honu-syntax honu-pattern - (lambda (code context) + (lambda (code) (syntax-parse code #:literal-sets (cruft) [(_ name (#%parens literal ...) (#%braces pattern ...) diff --git a/collects/honu/core/private/parse2.rkt b/collects/honu/core/private/parse2.rkt index b95ddc4cc3..1575c309b9 100644 --- a/collects/honu/core/private/parse2.rkt +++ b/collects/honu/core/private/parse2.rkt @@ -296,8 +296,7 @@ [(rest ...) rest]) (datum->syntax #'head (syntax->list #'(head rest ...)) - #'head #'head)) - #f)]) + #'head #'head)))]) #; (emit-remark parsed) #; diff --git a/collects/honu/core/private/struct.rkt b/collects/honu/core/private/struct.rkt index da62ce24ab..7b30f82bdc 100644 --- a/collects/honu/core/private/struct.rkt +++ b/collects/honu/core/private/struct.rkt @@ -31,7 +31,7 @@ (provide honu-structure) (define-honu-syntax honu-structure - (lambda (code context) + (lambda (code) (syntax-parse code #:literal-sets (cruft) [(_ name:id (#%braces fields:identifier-comma-list) . rest) (define out diff --git a/collects/honu/core/private/transformer.rkt b/collects/honu/core/private/transformer.rkt index 854c868f56..eb829720db 100644 --- a/collects/honu/core/private/transformer.rkt +++ b/collects/honu/core/private/transformer.rkt @@ -17,10 +17,10 @@ (define (make-honu-transformer proc) (unless (and (procedure? proc) - (procedure-arity-includes? proc 2)) + (procedure-arity-includes? proc 1)) (raise-type-error 'define-honu-syntax - "procedure (arity 2)" + "procedure (arity 1)" proc)) (make-honu-trans proc)) diff --git a/collects/honu/private/common.rkt b/collects/honu/private/common.rkt index d43e313ada..47ac0d0223 100644 --- a/collects/honu/private/common.rkt +++ b/collects/honu/private/common.rkt @@ -19,7 +19,7 @@ (provide honu-cond) (define-honu-syntax honu-cond - (lambda (code context) + (lambda (code) (syntax-parse code #:literal-sets (cruft) [(_ (~seq clause:honu-expression colon body:honu-expression (~optional honu-comma)) ... . rest) diff --git a/collects/honu/syntax-parse.rkt b/collects/honu/syntax-parse.rkt index e04feaedeb..2393f196ce 100644 --- a/collects/honu/syntax-parse.rkt +++ b/collects/honu/syntax-parse.rkt @@ -10,11 +10,11 @@ (prefix-in parse: syntax/parse)) (define-honu-syntax syntax-parse - (lambda (code context) + (lambda (code) (parse:define-splicing-syntax-class a-pattern #:literals (cruft) [parse:pattern (parse:~seq var:parse:id %colon class:parse:id) - #:with pattern #'(parse:~var var class)]) + #:with pattern #'(parse:~var var class #:attr-name-separator "_")]) (parse:syntax-parse code #:literals (cruft) [(_ data:honu-expression (#%braces (#%brackets something:a-pattern action:honu-delayed) ...) . rest)