[racket-dev] Release for v6.0 is about to begin

From: Greg Hendershott (greghendershott at gmail.com)
Date: Tue Nov 5 16:40:58 EST 2013

Well, I think Ryan is talking about people who are coding a new
feature that's nearly ready. Not soliciting ideas for last-minute
ideas to try to rush into v6. Nice try, though. :)

Having said that, have you tried using at-exps for this?

I've only thought about this for a few minutes, and there are pros and
cons, but:

- - - - - - -

#lang at-exp racket
;;    ^^^^^^

;; Don't like regexps in quotes?
(regexp-match #px"^foo" "foo")

;; Do this instead:
(regexp-match @pregexp{^foo} "foo")

;; OK, but:
;; 1. A bit verbose.
;; 2. Those aren't precompiled regexps, like with #px
;; 3. Also if the {} spans multiple lines, it needs to be converted
;; into just one string.
;; So:

(define px (compose1 pregexp ~a))
(define rx (compose1 regexp ~a))

;; Now you can write this:
(regexp-match @px{^foo} "foo")

;; Ta da !!

;; You can include newlines without using \n
(regexp-match @px{^foo
                  bar} "foo\nbar")

;; But bad news, you can't use \n anymore.
;; (regexp-match @px{^foo[\n]bar} "foo\nbar")
;; => regexp: illegal alphabetic escape

;; The other way is to @ quote:
@~a{@#\newline}
@~a{@"\n"}
(regexp-match @px{^foo@"\n"bar} "foo\nbar")

;; OTOH, good news is that regexp backslashes can be used as-is -- no
;; need for the extra \
(regexp-match @px{1\.0} "1.0")

;; p.s. How to escape @ in an at-exp? @"@"
(regexp-match @rx{^foo@"@"bar\.com} "foo at bar.com")


On Mon, Nov 4, 2013 at 8:40 PM, WarGrey Gyoudmon Ju
<juzhenliang at gmail.com> wrote:
> Could you please make the regular expression syntax more elegant?
> To replace the "" with // or any other character as its boundary.
>
> Here is the example:
> #px/^\s*\/([^\/])\/\s*$/ === #px@^\s*/([^/])/\s*$@ ===
> #px"^\\s*/([^/])/\\s*$"
>
> Thank you in advance.
>
>
> On Tue, Nov 5, 2013 at 12:51 AM, Ryan Culpepper <ryanc at ccs.neu.edu> wrote:
>>
>> The release process for v6.0 will begin in about a week.  If
>> you have any new features that you want in and are relatively close
>> to being done, now is a good time to do that.
>> _________________________
>>  Racket Developers list:
>>  http://lists.racket-lang.org/dev
>
>
>
> _________________________
>   Racket Developers list:
>   http://lists.racket-lang.org/dev
>

Posted on the dev mailing list.