теперь я понимаю, тип подписи s (s k)
:Что это комбинатор сделать: s (ск)
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)
не нравится?
Отсутствует защита на 'S (S K)'. Является ли это одним и тем же '' и 'k' в http://stackoverflow.com/questions/9592191/the-type-signature-of-a-combinator-does-not-match-the-type-signature-of- его-equi? –
Btw, что интуитивно? Вы нашли http://en.wikipedia.org/wiki/Ouroboros интуитивно понятным? Можете ли вы представить себе, что змея ест себя и исчезает? Или робот, который строит себя от себя? Вам нужно лучше понять что-то, действующее на себя. –