Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags
(+1)

I don’t have another lisp to properly compare Janet to. I believe it’s a Lisp-1, but I don’t know for sure.

For me, the thing I’ve liked best about Janet is that it is expression oriented, like many Lisps. It does have access to imperative features.

What I probably like best about Janet that seems kinda neat, at least compared to ohter languages I use, is that it makes it very easy to create packed executables without any external packers. In fact, if Jaylib had access to the Raylib functions for loading Sounds/Music/Textures from memory, instead of from files, I could have made my entry contained entirely inside a single executable.

That’s an interesting feature for sure. Thanks for sharing!

(+1)

For Janet, that functionality is built into the tooling. It basically just runs the top-level statements, and then marshals the resulting image, and then bundles that into the executable that gets compiled. It does mean that you can’t, for example, have any Raylib types as top-level variables if you want to take advantage of that, unless you spend some time writing marshal/unmarshal functions for them.

For Sparkworks, I ended up saving the files into the executable, writing them out to disk, and loading the relevant resources from disk, and then deleting the files (except the music file), so that I didn’t have to bundle assets outside of the executable.

I like fat EXEs for situations like this.