Welcome to the nineteenth issue of Racket News.

There is quite a bit of activity in Racket World so this is another issue packed with goodies - GameJam, more Vulkan work, a video about syntax-parse , and transducers in Racket among other things. I won’t be keeping you any longer. Dig in!

Grab a flat white and enjoy!

Table of Contents

What’s New?

The Racket GameJam is on! Submissions due in 25 days - give it a go.

In issue 9 we have featured the amazing rebellion package by Jack Firth. Since we last featured it, Jack has added many new exciting features. Recently he has announced support for Transducers - go give them a try.

Evžen Wybitul is developing Magic Racket, a VS Code plugin for Racket and has announced REPL integration.

Sage Gerard who has been working on Vulkan integration for Racket in racket-vulkan , has announced that a non-trivial application is now working: rendering of a Mandelbrot set.

, has announced that a non-trivial application is now working: rendering of a Mandelbrot set. Want to understand better syntax-parse (we all do…)? Check out this presentation by Ryan Culpepper on Syntax Templates in Racket.

Racket around the web

Do you blog about Racket? Let me know!

New Releases

If you know of library releases or maybe your own libraries and you want them to be featured, please let me know.

rackunit-fancy-runner (src/pkg) by c2d7fa provides a way to run RackUnit test suites in the command lines that has a fancier output format than the built-in rackunit/text-ui .

Project in the Spotlight

This week’s project in the spotlight is Herbie, which is an application to automatically improve the error of floating point expressions by Pavel Panchekha, Alex Sanchez-Stern, David Thien, Zachary Tatlock, Jason Qiu, Jack Firth, and James R. Wilcox.

From the website:

Herbie automatically rewrites floating point expressions to make them more accurate. Floating point arithmetic is inaccurate; hence the jokes that 0.1 + 0.2 ≠ 0.3 for a computer. But it is hard to understand and fix these inaccuracies, creating mysterious and hard-to-fix bugs. Herbie is a tool to help.

Herbie has excellent documentation, tutorial and support. The PLDI’15 paper introducing Herbie is also online.

Featured Racket Paper

This issue’s featured paper is Bindings as Sets of Scopes by Matthew Flatt.

Abstract:

Our new macro expander for Racket builds on a novel approach to hygiene. Instead of basing macro expansion on variable renamings that are mediated by expansion history, our new expander tracks binding through a set of scopes that an identifier acquires from both binding forms and macro expansions. The resulting model of macro expansion is simpler and more uniform than one based on renaming, and it is sufficiently compatible with Racket’s old expander to be practical.

There is also an extended version of the paper.

Edit (04.02.2020): Fixed a small typo in the title of the featured paper.

Upcoming Meetups

Do you know of any upcoming meetups I can advertise? Let me know.

Racket Project Statistics

Some data about the activity in the Racket et al. repositories, for the month of October, 2019.

# commits Issues (new/closed/open) PRs (new/closed/open) racket 133 23/13/356 21/19/98 ChezScheme 8 0/0/0 0/0/0 drracket 5 11/0/155 0/0/3 redex 4 7/1/39 4/2/9 scribble 4 1/0/60 3/0/8 typed-racket 4 1/1/210 3/0/18 plot 2 0/0/8 0/1/3

Contributions by (19):

Alex Muscar

Ben Greenman

Bogdan Popa

Dan Holtby

David K. Storrs

Dominik Joe Pantůček

Fred Fu

Gustavo Massaccesi

Jay McCarthy

Jens Axel Søgaard

John Clements

Luke Lau

Matthew Flatt

Paulo Matos

Robby Findler

Ryan Culpepper

Sam Tobin-Hochstadt

Stephen Chang

William J. Bowman

Of these, 7 are new contributors for 2019:

Alex Muscar

Bogdan Popa

Dan Holtby

David K. Storrs

Jens Axel Søgaard

Luke Lau

William J. Bowman

Repositories included above are: racket , ChezScheme , redex , typed-racket , drracket , scribble , plot . Edit (2019.11.15): fixed month these statistics refer to.

Jobs

If you want to advertise any Racket related jobs, please send me an email or submit an issue.

Contributors

Thanks to

Jack Firth

sorawee

for their contributions to this issue.

Disclaimer

This issue is brought to you by Paulo Matos. Any mistakes or inaccuracies are solely mine and they do not represent the views of the PLT Team, who develop Racket.

I have also tried to survey the most relevant things that happened in Racket lang recently. If you have done something awesome, wrote a blog post or seen something that I missed - my apologies. Let me know so I can rectify it in the next issue.