If you’ve looked at some of the concurrency and networking procedures
available in Racket, you might’ve noticed a bunch that follow the
<name>/enable-break and it might not have been
immediately obvious why or when you would use these variants of these
procedures over the regular ones. Let’s look at a snippet from the
Protohackers Challenge in Racket Part 2
I’m currently stuck waiting for a flight, so I figured I’d pick up where I left off yesterday 1 and implement a couple more of the Protohackers challenges.
Protohackers Challenge in Racket Part 1
Someone on the Racket Discord recently mentioned the Protohackers project and I figured it’d be fun to write about Racket solutions to the challenges available on the website.
Racketfest 2023 Talk: Native Apps with Racket
Racketfest 2023 was held yesterday and I gave a short talk about building native apps with Racket. Nothing new if you’ve read my recent posts, but below is a transcript. A recording might also be posted later, in which case I’ll update this post to link to it.
Safe Foreign Callouts from Racket to Swift
In anticipation of working on the Windows & Linux versions of Franz, I’ve wanted to move its auto-update implementation from Swift into Franz’ Racket core. The reason I implemented the auto-update code in Swift in the first place is because of the way the Swift part normally communicates with the Racket part: the core Racket code runs in its own thread and the Swift part communicates with it asynchronously via pipes. So, until a couple of days ago, I didn’t have an easy way for Racket code to trigger the execution of Swift code on its own.
All of the code that handles embedding Racket inside Swift, code
generation and the general communication mechanism is open source and
lives in Noise, so that’s where you can find the full implementation
of the approach I describe in this post (specifically, commits
This is Fine
This post is a dumb rant, but I needed to vent.
Some of the feedback I’ve received on Franz so far has been that folks need support for more compression and serialization formats. In that vein, here are some Racket libraries I’ve released in the past couple of weeks: