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
0a585be and 2f6c37e).
Read in full here:
This thread was posted by one of our members via one of our news source trackers.