如果简单,那么只需几句话就可以完全解释。可以对λ微积分进行此操作: λ演算是具有归约规则的语法(基本上是结构)(这意味着对特定模式的每次出现都会重复应用搜索/替换过程,直到不存在这种模式为止)。 语法: Term = (Term Term) | (λ Var . Term) | Var 归约规则: ((λ var body) term) -> SUBS(body,var,term) where `SUBS` replaces all occurrences of `var` by `term` in `body`, avoiding name capture. 例子: (λ a . a) -> (λ a a) ((λ a . (λ b . …
我正在学习编程语言Haskell,并且试图围绕a type和a 之间的区别进行思考kind。 据我了解,a kind is a type of type。例如a ford is a type of car和a car is a kind of vehicle。 这是思考这个问题的好方法吗? 因为,我的大脑当前的连接方式是a ford is a **type** of car,但同时需要car is a **type** of vehiclea car is a **kind** of vehicle。即条款,type并且kind可以互换。 有人能对此有所启示吗?