My setup involves GNU Guile Scheme, Emacs, and the geiser extension for Emacs. I boot up my Guile application and it spawns a REPL server. In Emacs, I run M-x connect-to-guile to connect to that server. From there, I edit my source code files as normal. However, once I've made an edit, I press C-x C-e next to the region of code that I want Emacs to send to the Guile REPL and view the results. The edit/apply process repeats until I'm done working and kill the application.
It's a really great way to work. I've spent a good amount of time making this workflow work well for applications that run an event loop, such as a game or web server, by writing a "cooperative" REPL server for Guile [0].
It's a really great way to work. I've spent a good amount of time making this workflow work well for applications that run an event loop, such as a game or web server, by writing a "cooperative" REPL server for Guile [0].
I hope this makes some sense!
[0] https://gnu.org/software/guile/manual/html_node/Cooperative-...