程序维护中一个非常常见的操作是给一个类添加一个属性,在Java里面我们只需要直接加上去了就好了。比如,把Person { int Age; String Name} 变成 Person {int Age; String Name; boolean Sex}.
但是如果在Haskell里面就不那么简单了。首先我们需要把Person Int String改成Person Int String Bool,然后我们需要在所有对Person做了Pattern Matching的地方都进行修改。任何一个Person a b都要改成Person a b _。这个修改数量往往大的不可想像。