[vector] #46: Signature of backpermute is unnessesary restrictive

vector vector at projects.haskell.org
Sun Oct 24 18:06:01 EDT 2010


#46: Signature of backpermute is unnessesary restrictive
----------------------+-----------------------------------------------------
Reporter:  Khudyakov  |        Owner:     
    Type:  defect     |       Status:  new
Priority:  major      |    Milestone:     
 Version:             |   Resolution:     
Keywords:             |  
----------------------+-----------------------------------------------------
Comment (by Khudyakov):

 Well this one is nice too. And it's not possible to became more generic.
 {{{
 backpermute :: (Vector v a, Vector v'' a, Vector v' Int) => v a -> v' Int
 -> v'' a
 }}}

 There is another concert. Function above doesn't fix return type so
 additional type annotation may become nessesary. Maybe it should be named
 backpermuteGen or something along this lines and old function should
 retain old signature

 With specialized modules it's easy. They are specialized then export
 specialized signatures like
 {{{
 backpermute :: Vector a -> Vector Int -> Vector a
 }}}
 If they are too restrictive you have to import from D.V.Generic. It's not
 too paintful I think.

-- 
Ticket URL: <http://trac.haskell.org/vector/ticket/46#comment:2>
vector <http://trac.haskell.org/vector>
Package vector


More information about the vector mailing list