﻿__group__	ticket	summary	component	version	milestone	type	owner	status	created	_changetime	_description	_reporter
Active Tickets	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
Active Tickets	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
Active Tickets	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
Active Tickets	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
Active Tickets	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
Active Tickets	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
Active Tickets	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
Active Tickets	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
