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 <glynn.clements@virgin.net>