Skip to content

Commit

Permalink
Merge pull request #56 from bach741974/patch-14
Browse files Browse the repository at this point in the history
Update 16.txt
  • Loading branch information
anton-k committed Jun 30, 2013
2 parents 23a40ee + 0a7d04f commit 1d00480
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions pandoc/16.txt
Original file line number Diff line number Diff line change
Expand Up @@ -316,12 +316,12 @@ instance Num Nat where
про структурную рекурсию. Теперь мы не передаём отдельно
две функции, на которые мы будем заменять конструкторы.
Эти функции закодированы в типе с параметром.
Для того чтобы этот код заработал нам придётся добавить
ещё одно расширение `TypeSynonymInstances` наши
Для того, чтобы этот код заработал, нам придётся добавить
ещё два расширения `TypeSynonymInstances` `FlexibleInstances` - наши
рекурсивные типы являются синонимами, а не новыми типами.
В рамках стандарта Haskell мы можем определять экземпляры
только для новых типов, для того чтобы обойти это ограничение
мы добавим ещё одно расширение.
только для новых типов и для того, чтобы обойти это ограничение,
мы добавляем ещё два расширения.

~~~
*Fix> succ $ 1+2
Expand All @@ -332,7 +332,7 @@ instance Num Nat where
True
~~~

Определим функции на списках. Для начала определим
Определим функции на списках. Для начала зададим
две вспомогательные функции, которые извлекают голову и хвост списка:

~~~
Expand Down Expand Up @@ -362,7 +362,7 @@ takeL = curry $ unfold $ \(n, xs) ->
~~~

Сравните эти функции с теми, что мы определяли в главе
о структурной рекурсии. Проверим работают ли эти функции:
о структурной рекурсии. Проверим, работают ли эти функции:

~~~
*Fix> :r
Expand All @@ -375,7 +375,7 @@ Ok, modules loaded: Fix.
(Cons 11 (Cons 12 (Cons 13 (Cons 11 (Cons 12 (Cons 13 (Nil)))))))
~~~

Обратите внимание, на то что с большими буквами мы пишем
Обратите внимание на то, что с большими буквами мы пишем
`Cons` и `Nil`, когда хотим закодировать функции
для свёртки-развёртки, а с маленькой буквы пишем значения
рекурсивного типа. Надеюсь, что вы разобрались на примерах
Expand Down

0 comments on commit 1d00480

Please sign in to comment.