ticket,summary,component,version,milestone,type,owner,status,created,_changetime,_description,_reporter
36,"equals{S,P} functions are missing INILNE pragamas",repa,3.2.2,,defect,,new,2012-04-24T01:28:17Z,2015-05-19T12:53:51Z,like it says,Ben Lippmeier
13,Optimise Repa.fromByteString to avoid bounds checks in ByteString,repa,3.2.2,,enhancement,,new,2010-04-30T04:37:56Z,2015-05-19T12:54:19Z,Should be able to use an intermediate CString for this.,Ben Lippmeier
37,Swap order of parameters to 'extend' so it matches 'slice'.,repa,3.2.2,,defect,,new,2012-10-16T01:46:09Z,2015-05-19T12:54:06Z,The example expression also has the parameters in the wrong order.,Ben Lippmeier
39,Missing bounds checks.,repa,3.2.2,,defect,,new,2013-09-06T02:05:46Z,2015-05-19T12:54:00Z,"{{{
> let arr = fromListUnboxed (Z :. 3 :. 5) [1..15] :: Array U DIM2 Int
> arr ! (Z:.2:.4 :: DIM2)
15
> reshape (Z:.15) arr ! (Z:.14 :: DIM1)
15
> reshape (Z:.15) arr ! (Z:.15 :: DIM1)
1076040336
> reshape (Z:.15) arr ! (Z:.(-15) :: DIM1)
140454916268033
> (fromListUnboxed (Z :. 10) [1..10] :: Array U DIM1 Int) ! (Z:.10 :: DIM1)
*** Exception: ./Data/Vector/Generic.hs:244 ((!)): index out of bounds (10,10)
}}}",Ben Lippmeier
40,Don't demand the whole list with fromList,repa,3.2.2,,defect,,new,2013-12-14T03:56:32Z,2015-05-19T12:54:12Z,"
If the client tries something like:
{{{fromListUnboxed (Z:.s:.s) [0.0,0.0..]}}}
then the code will stall when trying to determine the length of the list.
",Ben Lippmeier
38,Make unsafeWriteMVec for boxed arrays strict,repa,3.2.2,,enhancement,,new,2013-04-23T02:25:08Z,2015-05-19T12:54:38Z,"
See the following SO question:
http://stackoverflow.com/questions/16097418/parallel-repa-code-doesnt-create-sparks/
We can force an (Array V) to be evaluated by mapping a deepseq function across every element, but this is non-intuitive. It would be better to just make the write function strict and ensure all elements in such an array are properly evaluated. ",Ben Lippmeier
41,Generalise foldS worker to have a different accumulator type,repa,3.2.2,,enhancement,,new,2014-02-11T11:20:53Z,2015-05-19T12:54:25Z,"With
{{{
foldS :: (Elt a, V.Unbox a)
=> M.IOVector a -- ^ vector to write elements into
-> (Int# -> a) -- ^ function to get an element from the given index
-> (a -> a -> a) -- ^ binary associative combination function
-> a -- ^ starting value (typically an identity)
-> Int# -- ^ inner dimension (length to fold over)
-> IO ()
}}}
the worker could really have type (a -> b -> b) in the sequential case.",Ben Lippmeier
43,Avoid intermediate lists when packing Ints and Strings,repa-convert,4.2.0,,enhancement,,new,2015-05-19T12:50:16Z,2015-05-19T13:02:44Z,"The packer for Ints uses plain Haskell show, and the intermediate list of Chars won't be fused away.",Ben Lippmeier