我现在了解的类型签名s (s k)
:
s (s k) :: ((t1 -> t2) -> t1) -> (t1 -> t2) -> t1
我可以在 Haskell WinGHCi 工具中创建可以正常工作的示例:
示例:
s (s k) (\g -> 2) (\x -> 3)
返回2
。
示例:
s (s k) (\g -> g 3) successor
返回4
。
其中successor
定义为:
successor = (\x -> x + 1)
尽管如此,我仍然没有直观的感觉s (s k)
。
组合s (s k)
器采用任意两个函数f
和g
。和s (s k)
有什么作用?你能给我大局观吗?f
g
s (s k)