I wrote:
   In article <[EMAIL PROTECTED]>
   [EMAIL PROTECTED] writes:
      Isn't the type signature you give incorrect? The parammeters
      m and n must have type a (where (a,a) is the index types of
      the arrays).                
   
   I think your right, but as I can't seem to get to grips with the
   numeric hierarchy (anybody have a more detailed explanation of it?) I
   write with no signatures and see what the compiler produces.  In this
   case Hbc 9.998.1 produced the signature I gave (Actually it has
   Integer instead of Int, but it was pointed out to me that Int is
   sufficient for indexing arrays)

Well I got it wrong :-<  It seems inbetween the .hi file and my mail
buffer I managed to mangle the signature.  Hbc _correctly_ derives the
type as :-

  lu_decomp
    :: (Ix a, Num a, Fractional b, Enum a)
    => (Array (a, a) b) -> a -> a -> Array (a, a) b

which I attempted to restrict to :-

  lu_decomp
    :: (Fractional b)
    => (Array (Int, Int) b) -> Int -> Int -> Array (Int, Int) b
                               ^^^    ^^^
but mangaged to leave these in their original form (i.e. "a").  You'd
think I'd know by now not to post untested code wouldn't you :-<

sorry if I caused any confusion,

bevan

Reply via email to