Re: base package

2013-02-22 Thread Joachim Breitner
Hi, another status report about my base-splitting experiment: The list of packages has grown to * base-pure: Basic stuff without `IO`, `Foreign` or floating point arithmetic. * base-st: The `ST` monad, uses base-pure. * base-array: Arrays, uses base-st. * base-float: Floating point

Re: base package

2013-02-22 Thread Johan Tibell
Hi Joachim. Glad to see you're making progress on this. Once we're done exploring how fine-grained we can make the division we might want to pull back a bit and consider what logical groupings makes sense. For example, even if the float functionality can be split from the int functionality, I

Re: base package

2013-02-22 Thread Joachim Breitner
Hi, Am Freitag, den 22.02.2013, 11:38 -0800 schrieb Johan Tibell: In addition, I don't think we want to say that e.g. pure data structures can't depend on the FFI. While their current implementation might not use the FFI, what if we want to use it in the future. We'd have to reshuffle the

Re: base package

2013-02-22 Thread Johan Tibell
On Fri, Feb 22, 2013 at 3:34 PM, Joachim Breitner m...@joachim-breitner.dewrote: right, there is a tension between having just independent APIs and having also independent implementations. My main goal is to allow packages to specify their imports more precisely, to require less changes as

Re: base package

2013-02-22 Thread Ian Lynagh
On Fri, Feb 22, 2013 at 07:52:00PM +0100, Joachim Breitner wrote: Of course with too much splitting one runs in the Bane of the Orphaned Instances – neither should base-foreign require base-float nor the other way around, but Storable Double needs to be define somewhere... This is no

Re: base package

2013-02-22 Thread Ian Lynagh
On Fri, Feb 22, 2013 at 11:38:04AM -0800, Johan Tibell wrote: Glad to see you're making progress on this. Once we're done exploring how fine-grained we can make the division we might want to pull back a bit I definitely agree with Once we're done. Once we have made all the splits we might