New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
include pattern matching forms in more binding positions #36
Comments
If ; before
(define (my-print [out (current-output-port)])
...)
; after
(define (my-print {~optional out #:defaults ([out (current-output-port)])})
...)
; after defining a `define-splicing-syntax-class` helper
; (or maybe it would be `define-splicing-class`)
(define (my-print {~opt out (current-output-port)})
...) The ambiguity would have come from the original syntax's use of parens without a prefix operator inside them. The revision just adds |
While I agree a pattern-friendly syntax for args with defaults would be good, I think making match patterns appear more like syntax patterns would be a mistake unless we also intend to unify the semantics (and consequent developer experience) of expansion and evaluation. See #23 for my rationale. |
include pattern matching forms in more binding positions (e.g.
define
,let
/for
clauses) -@samth 2 Oct 2012
The text was updated successfully, but these errors were encountered: