I've been learning about Platforms, and my understanding is the following:
an app has exactly 1 platform
platforms supply the APIs for performing side effects (i.e. file IO)
platforms also dictate the concurrency model
platforms are thought of more like "frameworks"
So given all that, I have a number of questions about portability of libraries and apps:
can a library depend on a Platform so it can build higher-level side-effecting abstractions?
since an app must choose a platform, won't this be a big problem for the community? I.e. a library might work with the cli platform but not the web platform. My fear is that useful libraries in roc won't be portable between platforms. Maybe the community will settle on one general purpose platform, but then that would defeat the purpose of pluggable platforms in the first place.
these are great questions! It's not the first time they've been asked, so I'm going to write up a draft of some FAQ entries and post it here to see if they answer them successfully! :smiley: