I don’t have any links. On normal desktop/server aarch64 platforms, you (or the OS packager) just compile it as usual (without --enable-jit) and it just works. It’s cross-platform.
Nice architecture! I have to confess that I was a wee bit disappointed, because I misinterpreted the title. I expected a native GUI defined in Racket; but in fact it’s a platform-agnostic core written in Racket, plus a native GUI written in another language (Swift).
Still, a very nice architecture, and I hope you get the library version with in-process interop working, too. Good luck, and have fun!
Edit to add: your architecture, with a platform-agnostic core and a platform-specific front-end, reminded me a lot of Simon Tatham’s portable puzzle collection (enough that I went to look it up for you, and the figured I might as wel submit it to Lobsters). That project has game-specific backends, platform-specific frontends, and both-agnostic middleware that lets the games and the platforms compose to give m × n combinations. The architecture and the problem it solves are a bit different from yours, but perhaps there are enough parallels to make it relevant.
It does. Without JIT, only interpretation, but works fine.
Interesting! I had no idea. Do you have any links I could take a look at?
I don’t have any links. On normal desktop/server aarch64 platforms, you (or the OS packager) just compile it as usual (without
--enable-jit
) and it just works. It’s cross-platform.Sweet. I’ll have to play around with that. I’ve updated the article. Thanks!
EDIT: Turns out there is info about cross-compilation to iOS and Android in the Racket source README:
https://github.com/racket/racket/blob/fc258725ba7e5bd7289f15a08843fb2f62af4e27/racket/src/README.txt#L404-L431
Nice architecture! I have to confess that I was a wee bit disappointed, because I misinterpreted the title. I expected a native GUI defined in Racket; but in fact it’s a platform-agnostic core written in Racket, plus a native GUI written in another language (Swift).
Still, a very nice architecture, and I hope you get the library version with in-process interop working, too. Good luck, and have fun!
Edit to add: your architecture, with a platform-agnostic core and a platform-specific front-end, reminded me a lot of Simon Tatham’s portable puzzle collection (enough that I went to look it up for you, and the figured I might as wel submit it to Lobsters). That project has game-specific backends, platform-specific frontends, and both-agnostic middleware that lets the games and the platforms compose to give m × n combinations. The architecture and the problem it solves are a bit different from yours, but perhaps there are enough parallels to make it relevant.
Thanks! I can see how the title might be interpreted that way. I should’ve added “at their core” to the end or something.
Those puzzles look really cool, thanks for the link.