Walter Bright:

The problems I'm left with are:

1. incomplete understanding of the problem I'm trying to solve

2. changes in the design breaking the existing code's assumptions

I don't really know what to do about (1). But with (2), I'm thinking that a design that focuses better on encapsulation and compartmentalization should fare better, hence my interest in those features of D that facilitate this.

Haskell folks say that their strong types help clear up a bit the meaning of the parts of the problem ("if it compiles it's right" is one of their mottos); and they also say those strong types help avoid introducing some bugs caused by changes in the design, because they cause type errors. They generally suggest to move as many assumptions as possible into the types.

I have programmed in Haskell, but not enough yet to see those qualities a lot.

Bye,
bearophile

Reply via email to