[Haskell-cafe] Re: how do you debug programs?
lennart at augustsson.net
Wed Sep 6 06:33:32 EDT 2006
I've also used Visual Studio, and I wouldn't mind having something
like that for Haskell. But I have to agree with Jon, I think the
best way of debugging is to understand your code. I think people who
come from imperative programming come with a mind set that you
understand your code by stepping through it in the debugger. But I
find this paradigm much less useful for functional code.
On Sep 6, 2006, at 06:22 , Neil Mitchell wrote:
>> But why should c and d exist at runtime? They're only used
>> once each, so the compiler is free to replace f with
>> \a b -> (a+b)+ a*b
> Yes, and if the compiler is this clever, it should also be free to
> replace them back at debug time.
>> I've said this before, but I think it's worth repeating: in
>> most cases, if you need to debug your programme it's because
>> it's too complicated for you to understand, so the correct
>> thing to do is to simplify it and try again.
> That makes it impossible to ever improve - initially all programs are
> beyond you, and only by pushing the boundary do you get anywhere. As
> for me, I always write programs I can't understand, and that no one
> else can. Perhaps I understood it when I originally wrote it, perhaps
> not, but that was maybe over a year ago.
> It's been my experience that debugging is a serious weakness of
> Haskell - where even the poor mans printf debugging changes the
> semantics! And everyone comes up with arguments why there is no need
> to debug a functional language - that sounds more like excuses about
> why we can't build a good lazy debugger :)
> [Sorry for the slight rant, but I've used Visual Studio C++ so I know
> what a good debugger looks like, and how indispensable they are]
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
More information about the Haskell-Cafe