全部
我试图理解 SF-LF 书 chp4 中提到的教堂数字。
Definition cnat := forall X : Type, (X -> X) -> X -> X.
Definition one : cnat :=
fun (X : Type) (f : X -> X) (x : X) => f x.
Check cnat.
Check one.
我得到
cnat
: Type
one
: cnat
似乎 cnat 是某种类型,并且同时起作用。怎么可能兼具类型和功能?任何人都可以帮助解释一下吗?