Racket News - Issue 43

Permalink: https://racket-news.com/2020/12/racket-news-issue-43.html

Welcome to the forty third issue of Racket News.

Here’s another issue of Racket News just for you. I know - I know … I missed Racket News last week on the 7th. I apologize. I have been extremely busy and it was impossible last week to publish Racket News. At this point we are in the middle of the month and entering Christmas season, therefore we will have a single issue this month and return with issue 44 year in 2021 with a yearly review. Lots has happened in Racket world during this year so stay tuned.

In the meantime, get cosy, grab a coffee, stay inside and stay safe.

Enjoy!

Table of Contents

  1. What’s New?
  2. Racket Around the Web
  3. New Releases
  4. Call to Racket!
  5. Project in the Spotlight
  6. Featured Racket Paper
  7. Upcoming Meetups
  8. Racket Project Statistics

What’s New?

*

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.

  • version-string-with-git-hash(src/pkg) is a package for defining a variable with version info containing a git hash, by the XSmith team.
  • sendinblue(src/pkg) is a client for the sendinblue transactional email API, by Sorin Muntean.
  • typed-minikanren(src/pkg) is an implementation of miniKaren in Typed Racket, by Dale Vaillancourt.
  • xiden(src/pkg) is a guix-like functional dependency manager, by Sage Gerard.

Call to Racket!

Want to contribute to Racket? Don’t know where to start? Each RN issue I choose an easy issue to fix to get you started contributing to Racket. Come, give it a go.

Our Call to Racket Champion is Lîm Tsú-thuàn who fixed issue 813 through commit 3bb70c405. Congratulations Lîm, thank you for your contribution. We are done for 2020 with Call to Racket but we will be back in 2021 - stay tuned!

Project in the Spotlight

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

From the website:

Urlang is a language designed to allow straightforward translation to JavaScript. Think of Urlang as JavaScript with sane syntax and JavaScript semantics. JavaScript in this context is short for ECMAScript 5 in strict mode.

Featured Racket Paper

This issue’s featured paper is Macros for Domain-Specific Languages by Michael Ballantyne, Alexis King, and Matthias Felleisen.

Abstract:

Macros provide a powerful means of extending languages. They have proven useful in both general-purpose and domain-specific programming contexts. This paper presents an architecture for implementing macro-extensible DSLs on top of macro-extensible host languages. The macro expanders of these DSLs inherit the syntax system, hygienic expansion, and more from the host. They transform the extensible DSL syntax into a DSL core language. This arrangement has several important consequences. It becomes straightforward to integrate the syntax of various DSLs and the host language when their expanders share these inherited components. Also, a DSL compiler may be designed around a fixed core language, even for an extensible DSL. Finally, macros empower programmers to safely grow DSLs on their own and tailor them to their needs.

Upcoming Meetups

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

Racket Project Statistics

Some data about the activity in the Racket et al. repositories, for the month of October, 2020.

# commits Issues (new/closed/open) PRs (new/closed/open)
racket 135 31/30/403 20/16/78
drracket 12 3/3/194 1/1/3
typed-racket 9 6/6/236 9/8/20
scribble 1 1/0/69 1/4/14
redex 2 0/0/44 0/0/9
plot 0 0/0/7 0/0/0

Contributions by (17):

  • Bogdan Popa
  • Dominik Joe Pantůček
  • Florian Weimer
  • Fred Fu
  • Gustavo Massaccesi
  • Lîm Tsú-thuàn
  • Matthew Flatt
  • Michael Ballantyne
  • Paulo Matos
  • Robby Findler
  • Sam Tobin-Hochstadt
  • Walter H. Yang
  • kurinoku
  • shhyou
  • sorawee
  • xxyzz
  • yjqww6

Of these, 3 are new contributors for 2020:

  • Florian Weimer
  • Lîm Tsú-thuàn
  • kurinoku

Repositories included above are: racket, redex, typed-racket, drracket, scribble, plot.

Contributors

Thanks to

  • Sam Phillips
  • Stephen De Gabrielle

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.