Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(1 edit)

I was wondering how you managed to get Guile down to a 1 KB cartridge file, but it sounds like that's the magic of Hoot? Edit: or is this just directly coded in the WebAssumbly text format?

Old, possibly irrelevant: Does it require garbage collector support in the WebAssembly runtime? I kind of assumed WASM-4 wouldn't provide that, so now I'm curious.

(+1)

That 1KB cartridge file is not a Guile program, but a Guile program built the cartridge. What's happening here is that Guile is being used to generate GWAT (the Guile dialect of WAT) that is passed to the Hoot assembler to produce a WASM binary. It's not actually compiling a Scheme program to WASM, which as you mention would require the GC extension which WASM-4 doesn't use. Check out https://gitlab.com/spritely/wasm4-wireworld/-/blob/main/miniworld.scm to get an idea of what's going on.

Deleted 1 year ago