[Haskell-cafe] Re: Debugging methods for haskell
Jon Fairbairn
jon.fairbairn at cl.cam.ac.uk
Sat Jul 18 04:57:49 EDT 2009
Henning Thielemann <lemming at henning-thielemann.de> writes:
> On Thu, 16 Jul 2009, Fernan Bolando wrote:
>
>> Hi all
>>
>> I recently used 2 hours of work looking for a bug that was causing
>>
>> Program error: Prelude.!!: index too large
>
> A good way to avoid such problems is to avoid partial
> functions at all. (!!) is also inefficient. Is it possible
> to define the function in terms of foldl?
I've looked at the code a bit more, and, with apologies to the original
poster, it doesn't look much like Haskell. For example, in
<http://plan9.bell-labs.com/sources/contrib/fernan/escomma/Circuit.hs>
there's stuff beginning with
tADM :: Int
tADM = 1
tVSRC :: Int
tVSRC = 2
tISRC :: Int
tISRC = 3
...
that I think probably should be
data Something = ADM | VSRC | ISRC ... deriving (Enum, ...)
though when I get to "(((fst z0)!!pMSET)!!pMTYPE) == mOP" I'm at a loss
to determine quite what the intention is. Maybe it should be an array
indexed by enum types, maybe a function, maybe something that can be
pattern matched on? I don't know.
--
Jón Fairbairn Jon.Fairbairn at cl.cam.ac.uk
More information about the Haskell-Cafe
mailing list