Rozważmy COMBINATOR: S (S K)
zastosować go do argumentów XY: S (S K) X Y
kurczy się: X Y
Przekonwertowałem S (SK) na odpowiednie warunki lambda i otrzymałem wynik: (\x y -> x y)
użyłem funkcji
teraz rozumiem podpis typu z s (s k): s (s k) :: ((t1 -> t2) -> t1) -> (t1 -> t2) -> t1
I mogę stworzyć przykłady, które działają bez błędów w narzędziu Haskell WinGHCi: przykładu: s (s k) (\g -> 2)
Miałem do czynienia z kominiarkami w JavaScript i byłem dumny z (miejmy nadzieję), że S zadziałało, gdy natknąłem się na Wikipedię, mówiąc: "Kombinator Y można wyrazić w SKI- rachunek jako: Y = S (K (