
On Fri, 2007-01-26 at 23:26 +0100, Mattias Bengtsson wrote:
On Fri, 2007-01-26 at 11:34 -0800, Chad Scherrer wrote:
This seems like a natural thing to have around, but it's not in GHC 6.6...
newTArrayIO :: (Enum i, Ix i) => (i, i) -> a -> IO (TArray i a) newTArrayIO (a,b) = liftM (TArray . listArray (a,b)) . sequence . zipWith ignore [a..b] . repeat . newTVarIO where ignore = flip const
I haven't done any testing with this beyond type checking, but it seems like it could be useful for similar cases to newTVarIO. Has anyone else played with anything similar?
Agree. I learned lots regarding technologies that seemed like pure magic before, like GADT's and fundeps etc. Definately a good read.
Hrrm. This was meant as a reply to Justin Bailey, sorry.