Racket News - Issue 30

Permalink: https://racket-news.com/2020/05/racket-news-issue-30.html

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

  1. What’s New?
  2. Racket Around the Web
  3. New Releases
  4. Project in the Spotlight
  5. Featured Racket Paper
  6. Upcoming Meetups
  7. Racket Project Statistics
  8. 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!

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 by mcdejonge.
  • 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.


Contribute

Have you seen something cool related Racket? Send it in and we will feature it in the next issue.