Syntax Parse Bee 2021

185 views
Skip to first unread message

Ben Greenman

unread,
Jun 30, 2021, 8:23:39 PMJun 30
to Racket Users
Hi folks,

Write a macro with Racket this summer! Win stickers!

The purpose of this event is to grow the syntax-parse-example documentation and repository to grow as a resource for the Racket community. But you do not need to submit a full example to win stickers --- any syntax-parse macro counts.

It's like a Quilting Bee, but for syntax parse macros!

Ground Rules:
  • you can write any macro as long as it uses syntax-parse somehow
  • enter as many times as you like
  • the first 20 individuals who enter will win exclusive stickers
  • open July 1 to September 1
Submit by opening an issue here:

https://github.com/syntax-objects/Summer2021/issues/new?assignees=&labels=entry&template=enter-the-syntax-parse-bee.md&title=%5Bentry+-+name%2Fdescription+of+macro%5D

To help you get started, we suggest two categories of before-and-after macro:
  1. Code Cleaning : Introduce a macro where there was none before. Look for ways to make your source code more beautiful and/or less repetitive.
  2. Macro Engineering : Use the tools in syntax-parse to improve an existing  macro (which may or may not currently use syntax-parse). Try to make the old macro more maintainable, more robust against errors, and/or more flexible.
Updates will be via Racket News, Racket-Users, Slack, Discord & Reddit.

Whatever you decide, we hope that you learn and have fun!

- Ben + Stephen


PS a 'Bee' is a community effort toward a common goal. A quilting bee is for
making a quilt. In this case the quilt is a patchwork of syntax-parse macros.

- - -

Syntax parse docs:
 https://docs.racket-lang.org/syntax/stxparse.html

Syntax parse examples:
 https://docs.racket-lang.org/syntax-parse-example/

Extra syntax classes:
 https://docs.racket-lang.org/syntax-classes/

Mythical Macros tutorial:
 https://soegaard.github.io/mythical-macros/

Macros and Languages in Racket book draft:
 http://rmculpepper.github.io/malr/

Fine print:
  • this is an UNOFFICIAL event run by Racket users (@spdegabrielle and @bennn)
  • entries must be submitted under the MIT license [1] for code and under CC [2] for accompanying prose
  • stickers will be mailed via USPS; international entries are allowed
  • please abide by the Racket Friendly Environment Policy [3]

[1] https://github.com/racket/racket/blob/master/racket/src/LICENSE-MIT.txt
[2] http://creativecommons.org/licenses/by/4.0/


Stephen De Gabrielle

unread,
Jul 7, 2021, 4:11:57 AMJul 7
to Racket Users
We have our first macro contributed to the Syntax Parse Bee! 

There is a lot of buzz - who will be next? 

Maybe it will be you? 

 See the announcement for details about the Syntax Parse Bee and how to join in: https://github.com/syntax-objects/Summer2021/blob/master/ANNOUNCEMENT.md

Stephen De Gabrielle

unread,
Jul 13, 2021, 4:06:33 AMJul 13
to Racket Users
It’s very exciting seeing the entries pouring in.

Reminder: Racket includes a macro debugger to make it easier for the experienced to debug their macros and for beginners to study their behaviour: https://docs.racket-lang.org/macro-debugger/index.html

Click ‘Macro Stepper’ in DrRacket or M-x  racket-stepper-mode in Racket Mode if you prefer Emacs: https://www.racket-mode.com/#Macro-expand

Bw
Stephen
--
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/CAFUu9R6kCG%2BXFnYwOnD_9XyfNq%2BNbJnPVA_rpD4vGKPkzSXBDA%40mail.gmail.com.
--
----

Stephen De Gabrielle

unread,
Aug 3, 2021, 3:55:14 PMAug 3
to Racket Users
The bee is still on!
Have you made a contribution yet?

Write a macro with Racket this summer! Win stickers!

The purpose of this event is to grow the syntax-parse-example documentation and repository to grow as a resource for the Racket community. (You can also contribute directly to the syntax parse examples repository)

It's like a Quilting Bee, but for syntax parse macros!

--
----

Stephen De Gabrielle

unread,
Aug 25, 2021, 4:52:38 PMAug 25
to Racket Users
There is only a couple more days! it's not too late!

Ben Greenman

unread,
Aug 26, 2021, 10:20:44 PMAug 26
to Racket Users
On 8/25/21, Stephen De Gabrielle <spdega...@gmail.com> wrote:
> There is only a couple more days! it's not too late!
>

We have lots of prizes
sticker-pile.png

Ben Greenman

unread,
Sep 15, 2021, 9:12:47 PMSep 15
to Racket Users
The competition is now closed.

Thank you to the participants!!!

We received 22 entries from 15 individuals:

https://github.com/syntax-objects/Summer2021/issues

The final results of these submissions cover a wide range. Some are macros
that you could use in any Racket project. Others are syntax classes. Still
others are more like starter code for a new DSL.

The code inside these submissions is **very** informative. Whether you're
new to macros or a seasoned syntax parser, there is a lot to learn from.

- Ben + Stephen
Reply all
Reply to author
Forward
0 new messages