That's what I meant to be saying. And yes: stupid me to forget about readtables!
Robby On Wed, Oct 14, 2015 at 7:31 AM, Alex Knauth <alexan...@knauth.org> wrote: > Should we make this into a meta-language? > > #lang colon-kw racket > (define (a:b a :b c) (+ a c)) > (a:b -1 :b -5) > > That way it would not be a change to racket and it wouldn't break everything, > but those who want it can have it. > > >> On Oct 14, 2015, at 7:51 AM, Jay McCarthy <jay.mccar...@gmail.com> wrote: >> >> It is simpler than a reader parameter: >> >> #lang racket/base >> >> (define read-colon-keyword >> (case-lambda >> [(ch port) >> (string->keyword (symbol->string (read/recursive port)))] >> [(ch port src line col pos) >> (datum->syntax #f (read-colon-keyword ch port) >> (list src line col pos))])) >> >> (define (make-colon-keyword-readtable) >> (make-readtable (current-readtable) >> #\: >> 'non-terminating-macro >> read-colon-keyword)) >> >> (module+ test >> (require rackunit) >> (define (reads in out) >> (check-equal? (read (open-input-string in)) out)) >> (parameterize ([current-readtable (make-colon-keyword-readtable)]) >> (reads "a:b" 'a:b) >> (reads ":a" '#:a) >> (reads "#:a" '#:a))) >> >> On Wed, Oct 14, 2015 at 7:40 AM, Robby Findler >> <ro...@eecs.northwestern.edu> wrote: >>> It would not be too hard, I believe, to add a parameter to the reader >>> so that symbols starting with colons read the same as keywords, and >>> then to build a language like s-exp and at-exp that would let you use >>> that notation in a fairly seamless and interop-friendly way. Even >>> getting syntax coloring shouldn't be too hard. >>> >>> >>> Robby >>> >>> >>> On Wed, Oct 14, 2015 at 12:12 AM, Neil Van Dyke <n...@neilvandyke.org> >>> wrote: >>>> I think that Racket 6.3 would be a great time to make `:abc` read the same >>>> as `#:abc`. >>>> >>>> For those of us who are pained deeply by `#:abc`, being able to use `:abc` >>>> would be a big aesthetic improvement for Racket. >>>> >>>> Neil V. >>>> >>>> -- >>>> You received this message because you are subscribed to the Google Groups >>>> "Racket Developers" group. >>>> To unsubscribe from this group and stop receiving emails from it, send an >>>> email to racket-dev+unsubscr...@googlegroups.com. >>>> To post to this group, send email to racket-dev@googlegroups.com. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/racket-dev/561DE446.4070905%40neilvandyke.org. >>>> For more options, visit https://groups.google.com/d/optout. >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "Racket Developers" group. >>> To unsubscribe from this group and stop receiving emails from it, send an >>> email to racket-dev+unsubscr...@googlegroups.com. >>> To post to this group, send email to racket-dev@googlegroups.com. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/racket-dev/CAL3TdONVr2%3DVr86PE6Tbjj_hQP%3DCpcdkdoKbLyP%3DLgpfVjjvmw%40mail.gmail.com. >>> For more options, visit https://groups.google.com/d/optout. >> >> >> >> -- >> Jay McCarthy >> Associate Professor >> PLT @ CS @ UMass Lowell >> http://jeapostrophe.github.io >> >> "Wherefore, be not weary in well-doing, >> for ye are laying the foundation of a great work. >> And out of small things proceedeth that which is great." >> - D&C 64:33 >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Racket Developers" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to racket-dev+unsubscr...@googlegroups.com. >> To post to this group, send email to racket-dev@googlegroups.com. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/racket-dev/CAJYbDanh%3DQ%2BEqYeXA%2Be%2BabSndPYTMupCSLr09WV6u5w1aWkkDg%40mail.gmail.com. >> For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Racket Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+unsubscr...@googlegroups.com. To post to this group, send email to racket-dev@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/CAL3TdOPsQ2kV7ddUcHZBB2gZgW2aT8BgtruYCsmwGBG%3Dkbzkiw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.