diff --git a/udelim/defaults.rkt b/udelim/defaults.rkt index 68cae59..4e7f766 100644 --- a/udelim/defaults.rkt +++ b/udelim/defaults.rkt @@ -2,7 +2,7 @@ (provide #%ornate-parens - #%double-parens + #%s-shaped-bag-delim #%inequality-brackets #%double-inequality-brackets #%moon-faces @@ -16,7 +16,7 @@ (syntax-case stx () [(ptm e ...) #'(e ...)])) (define-syntax #%ornate-parens (make-rename-transformer #'pass-through-list)) -(define-syntax #%double-parens (make-rename-transformer #'pass-through-list)) +(define-syntax #%s-shaped-bag-delim (make-rename-transformer #'pass-through-list)) (define-syntax #%inequality-brackets (make-rename-transformer #'pass-through-list)) (define-syntax #%double-inequality-brackets (make-rename-transformer #'pass-through-list)) (define-syntax #%moon-faces (make-rename-transformer #'pass-through-list)) diff --git a/udelim/lang/reader.rkt b/udelim/lang/reader.rkt index cbcb77d..5f767ae 100644 --- a/udelim/lang/reader.rkt +++ b/udelim/lang/reader.rkt @@ -21,7 +21,7 @@ #\﴾ #\﴿ '#%ornate-parens #:base-readtable (make-list-delim-readtable/wrap - #\⸨ #\⸩ '#%double-parens + #\⟅ #\⟆ '#%s-shaped-bag-delim #:base-readtable (make-string-delim-readtable/wrap #\「 #\」 '#%cjk-corner-quotes diff --git a/udelim/udelim.scrbl b/udelim/udelim.scrbl index 883314c..b6a4e01 100644 --- a/udelim/udelim.scrbl +++ b/udelim/udelim.scrbl @@ -16,7 +16,7 @@ Don't consider this library to be stable right now. Particularly the udelim met @section{Guide} This is a library I wrote primarily to help make nestable embedding of different syntax in #lang rash, but is generally useful for adding extra types of parenthesis or string delimiters to a language. After watching Jay McCarthy's talk at Sixth Racketcon, I also decided to steal his idea of making different types of parenthesis wrap their contents with an additional #%symbol. -You can use the udelim meta-language (eg #lang udelim racket/base) to add a few extra parenthesis types and string types to any language. Specifically, «» are nestable non-escaping string delimiters (IE «foo «bar»» reads as "foo «bar»"), 「」 are like «» but wrapped so 「foo bar」 produces (#%cjk-corner-quotes "foo bar"), ﴾foo bar﴿ reads as (#%ornate-parens foo bar), ⦓foo bar⦔ reads as (#%inequality-brackets foo bar), ⦕foo bar⦖ reads as (#%double-inequality-brackets foo bar), 🌜foo bar🌛 reads as (#%moon-faces foo bar), and ⸨foo bar⸩ reads as (#%double-parens foo bar). To get default meanings for the #% identifiers (currently just pass-through macros), use (require udelim/defaults). +You can use the udelim meta-language (eg #lang udelim racket/base) to add a few extra parenthesis types and string types to any language. Specifically, «» are nestable non-escaping string delimiters (IE «foo «bar»» reads as "foo «bar»"), 「」 are like «» but wrapped so 「foo bar」 produces (#%cjk-corner-quotes "foo bar"), ﴾foo bar﴿ reads as (#%ornate-parens foo bar), ⦓foo bar⦔ reads as (#%inequality-brackets foo bar), ⦕foo bar⦖ reads as (#%double-inequality-brackets foo bar), 🌜foo bar🌛 reads as (#%moon-faces foo bar), and ⟅foo bar⟆ reads as (#%s-shaped-bag-delim foo bar). To get default meanings for the #% identifiers (currently just pass-through macros), use (require udelim/defaults). @section{Reference}