[racket-users] Call for participation - Programming Languages Mentoring Workshop (PLMW)
We invite early graduate students and undergraduates to apply for a scholarship and to participate in the Programming Languages Mentoring Workshop (PLMW) in Barcelona, Spain on Sunday, June 18, 2017. The purpose of this mentoring workshop is to encourage and prepare graduate students and senior undergraduate students to pursue careers in programming language research. The workshop also includes specific mentoring opportunities for students who belong to traditionally underrepresented populations, including women, people of color, students with disabilities, and first-generation students. Throughout the day, we’ll have technical sessions, to discuss cutting-edge research in programming languages; and mentoring sessions, to help you learn about, prepare, and succeed in your research career. You’ll also have the opportunity to talk with top programming language researchers and other students interested in programming language research. This workshop is part of the activities surrounding the Programming Languages Design and Implementation (PLDI) conference and takes place the day before the main conference. One goal of the workshop is to make the PLDI conference more accessible to newcomers. We hope that participants will stay through the entire conference. Other events that follow the workshop include the Programming Languages Summer School and the European Conference on Object-Oriented Programming (ECOOP). Scholarship funds are available for students to attend PLMW@PLDI. These scholarships should cover reasonable expenses (airfare, hotel, and registration fees) for attendance at both the workshop and an associated event (such as the PLDI conference or the summer school), but are limited. We welcome students with alternative sources of funding to attend as well; but everyone who plans to attend needs to apply. Apply for a scholarship and to participate at PLMW@PLDI: https://goo.gl/forms/80aacyFiXNFNnPqA3 The deadline for full consideration of funding is SATURDAY, APRIL 15. Selected participants will be notified by APRIL 29 and will need to pre-register and commit to attending the workshop by MAY 10. Applicants who apply after April 15 but by May 15 may be eligible to receive funding, if funds remain, and will be notified by by May 29. Additionally, if you are currently a student in the United States who cannot (or will not) travel due to concerns about US travel restrictions, we encourage you to apply and let us know. We may be able to arrange another form of mentoring for you. We look forward to seeing you! The PLMW@PLDI Organizers Michael Carbin, MIT Stephen Chong, Harvard University Işıl Dillig, The University of Texas at Austin Ben Wiedermann, Harvey Mudd College -- 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.
Re: [racket-users] Errors in url dispatch of static files
I seem to have a similar problem with the dispatch of static files. I posted it on Stackoverflow. Could you take a look at it? https://stackoverflow.com/questions/43027717/racket-servlet-serve-static-files -- 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.
Re: [racket-users] "check-random" + TR
> On Mar 28, 2017, at 11:51 AM, Matthias Felleisen wrote: > > > Probably. > > FWIW, Kathy hasn’t maintained the system for a while and no longer gets mail > about it. I am the one who implemented check-random. Is it the only thing > that isn’t running under TR? I’m not aware of any others. (it’s true, I didn’t really answer your question….) I will say that the error message simply suggests that another typed import is needed. John > > > >> On Mar 28, 2017, at 12:38 PM, 'John Clements' via Racket Users >> wrote: >> >> Someone on stack overflow just discovered that “check-random”—from Kathy >> Gray’s teaching language test framework—doesn’t work with TR. It looks like >> this is because no one bothered to implement it. I suggested that they >> change to rackunit, instead, and provided them with this quick hack version >> of check-random. >> >> I guess my question is this: am I right in thinking that the only issue with >> using Kathy’s teaching language test framework is that no one bothered to >> provide a type for it? If so, is that something we should do? >> >> Link to SO post: >> >> http://stackoverflow.com/questions/43072656/typed-racket-error-with-check-random >> >> My suggestion to the OP: >> >> #lang typed/racket >> >> ; provides check-expect and others for testing >> (require typed/rackunit) >> >> ;; create a new prng, set the seed to the given number, run the thunk. >> (: run-with-seed (All (T) ((-> T) Positive-Integer -> T))) >> (define (run-with-seed thunk seed) >> (parameterize ([current-pseudo-random-generator >> (make-pseudo-random-generator)]) >> (random-seed seed) >> (thunk))) >> >> ;; run a check-equal where both sides get the same PRNG seed >> (define-syntax check-random-equal? >> (syntax-rules () >> [(_ a b) (let ([seed (add1 (random (sub1 (expt 2 31]) >> (check-equal? (run-with-seed (λ () a) seed) >>(run-with-seed (λ () b) seed)))])) >> >> (: bar (-> Positive-Integer Integer)) >> (define (bar x) >> (random x)) >> >> (check-random-equal? (bar 6) >>(random 6)) >> >> -- >> 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. > > -- > 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. -- 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.
Re: [racket-users] "check-random" + TR
Probably. FWIW, Kathy hasn’t maintained the system for a while and no longer gets mail about it. I am the one who implemented check-random. Is it the only thing that isn’t running under TR? > On Mar 28, 2017, at 12:38 PM, 'John Clements' via Racket Users > wrote: > > Someone on stack overflow just discovered that “check-random”—from Kathy > Gray’s teaching language test framework—doesn’t work with TR. It looks like > this is because no one bothered to implement it. I suggested that they change > to rackunit, instead, and provided them with this quick hack version of > check-random. > > I guess my question is this: am I right in thinking that the only issue with > using Kathy’s teaching language test framework is that no one bothered to > provide a type for it? If so, is that something we should do? > > Link to SO post: > > http://stackoverflow.com/questions/43072656/typed-racket-error-with-check-random > > My suggestion to the OP: > >#lang typed/racket > >; provides check-expect and others for testing >(require typed/rackunit) > >;; create a new prng, set the seed to the given number, run the thunk. >(: run-with-seed (All (T) ((-> T) Positive-Integer -> T))) >(define (run-with-seed thunk seed) > (parameterize ([current-pseudo-random-generator > (make-pseudo-random-generator)]) >(random-seed seed) >(thunk))) > >;; run a check-equal where both sides get the same PRNG seed >(define-syntax check-random-equal? > (syntax-rules () >[(_ a b) (let ([seed (add1 (random (sub1 (expt 2 31]) > (check-equal? (run-with-seed (λ () a) seed) > (run-with-seed (λ () b) seed)))])) > >(: bar (-> Positive-Integer Integer)) >(define (bar x) > (random x)) > >(check-random-equal? (bar 6) > (random 6)) > > -- > 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. -- 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.
[racket-users] RE: empty lines in a grammer of defform of scribble
Option 3 works very fine. I have incorporated it in https://github.com/joskoot/turing. Looks very good. Thanks again, Jos -Original Message- From: Dupéron Georges [mailto:jahvascriptman...@gmail.com] Sent: martes, 28 de marzo de 2017 15:13 To: Racket Users Cc: jos.k...@gmail.com Subject: Re: empty lines in a grammer of defform of scribble Le lundi 27 mars 2017 22:36:43 UTC+2, jos.koot a écrit : > When I use #:grammar in a defform, > the rules of the grammer are separated by empty lines. > > I would like to avoid these empty lines. > Is it possible? I haven't seen a built-in mechanism to control this. Generally speaking, the tools for documenting bindings are somewhat inflexible, if your use case falls out of the existing options. This leaves you with three possibilities: 1) Copy the source code of the @defform macro, and patch it to your needs 2) Add an option to control this in the mainstream scribble, and hope/wait for your Pull Request to be accepted 3) Call the current, official @defform macro, and patch the result. Solution 1 is future-proof, but your implementation and the official one may drift apart, yielding slight inconsistencies in the rendered output. Solution 2 sounds better, although I wonder how many quick-fixes like this one @defform and similar macros can bear, given that they are already a maze of particularly complex code, with lots of special-casing. Solution 3 is the simplest, but is also more brittle, as you depend on the output of @defform staying roughly the same. Here's a quick and dirty implementation of solution 3, note that if you intend to use this in production, you should try to make the match pattern a bit more robust (i.e. a bit more general, in several cases I assume single-element lists, and any change in the implementation of @defform is likely to break this code). #lang scribble/manual @(require scribble/manual scribble/core racket/match racket/list) @(define (defform-remove-empty-lines the-defform) (match the-defform [(box-splice (list before ... (nested-flow nf-style (list (table t-style (list other ... (list (table (style "specgrammar" tspec-style) (list lines ...))) more ... after ...)) (define without-empty-lines ;; an empty lines is a sequence of five empty columns: (remove* (list (list (paragraph (style #f '(omitable)) (element #f (list (element 'tt '(nbsp) (paragraph (style #f '(omitable)) (element #f (list (element 'tt '(nbsp) (paragraph (style #f '(omitable)) (element #f (list (element 'tt '(nbsp) (paragraph (style #f '(omitable)) (element #f (list (element 'tt '(nbsp) (paragraph (style #f '(omitable)) (element #f (list (element 'tt '(nbsp))) lines)) (box-splice (append before (list (nested-flow nf-style (list (table t-style (append other (list (list (table (style "specgrammar" tspec-style) without-empty-lines))) more) after))])) @defform-remove-empty-lines[ @defform[(foo bar baz quux) #:grammar ([bar (code:line xxx) (code:line yyy)] [baz (code:line zzz) (code:line ttt)] [quux (code:line aaa) (code:line bbb)])]{ Blah blah lots of text.}] -- 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.
[racket-users] "check-random" + TR
Someone on stack overflow just discovered that “check-random”—from Kathy Gray’s teaching language test framework—doesn’t work with TR. It looks like this is because no one bothered to implement it. I suggested that they change to rackunit, instead, and provided them with this quick hack version of check-random. I guess my question is this: am I right in thinking that the only issue with using Kathy’s teaching language test framework is that no one bothered to provide a type for it? If so, is that something we should do? Link to SO post: http://stackoverflow.com/questions/43072656/typed-racket-error-with-check-random My suggestion to the OP: #lang typed/racket ; provides check-expect and others for testing (require typed/rackunit) ;; create a new prng, set the seed to the given number, run the thunk. (: run-with-seed (All (T) ((-> T) Positive-Integer -> T))) (define (run-with-seed thunk seed) (parameterize ([current-pseudo-random-generator (make-pseudo-random-generator)]) (random-seed seed) (thunk))) ;; run a check-equal where both sides get the same PRNG seed (define-syntax check-random-equal? (syntax-rules () [(_ a b) (let ([seed (add1 (random (sub1 (expt 2 31]) (check-equal? (run-with-seed (λ () a) seed) (run-with-seed (λ () b) seed)))])) (: bar (-> Positive-Integer Integer)) (define (bar x) (random x)) (check-random-equal? (bar 6) (random 6)) -- 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.
Re: [racket-users] Re: Stickers!
On Tuesday, 28 March 2017 13:41:29 UTC+1, Ben Greenman wrote: > Sure. What's your mailing address? > > > On Tue, Mar 28, 2017 at 4:55 AM, Adeoluwa Adejumo > wrote: > > > On Tuesday, 24 January 2017 22:15:59 UTC+1, Ben Greenman wrote: > > > Hi Racket Users, > > > > > > > > > I ordered a bunch of Racket stickers to celebrate the 6.8 release. Here's > > proof: > > > http://www.ccs.neu.edu/home/types/resources/stickers.jpg > > > > > > > > > > > > If you send me your address, I will mail you some stickers. For free!* > > > > > > > > > I'm thinking 4 stickers per request (2 rectangles, 2 circles), but if you > > live outside the US and promise to serve as a "volunteer regional sticker > > distributor" then I'll send more.** > > > > > > > > > > > > Peace, Love, and Racket, > > > Ben > > > > > > > > > > > > > > > * While supplies last. And if you want un-free stickers, you can make your > > own on stickermule.com or send a donation to RacketCon 2017. > > > > > > > > > ** While supplies last, and subject to the internal dimensions of the > > cheapest padded envelope at my local US post office. > > > > hello, are the free stickers still available? > > > > > > -- > > 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...@googlegroups.com. > > For more options, visit https://groups.google.com/d/optout. Q1061 ikolaba g.r.a Ibadan, Nigeria. Postal Code: 200221 thanks a bunch! -- 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.
[racket-users] RE: empty lines in a grammer of defform of scribble
Thanks very much indeed for your comprehensive answer. I tried your code given for option 3. Works well, but your warning makes me hesitate. Well, I'll see. I already have a lot of old code no longer accepted by Racket. Not a big problem, but requires work to adapt. Thanks a lot again, Jos Koot -Original Message- From: Dupéron Georges [mailto:jahvascriptman...@gmail.com] Sent: martes, 28 de marzo de 2017 15:13 To: Racket Users Cc: jos.k...@gmail.com Subject: Re: empty lines in a grammer of defform of scribble Le lundi 27 mars 2017 22:36:43 UTC+2, jos.koot a écrit : > When I use #:grammar in a defform, > the rules of the grammer are separated by empty lines. > > I would like to avoid these empty lines. > Is it possible? I haven't seen a built-in mechanism to control this. Generally speaking, the tools for documenting bindings are somewhat inflexible, if your use case falls out of the existing options. This leaves you with three possibilities: 1) Copy the source code of the @defform macro, and patch it to your needs 2) Add an option to control this in the mainstream scribble, and hope/wait for your Pull Request to be accepted 3) Call the current, official @defform macro, and patch the result. Solution 1 is future-proof, but your implementation and the official one may drift apart, yielding slight inconsistencies in the rendered output. Solution 2 sounds better, although I wonder how many quick-fixes like this one @defform and similar macros can bear, given that they are already a maze of particularly complex code, with lots of special-casing. Solution 3 is the simplest, but is also more brittle, as you depend on the output of @defform staying roughly the same. Here's a quick and dirty implementation of solution 3, note that if you intend to use this in production, you should try to make the match pattern a bit more robust (i.e. a bit more general, in several cases I assume single-element lists, and any change in the implementation of @defform is likely to break this code). #lang scribble/manual @(require scribble/manual scribble/core racket/match racket/list) @(define (defform-remove-empty-lines the-defform) (match the-defform [(box-splice (list before ... (nested-flow nf-style (list (table t-style (list other ... (list (table (style "specgrammar" tspec-style) (list lines ...))) more ... after ...)) (define without-empty-lines ;; an empty lines is a sequence of five empty columns: (remove* (list (list (paragraph (style #f '(omitable)) (element #f (list (element 'tt '(nbsp) (paragraph (style #f '(omitable)) (element #f (list (element 'tt '(nbsp) (paragraph (style #f '(omitable)) (element #f (list (element 'tt '(nbsp) (paragraph (style #f '(omitable)) (element #f (list (element 'tt '(nbsp) (paragraph (style #f '(omitable)) (element #f (list (element 'tt '(nbsp))) lines)) (box-splice (append before (list (nested-flow nf-style (list (table t-style (append other (list (list (table (style "specgrammar" tspec-style) without-empty-lines))) more) after))])) @defform-remove-empty-lines[ @defform[(foo bar baz quux) #:grammar ([bar (code:line xxx) (code:line yyy)] [baz (code:line zzz) (code:line ttt)] [quux (code:line aaa) (code:line bbb)])]{ Blah blah lots of text.}] -- 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.
[racket-users] Re: empty lines in a grammer of defform of scribble
Le lundi 27 mars 2017 22:36:43 UTC+2, jos.koot a écrit : > When I use #:grammar in a defform, > the rules of the grammer are separated by empty lines. > > I would like to avoid these empty lines. > Is it possible? I haven't seen a built-in mechanism to control this. Generally speaking, the tools for documenting bindings are somewhat inflexible, if your use case falls out of the existing options. This leaves you with three possibilities: 1) Copy the source code of the @defform macro, and patch it to your needs 2) Add an option to control this in the mainstream scribble, and hope/wait for your Pull Request to be accepted 3) Call the current, official @defform macro, and patch the result. Solution 1 is future-proof, but your implementation and the official one may drift apart, yielding slight inconsistencies in the rendered output. Solution 2 sounds better, although I wonder how many quick-fixes like this one @defform and similar macros can bear, given that they are already a maze of particularly complex code, with lots of special-casing. Solution 3 is the simplest, but is also more brittle, as you depend on the output of @defform staying roughly the same. Here's a quick and dirty implementation of solution 3, note that if you intend to use this in production, you should try to make the match pattern a bit more robust (i.e. a bit more general, in several cases I assume single-element lists, and any change in the implementation of @defform is likely to break this code). #lang scribble/manual @(require scribble/manual scribble/core racket/match racket/list) @(define (defform-remove-empty-lines the-defform) (match the-defform [(box-splice (list before ... (nested-flow nf-style (list (table t-style (list other ... (list (table (style "specgrammar" tspec-style) (list lines ...))) more ... after ...)) (define without-empty-lines ;; an empty lines is a sequence of five empty columns: (remove* (list (list (paragraph (style #f '(omitable)) (element #f (list (element 'tt '(nbsp) (paragraph (style #f '(omitable)) (element #f (list (element 'tt '(nbsp) (paragraph (style #f '(omitable)) (element #f (list (element 'tt '(nbsp) (paragraph (style #f '(omitable)) (element #f (list (element 'tt '(nbsp) (paragraph (style #f '(omitable)) (element #f (list (element 'tt '(nbsp))) lines)) (box-splice (append before (list (nested-flow nf-style (list (table t-style (append other (list (list (table (style "specgrammar" tspec-style) without-empty-lines))) more) after))])) @defform-remove-empty-lines[ @defform[(foo bar baz quux) #:grammar ([bar (code:line xxx) (code:line yyy)] [baz (code:line zzz) (code:line ttt)] [quux (code:line aaa) (code:line bbb)])]{ Blah blah lots of text.}] -- 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.
Re: [racket-users] Re: Stickers!
Sure. What's your mailing address? On Tue, Mar 28, 2017 at 4:55 AM, Adeoluwa Adejumo wrote: > On Tuesday, 24 January 2017 22:15:59 UTC+1, Ben Greenman wrote: > > Hi Racket Users, > > > > > > I ordered a bunch of Racket stickers to celebrate the 6.8 release. > Here's proof: > > http://www.ccs.neu.edu/home/types/resources/stickers.jpg > > > > > > > > If you send me your address, I will mail you some stickers. For free!* > > > > > > I'm thinking 4 stickers per request (2 rectangles, 2 circles), but if > you live outside the US and promise to serve as a "volunteer regional > sticker distributor" then I'll send more.** > > > > > > > > Peace, Love, and Racket, > > Ben > > > > > > > > > > * While supplies last. And if you want un-free stickers, you can make > your own on stickermule.com or send a donation to RacketCon 2017. > > > > > > ** While supplies last, and subject to the internal dimensions of the > cheapest padded envelope at my local US post office. > > hello, are the free stickers still available? > > -- > 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. > -- 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.
[racket-users] Re: Stickers!
On Tuesday, 24 January 2017 22:15:59 UTC+1, Ben Greenman wrote: > Hi Racket Users, > > > I ordered a bunch of Racket stickers to celebrate the 6.8 release. Here's > proof: > http://www.ccs.neu.edu/home/types/resources/stickers.jpg > > > > If you send me your address, I will mail you some stickers. For free!* > > > I'm thinking 4 stickers per request (2 rectangles, 2 circles), but if you > live outside the US and promise to serve as a "volunteer regional sticker > distributor" then I'll send more.** > > > > Peace, Love, and Racket, > Ben > > > > > * While supplies last. And if you want un-free stickers, you can make your > own on stickermule.com or send a donation to RacketCon 2017. > > > ** While supplies last, and subject to the internal dimensions of the > cheapest padded envelope at my local US post office. hello, are the free stickers still available? -- 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.