Managed I/O Runtime (advanced)

Last edited: April 17, 2019
Hyperfiddle's technology core is general-purpose I/O coordinaton infrastructure, based on immutability and backed by Datomic.
I/O runtime is an umbrella for several coordinating processes running in various places (jvm, browser, node, AWS Lambda, etc). The secret sauce is the fiddle graph, which lets the I/O runtime introspect the structure and data flows of the application in order to preload data dependencies and serve exact responses. The fiddle graph plus immutability opens the door to many interesting optimization opportunities, and as soon as one person implements one, it can be made available generally to all Hyperfiddle apps. The default I/O runtime is mildly smart.
Different apps have different I/O needs, so I/O runtime implementations are pluggable and swappable. A simple example is you can serve the app completely without javascript and rely only on server side rendering.
Here are some ideas of what you could build in a custom I/O runtime and plug into any Hyperfiddle app: