newbie conceptual question [from haskell list]

D. Tweed
Thu, 26 Jul 2001 16:47:32 +0100 (BST)

Aha, we head towards convergence :-)

On Thu, 26 Jul 2001, Frank Atanassow wrote:

> > I've never written a Haskell program using functional dependencies, or
> > existential classes, ...
> I find them indispensible, and I know for a fact that I am not the only one
> around our office who feels that way. Though, the people around here
> (Utrecht's software technology group) are not exactly typical programmers...
> :)

I'm sure that lots of people do, and maybe once I find time to get my head
around them I'll find them insdispensible too. I was just trying to argue
(and cheating a bit because they're not actually part of the language as
defined by the latest `written', as opposed to de-facto, standard) that
the fact that I don't use them doesn't seem to me to be a reason for me to
step back from the latest hugs ang ghc and use, say, the Haskell 1.3
language and the compilers/interpreters from that date which is much
closer to the `Haskell sub-language' that I write programs in. Yet you
seemed (as far as I could see) to be suggesting that if I wasn't going to
use everything available in C I ought to change to a simpler language
where I did use everything.

> I can believe this holds for your programs, but, uh... your clumps are not
> necessarily in the same place as other people's clumps.
> Please don't misinterpret that. :)


> > do I
> > face lots of problems and bugs due to all the weird and excessive `cruft'
> > in the C language? I still honestly believe that I don't: most of the
> > problems that I face would be exactly the same in a much simpler
> > imperative language. And I think they're fundamentally due to the
> > imperative assignment has a (simple to state and understand) semantics
> > which simpy cannot be used to reason effectively about programs.
> Hallelujah! I understand what you're saying now!
> You're saying that C is bad, not because of the cruft, but because of
> assignment. Correct?

Yes, I'm saying that defining `bad' to mean `causes problems and bugs in
the programs that I write' (clearly there could be other definitions
appropriate in other contexts) I thinks that's 99.9% due to assignment.

> OK, I understand. I used to share this view, and I agree except that I don't
> think assignment is bad, only unrestricted assignment on a global store.
> What convinced me is this paper, which you should read:

Thanks, I'll be very interested to read this.

___cheers,_dave________________________________________________________ |tweed's law:  however many computers
email:      |   you have, half your time is spent
work tel: (0117) 954-5250       |   waiting for compilations to finish.