Welcome to the twenty-eighth issue of Racket News.

If you are a new contributor, welcome to Racket News. I publish this newsletter on the first Monday on or after the 1st and 15th of every month. I am working on improving the website and adding a couple of new sections to the newsletter. The upcoming new section will be a condensed digest in the form of bullet points of what’s new inside Racket, i.e. in terms of commits to the official repos.

Stephen de Gabrielle has been asking on a weekly basis what everyone has been working on - I am thinking of mentioning the most interesting work being currently done as well.

These are just a few of the several ideas I have to enrich Racket News through 2020. If you have any comments, suggestions or further ideas, contact me.

Grab a cup of coffee, and stay healthy! Enjoy!

Table of Contents

What’s New?

Due to the current situation with regards to nCov–2019 virus, the previously scheduled meeting in London might be cancelled as announced by Stephen de Gabrielle, so if you intended to go keep an eye on further updates. However, also announced is a After Work Racket London Picnic on Tuesday, June 16.

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.

rackcheck (src/pkg) is a property-based testing library with shrinking support by Bogdan Popa.

(src/pkg) is a property-based testing library with shrinking support by Bogdan Popa. tesurell (src/pkg) is a Racket-powered markup language that supports inline use of other #langs, including itself, by Sage Gerard.

Project in the Spotlight

This week’s project in the spotlight is Racket CAS by Jens Axel Soegaard.

From the website:

RacketCAS is a computer algebra system written in Racket. The system allows you to manipulate and compute with symbolic expressions from your own programs. Symbolic expresions are represented as plain s-expressions and the names of mathematical operations are the same as in Racket. An expression like 3x+x^4 is thus represented as (+ (* 3 x) (expt x 4)) , where + and expt are symbols.

Featured Racket Paper

This issue’s featured paper is Feature-Specific Profiling by Leif Andersen, Vincent St-Amour, Jan Vitek and Matthias Felleisen.

Abstract:

While high-level languages come with significant readability and maintainability benefits, their performance remains difficult to predict. For example, programmers may unknowingly use language features inappropriately, which cause their programs to run slower than expected. To address this issue, we introduce feature-specific profiling, a technique that reports performance costs in terms of linguistic constructs. Feature-specific profilers help programmers find expensive uses of specific features of their language. We describe the architecture of a profiler that implements our approach, explain prototypes of the profiler for two languages with different characteristics and implementation strategies, and provide empirical evidence for the approach’s general usefulness as a performance debugging tool.

Upcoming Meetups

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

After Work Racket London Picnic, June 16, 2020 - in Kensington Gardens, London, UK at 5pm. Organizer is Stephen de Gabrielle.

RacketCon 2020, shall be soon announced for the Fall of 2020 celebrating a quarter century of Racket.

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.