我现在了解的类型签名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)有什么作用?你能给我大局观吗?fgs (s k)