Tech News
← Back to articles

How GNU Guile is 10x better (2021)

read original related products more articles

Compared to C and Go, runtime access to running code is very useful. You can jump into a module and modify anything during runtime.

thanks to str1ngs for this point.

While you even get a subset of this with Java using incremental compilation and hot reloading of code in IntelliJ, at work we’re always dancing around changes that change some method arguments or streams, because those break hot reloading so you have to restart.

And for Javascript we can in theory replace every function, but in practice at work we transpile everything with babel and webpack and that breaks hot reloading, so we have to reload after every change.

In Guile you can either start in a REPL, or create a dedicated REPL in the running program, or create a REPL socket for your development environment and connect to that to hack on the running server.

Then you can re-define all top-level definitions in all modules.

As example str1ngs usually develops the Nomad web browser like that.

And if you need a game loop as main thread, you can use it to drive the cooperative repl server.