Welcome to the twenty second issue of Racket News.

The holiday season is here whether you want it or not and certainly here in Germany you can see it everywhere including in Racket World where things have gone slightly quieter. But we have one big shoutout to the official announcement of RacketFest 2020, taking place in Berlin next February.

This is the last issue of the year, so I wish you a happy holiday season. If you celebrate it, a Merry Christmas as well. And of course, an excellent start of 2020. We’ll be back in the new year with lots more Racket.

Lets go for something Christmasy today and enjoy a cinnamon spiced latte. Enjoy!

Table of Contents

What’s New?

Jesse Alama has announced RacketFest 2020, scheduled for February 27 (Thursday) - with an already impressive lineup of speakers;

Myself and Jack Firth met online to discuss the Racket CI back in November - I have published a small report on the wiki. If you are interested in CI, consider joining us on the #ci slack channel;

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.

atomichron (src/pkg) by Jack Firth is a Racket microbenchmarking library.

Project in the Spotlight

This week’s project in the spotlight is Riposte by Jesse Alama. It’s a Scripting language for testing JSON-based HTTP APIs implemented in Racket.

From the website:

Riposte is a language for testing JSON-bearing HTTP APIs. It comes with a commandline tool, riposte, which executes Riposte scripts. Using Riposte, one writes a sequence of commands—which amount to HTTP requests—and assertions, which require that the response meets certain conditions.

Featured Racket Paper

This issue’s featured paper is The Design and Implementation of Typed Scheme by Sam Tobin-Hochstadt and Matthias Felleisen.

Abstract:

When scripts in untyped languages grow into large programs, maintaining them becomes difficult. A lack of types in typical scripting languages means that programmers must (re)discover critical pieces of design information every time they wish to change a program. This analysis step both slows down the maintenance process and may even introduce mistakes due to the violation of undiscovered invariants. This paper presents Typed Scheme, an explicitly typed extension of an untyped scripting language. Its type system is based on the novel notion of occurrence typing, which we formalize and mechanically prove sound. The implementation of Typed Scheme additionally borrows elements from a range of approaches, including recursive types, true unions and subtyping, plus polymorphism combined with a modicum of local inference. Initial experiments with the implementation suggest that Typed Scheme naturally accommodates the programming style of the underlying scripting language, at least for the first few thousand lines of ported code.

Upcoming Meetups

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

RacketFest 2020: organised by Jesse Alama and taking place in Berlin, Germany on February 27, 2020.

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.