Welcome to the twenty-sixth issue of Racket News.
Racket News’ first birthday last issue got me thinking that as Racket News slowly starts growing some teeth and trying to walk (comparatively late to some babies), we need to revamp a few things. Therefore expect changes, for the better. If there’s anything that you would like to see in Racket News, please let me know. In any case, I hope to be able to bring more variety to Racket News in the following issues as well as website design improvements.
This issues features the release of Racket 7.6, bringing you a production-ready ChezScheme backend. So, if you’ve been waiting for this to be stamped with a Production seal, wait no more.
Grab yourself a nice, and soothing caramel latte and… Enjoy!
Table of Contents
- What’s New?
- Racket Around the Web
- New Releases
- Project in the Spotlight
- Featured Racket Paper
- Upcoming Meetups
- Racket 7.6 is here featuring among other things DrRacket’s more responsive scrolling and improved dark mode support, a new safety limits construct in the web server but the highlight has been what many have been waiting for: RacketCS’s production-ready stamp.
Racket around the web
Do you blog about Racket? Let me know!
- Racket v7.6 by John Clements.
- Quantumly Generated Random Bytes in Racket by Gustavo Massaccesi.
- The Missing Guide to Racket’s Web Server by Bogdan Popa.
- Using check-syntax in Racket Mode by Greg Hendershott.
- Dual Axis Plots by Alex Harsányi.
If you know of library releases or maybe your own libraries and you want them to be featured, please let me know.
Project in the Spotlight
This week’s project in the spotlight is RacketScript by Vishesh Yadav.
From the website:
There is also an interactive playground, go check it out!
Featured Racket Paper
This issue’s featured paper is Compilable and Composable Macros, You Want it When? by Matthew Flatt.
Many macro systems, especially for Lisp and Scheme, allow macro transformers to perform general computation. Moreover, the language for implementing compile-time macro transformers is usually the same as the language for implementing run-time functions. As a side effect of this sharing, implementations tend to allow the mingling of compile-time values and run-time values, as well as values from separate compilations. Such mingling breaks programming tools that must parse code without executing it. Macro implementors avoid harmful mingling by obeying certain macro definition protocols and by inserting phase-distinguishing annotations into the code. However, the annotations are fragile, the protocols are not enforced, and programmers can only reason about the result in terms of the compiler’s implementation. MzScheme - the language of the PLT Scheme tool suite - addresses the problem through a macro system that separates compilation without sacrificing the expressiveness of macros.
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.
- RacketCon 2020, shall be soon announced for the Fall of 2020 celebrating a quarter century of Racket.
- Gustavo Massaccesi
for their contributions to this issue.
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.