Potok is intended to be a general case reactive library for all luau runtimes, and while this is reasonably easy to make sure it stands like that with it's core features, some difficulties rise when we deal with runtime-dependent features such as the asynchronous primitives we intend to add.
How could we solve this while maintaining our general-luau guarantee? We could perhaps introduce a scheduler that the uses can use to opt in to async programming, however the ergonomics of this are questiones.
We could entirely drop the support for async support, and then add it through a helper library, each one made for the popular runtimes.
Additionally, we could make Potok run on lua 5.1 which enables it to run on runtimes like love, however this is highly unlikely since we couldn't bother to maintain two versions of the library, not to mention that many of the optimizations Potok depends on is not present in base lua.
Potok is intended to be a general case reactive library for all luau runtimes, and while this is reasonably easy to make sure it stands like that with it's core features, some difficulties rise when we deal with runtime-dependent features such as the asynchronous primitives we intend to add.
How could we solve this while maintaining our general-luau guarantee? We could perhaps introduce a scheduler that the uses can use to opt in to async programming, however the ergonomics of this are questiones.
We could entirely drop the support for async support, and then add it through a helper library, each one made for the popular runtimes.
Additionally, we could make Potok run on lua 5.1 which enables it to run on runtimes like love, however this is highly unlikely since we couldn't bother to maintain two versions of the library, not to mention that many of the optimizations Potok depends on is not present in base lua.