мета-данные страницы
  •  
Загрузка не удалась. Возможно, проблемы с правами доступа?

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версияСледующая версия справа и слева
haskell [17/07/2018 16:20] – [Урок 5. Типы данных, определяемые пользователем] vlasovhaskell [17/07/2018 16:58] – [7.1 Монада Maybe] vlasov
Строка 1717: Строка 1717:
 </code>  </code> 
  
-Здесь как раз видно, что обычные комбинаторы функции ''$'' и ''.'' имеют соответствующие аналоги для монадических функций: ''<nowiki>>>=</nowiki>'' и ''<nowiki>>=></nowiki>'', но в обратном порядке, как для PipeLine в Unix; если необходим привычный порядок комбинаторов, как в композициях функций, то можно использовать ''<nowiki>=<<</nowiki>'', ''<nowiki><=<</nowiki>''. Правда, если комбинатор ''<nowiki>>>=</nowiki>'' доступен сразу в модуле Prelude, то комбинаторы ''<nowiki>>=></nowiki>'', ''<nowiki><=<</nowiki>'', ''<nowiki>=<<</nowiki>'' доступны либо при подключении модуля ''Control.Monad'', либо требуют простых определений самостоятельно, напр.:+Здесь как раз видно, что обычные комбинаторы функции ''$'' и ''.'' имеют соответствующие аналоги для монадических функций: ''<nowiki>>>=</nowiki>'' и ''<nowiki>>=></nowiki>'', но в обратном порядке, как для PipeLine в Unix; если необходим привычный порядок комбинаторов, как в композициях функций, то можно использовать ''<nowiki>=<<</nowiki>'', ''<nowiki><=<</nowiki>''. Правда, если комбинатор ''<nowiki>>>=</nowiki>'' доступен сразу в модуле ''Prelude'', то комбинаторы ''<nowiki>>=></nowiki>'', ''<nowiki><=<</nowiki>'', ''<nowiki>=<<</nowiki>'' доступны либо при подключении модуля ''Control.Monad'', либо требуют простых определений самостоятельно, напр.:
 <code haskell> <code haskell>
 f >=> g = \x -> (f x >>= g) f >=> g = \x -> (f x >>= g)