Welcome to the thirtieth issue of Racket News.
Here we go… 30 issues! It has been quite a journey since we started in early 2019, and I am happy to see that increasingly more people are coming to Racket, finding enjoyment in the language and actively participating in the community. This is also noticeable from the number of open issues and pull requests across the racket universe of repositories. Thank you all for following Racket News and for making the community better than ever!
The situation around the world is still complicated but things are slowly picking up in the Racket world. This issue is jam-packed with stuff. Lets get going!
Stay healthy and stay inside. Grab a coffee and enjoy!
Table of Contents
- What’s New?
- Racket Around the Web
- New Releases
- Project in the Spotlight
- Featured Racket Paper
- Upcoming Meetups
- Racket Project Statistics
- Jobs
What’s New?
-
Racket 7.7 is here and it’s amazing. A lot of work has gone into it, which means you might find more niggles than usual. However, if you see any problem report it and the racket team will be there for you. Here’s a short selection of what you’ll get from Racket 7.7:
- Racket CS optimizations resulting in code size savings of around 20%.
- Garbage collection is 10–20% faster in Racket CS.
- Racket CS now supports a C API for embedding into other applications.
- There’s been an on-going thread on on reducing barriers in the Racket community that started last year but keeps on giving. Might be worth a re-read.
- Jesse Alama has announced that work has started on porting Chez to ARM and RISC-V.
- Sam Tobin-Hochstadt announced Racket is now on GitHub Sponsors so that’s another available venue for donations to Racket. Show your love!.
- There has been an interesting thread on the mailing list regarding the state of the package system and the current inability to pin package versions. If you are a package system user and have opinions on this, chime in.
- If you are a VS Code user, Magic Racket - the VS Code Racket extension - gains LSP support. Check it out!
Racket around the web
Do you blog about Racket? Let me know!
- Racket 7.7 by John Clements.
- Running a pkg-build today by Ben Greenman, Alex Knauth, and Fred Fu.
- On Polyglot’s Future by Sage Gerard.
- Announcing racksnaps by Bogdan Popa.
- How I wrote a book using Pollen by Jonas Hietala.
- Encoding probability and random variables in Racket by Boro Sitnikovski.
New Releases
If you know of library releases or maybe your own libraries and you want them to be featured, please let me know.
stream-values
(src/pkg) is a library for multiple values manipulation in Racket streams by Sorawee Porncharoenwase.carl-lib
(src/pkg) is causal Relational Learning library by Moe Kayali.rs
(src) is a racket sequencer bymcdejonge
.racksnaps
(src) is an application to build daily snapshots of the official Racket Package Catalog, by Bogdan Popa.puzzler
(src/pkg) is a language for building 2D grid-based puzzle games by Alex Owens.
Project in the Spotlight
This week’s project in the spotlight is Heresy (src/pkg) by Annaia Danvers.
From the website:
The Heresy language is a functional Lisp/Scheme dialect implemented in Racket, with syntax inspired by the BASIC family of programming languages. Its principle goals are to provide a simple core language for BASIC and other programmers to experiment with and learn how to program functionally.
Featured Racket Paper
This issue’s featured paper is Typing the Numeric Tower, by Vincent St-Amour, Sam Tobin-Hochstadt, Matthew Flatt, and Matthias Felleisen
Abstract:
In the past, the creators of numerical programs had to choose between simple expression of mathematical formulas and static type checking. While the Lisp family and its dynamically typed relatives support the straightforward expression via a rich numeric tower, existing statically typed languages force programmers to pollute textbook formulas with explicit coercions or unwieldy notation. In this paper, we demonstrate how the type system of Typed Racket accommodates both a textbook programming style and expressive static checking. The type system provides a hierarchy of numeric types that can be freely mixed as well as precise specifications of sign, representation, and range information — all while supporting generic operations. In addition, the type system provides infor-mation to the compiler so that it can perform standard numeric optimizations.
Upcoming Meetups
Do you know of any upcoming meetups I can advertise? Let me know.
- RacketCon 2020, shall be soon announced for the Fall of 2020 celebrating a quarter century of Racket.
Racket Project Statistics
Some data about the activity in the Racket et al. repositories, for the month of April, 2020.
# commits | Issues (new/closed/open) | PRs (new/closed/open) | |
---|---|---|---|
racket | 63 | 27/41/363 | 24/40/86 |
ChezScheme | 38 | 0/0/0 | 2/2/0 |
typed-racket | 14 | 4/0/224 | 5/10/20 |
drracket | 8 | 5/5/171 | 1/2/3 |
scribble | 3 | 1/0/59 | 4/3/8 |
redex | 1 | 0/0/43 | 0/0/10 |
plot | 0 | 0/0/9 | 0/0/3 |
Contributions by (15):
- Ben Greenman
- Suzanne Dupéron
- Greg Hendershott
- Gustavo Massaccesi
- Ilnar Salimzianov
- Jesse Alama
- John Clements
- Matthew Butterick
- Matthew Flatt
- Paulo Matos
- Reuben Thomas
- Robby Findler
- Sam Tobin-Hochstadt
- Sorawee Porncharoenwase
bdeket
Of these, 6 are new contributors for 2020:
- Georges Dupéron
- Ilnar Salimzianov
- Jesse Alama
- Matthew Butterick
- Reuben Thomas
bdeket
Repositories included above are: racket
, ChezScheme
, redex
, typed-racket
, drracket
, scribble
, plot
.
Jobs
If you want to advertise any Racket related jobs, please send me an email.
- Software Development Engineer Intern - Amazon Redshift Database: Amazon Web Services (AWS) is looking for a short-term (4–6 month) position for some experimental development, likely embedding Racket or other Lisp/Schemes in a high-performance setting. See the link or contact Hinnerk Gildhoff (hinnerk@amazon.de), the hiring manager for this position.
Contributors
Thanks to
- Jesse Alama
for their contributions to this issue.
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.