haskell中的构造器可以认为是个普通函数吗

Value constructor 就是函数,区别是他们被当作data,所以不用关心value constructor的λ实现。就好比数字1 2 3都是value constructor,也都是函数。pattern match的意义就是在lambda reduce的时候直接match value constructor,让value constructor成为语言的基本单位,从而隐藏了其可能非常复杂的λ定义。参见church numerals


    推荐阅读