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?
- Racket Around the Web
- New Releases
- Project in the Spotlight
- Featured Racket Paper
- Upcoming Meetups
- 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!
- Announcing rackcheck by Bogdan Popa.
- Testing a Web API using rackcheck by Bogdan Popa.
- Terminal Phase v1.1 and Spritely Goblins v0.6 releases! by Christopher Lemmer Webber.
- A Game of Tetris 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.
rackcheck(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^4is thus represented as
(+ (* 3 x) (expt x 4)), where
Featured Racket Paper
This issue’s featured paper is Feature-Specific Profiling by Leif Andersen, Vincent St-Amour, Jan Vitek and Matthias Felleisen.
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.
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.
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.