Hot-reload for #rustlang just got better. Thanks to plenty of feedback I released v0.5 of github.com/rksm/hot-lib-r…. It adds a new mechanism for defining hot-reloadable code that reduces boilerplate considerably.
The #[hot_module] attribute macro now provides a way to create a module that is 1:1 replaceable with a static version. The wrapped functions from the library are automatically reloaded when the library changes. No more manual updates. Here is how a simple example looks like:
Also the documentation was rewritten and extended. Check it out here: docs.rs/hot-lib-reload…. The hot-lib-reloader repository also has more examples now.
In addition it is now possible to react to library reloads, for example to trigger reruns or drive a main loop.
And finally the last piece, be informed before the dylib changes happen and have control over when the update should run. More details at github.com/rksm/hot-lib-r… and a full blown async serialization/deserialization example is at github.com/rksm/hot-lib-r…
• • •
Missing some Tweet in this thread? You can try to
force a refresh
@curious_reader@RoamResearch@codezeilen This idea is of course an old one. To a certain extent sketched out in As We May Think, Doug Engelbart's NLS, and then more than sketched out in various Smalltalk implementations. The way that Roam works is very interesting and provides an approach towards the...
@curious_reader@RoamResearch@codezeilen ...thinking process described in As We May Think. Yet, what it is missing, is the computational aspect. Structuring knowledge, ideas, data is one side, but being able to combine, process and extend it using individual and customizable programs another. theatlantic.com/magazine/archi…