Why does Haskell force data constructor's first letter to be upper case?
问题 Give an ugly example: data Bighead = Big little = 1 f1 = little :: Int f2 = Big :: BigHead In my opinion: f1 and f2 all point to some data. the only different of ( little and Big ) is little has a piece of code to do evaluation. but Big doesn't. They all have a rewritable body, little can be transformed from a collection of data to a result, and Big is just don't do the last step --- it always holds this data forms (but recursively they can be evaluated). But in syntax form, they are almost