
Vincenzo Ciancia wrote:
2. by designing a weird interface in the IO monad, similar to the ones we find in traditional imperative languages, we will produce the core much faster; it will be minimal and open to other implementation; also, people will have more time to think to nice syntaxen and the state handling issues; so it's better not to do any mid-level stuff right now.
A related issue is that, ideally, the common API should start at as
low a level as possible, so that as much code as possible only needs
to be implemented once rather than separately for each back-end.
The inherent differences between the various back-ends will inevitably
provide a push towards a higher-level interface; it's up to the
designers to provide the opposing force.
--
Glynn Clements