(no title)
grayrest | 1 year ago
In the case of Roc this is determined by the platform and the platform corresponds to the framework level. A webserver platform is going to have a different set of execution choices than a cli platform or a platform for defining user functions in a db. So I wouldn't expect every application developer to make a platform but it's not going to be a compiler/stdlib only sort of thing.
As for the fractured IO, I'm pretty sure that every single person who has dealt with any functional language is aware of the propensity towards fractured IO ecosystems. The exact details of sharing code across different platforms in a useful way is somewhat hand waved at the moment in that there's a rough, unimplemented plan. I kind of expect that there's going to be some piggybacking on the WASM interface definitions but there are a couple changes around Tasks and the module system that are in the pipeline before that'd come up.
Note: I'm mostly an interested bystander
rtfeldman|1 year ago
https://docs.google.com/document/d/110MwQi7Dpo1Y69ECFXyyvDWz...
As you noted, a few other changes to tasks and modules need to land before we can ship that. There are currently PRs in progress to implement those changes, e.g. https://github.com/roc-lang/roc/pull/6658 and https://github.com/roc-lang/roc/pull/6683