Racket News - Issue 41

Permalink: https://racket-news.com/2020/11/racket-news-issue-41.html

Welcome to the forty first issue of Racket News.

Besides a fresh Racket 7.9 release, we are jam-packed with information although we have recently noticed a lack of blog posts, so here’s an informal call to blog posts. If you have a place to blog and post racket stuff, make sure that you post what you have been doing, some interesting thing you’ve seen lately, or just your experience with Racket. Let me know so I can feature it in the next issue.

Stay safe - grab an espresso and enjoy!

Table of Contents

  1. What’s New?
  2. Racket Around the Web
  3. New Releases
  4. Call to Racket!
  5. Project in the Spotlight
  6. Featured Racket Paper
  7. Upcoming Meetups
  8. Racket Project Statistics

What’s New?

  • Racket 7.9 is out with lots of goodies like full support for struct type properties in Typed Racket, parallel GC in RacketCS and several improvements to the plot library among others. Check them all in the release notes.
  • Matthew Flatt will be presenting at this year’s VMIL2020 on “Racket’s Intermediate Language for Control”. You need to register to watch it live but no doubt the videos will be made available afterwards so you can enjoy afterwards.
  • Lîm Tsú-thuàn is creating a Racket Taiwan community - they are on twitter and have a discord channel.
  • Roman Kunin has created a full-fledged version of Tetris in Racket, check it out and have a play.
  • Lindsey Handley and Stephen Foster have recently revived a 3d video game project called CodeSpells: a game where you can write any magic spell you can imagine using code. They are revisiting the project with moddability in mind, and of course they’re using Racket. If you are interested in game development make sure you join the community. They have already had a chat with Jay McCarthy, that you should definitely check out.

Edit (03.11.2020): Between the writing of this issue and its publication, Racket v7.9 was released. It shouldn’t have to wait for issue 42, therefore I have added it to issue 41 post-publication.

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.

  • racket-paint(src/pkg) is a simple paint program written in Racket, by Laurent Orseau.
  • cksum(src/pkg) is a library for the calculation of CRC checksums of files in the style of the cksum utility, by Dave Wilson.
  • raco-run(src/pkg) is a raco command to run submodules from the command line, by Sam Phillips.

Call to Racket!

Want to contribute to Racket? Don’t know where to start? Each RN issue I choose an easy issue to fix to get you started contributing to Racket. Come, give it a go.

Our Call to Racket Champion is Walter Yang who fixed issue 3161 through commit 62f444d. Congratulations Walter, thank you for your contribution. For next issue, we call on volunteers to fix issue 813 of Typed Racket. If you are interested in fixing this but need some guidance, feel free to comment on the issue page. Will you be our next Champion?

Good luck!

Project in the Spotlight

This week’s project in the spotlight is Futures Visualizer by James Swaine.

From the website:

The futures visualizer is a graphical profiling tool for parallel programs written using future. The tool shows a timeline of a program’s execution including all future-related events, as well as the overall amount of processor utilization at any point during the program’s lifetime.

Edit (03.11.2020): Fix package author - it’s from James Swaine.

Featured Racket Paper

This issue’s featured paper is Rash: From reckless interactions to reliable programs by William Hatch, and Matthew Flatt.


Command languages like the Bourne Shell provide a terse syntax for exploratory programming and system interaction. Shell users can begin to write programs that automate their tasks by simply copying their interactions verbatim into a script file. However, command languages usually scale poorly beyond small scripts, and they can be difficult to integrate into larger programs. General-purpose languages scale well, but are verbose and unwieldy for common interactive actions such as process composition. We present Rash, a domain-specific command language embedded in Racket. Rash provides a terse and extensible syntax for interactive system administration and scripting, as well as easy composition of both Racket functions and operating system processes. Rash and normal Racket code can be nested together at the expression level, providing the benefits of a shell language and a general-purpose language together. Thus, Rash provides a gradual scale between shell-style interactions and general-purpose programming.

Edit (03.11.2020): Fix typo in paper title.

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, 2020.

# commits Issues (new/closed/open) PRs (new/closed/open)
racket 101 41/22/411 18/23/76
drracket 8 7/3/193 4/4/3
typed-racket 8 4/3/235 7/8/19
redex 2 1/0/44 0/0/9
scribble 1 3/1/68 0/0/17
plot 0 0/0/7 0/0/0

Contributions by (19):

  • Alex Bartholomew
  • Alex Knauth
  • Fred Fu
  • John Clements
  • Jörgen Brandt
  • Matthew Flatt
  • Matthias Felleisen
  • Mike Sperber
  • Paulo Matos
  • Peter Zhong
  • Philip McGrath
  • Robby Findler
  • Sam Tobin-Hochstadt
  • Sergiu Ivanov
  • Sorawee Porncharoenwase
  • Walter H. Yang
  • bdeket
  • xxyzz
  • yjqww6

Of these, 8 are new contributors for 2020:

  • Alex Bartholomew
  • Alex Knauth
  • Jörgen Brandt
  • Matthias Felleisen
  • Mike Sperber
  • Peter Zhong
  • Sergiu Ivanov
  • Walter H. Yang

Repositories included above are: racket, redex, typed-racket, drracket, scribble, plot.


Thanks to

  • Eric Eide
  • Sam Tobin-Hochstadt
  • Stephen De Gabrielle

for their contributions to this issue.


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.


Have you seen something cool related Racket? Send it in and we will feature it in the next issue.