Le samedi 24 septembre 2016 18:46:07 UTC+2, William G Hatch a écrit :
> Udelim is a library for adding extra parens and string delimiters to
> your language.

I can't tell how ecstatic I am about this :) . I have been wanting to add new 
parenthesis shapes for a while, but never found the time to look seriously into 
it, so thank you a lot for writing this! I was thinking about using the white 
brackets ⟦⟧, braces ⦃⦄ and parentheses ⦅⦆ are commonly used for describing 
semantics, for example.

I also like the idea of nestable string delimiters, although I rarely have use 
for it.

One note about the docs: when you write:

(open-input-string
      "«this is a string with nested «string delimiters.»  No \n escape 
interpreting.»")

the "\n" is already escaped by the "…" fed into open-input-string I think, so 
what udelim parses in that example is a raw newline, not the \ character 
followed by the n character.

Scribble supports "element transformers" which allow to change how an 
identifier is printed. Unfortunately, when the identifier appears in the first 
position of a form (like the #% wrappers), only the identifier itself can get 
styled, not the whole form. I added a few days ago a quick hack to my unstable 
scribble-enhanced library to add catch-alls which can re-style any identifier 
matching a given pattern. The hack [1] should also work for whole forms 
(untested, though), so that in scribble or scribble/lp2, @racketblock[(a ⟦b⟧ 
c)] would be properly typeset.

Georges

[1] The hack in scribble-enhanced 
https://github.com/jsmaniac/scribble-enhanced/blob/master/racket.rkt#L1012
[2] Example using the hack to nicely typeset identifiers with numeric 
superscripts like String³, which means "three strings in a row" for the xlist 
type expander 
https://github.com/jsmaniac/xlist/blob/master/scribble-enhanced.rkt

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to