то же самое верно в отношении сепулек
Apr. 14th, 2013 05:19 pmСовет про то, как понять монады, из презентации What I Wish I Knew When Learning Haskell:
В принципе, это хороший совет, но не для всех (как обычно). Почему автор решил, что то, что кажется правильным ему, подойдет всем изучающим Хаскель - остается неясным. То есть непонятно, это опирается на какую-то нетривиальную рефлексию, опыт обучения итд., или это наивное обобщение от себя любимого. Мне-то лично как раз этот совет по душе, но я не хочу наивно обобщать.
Eightfold Path to Monad SatoriМне особенно нравится, как последний пункт замыкает круг, начатый первым.
- Don't read the monad tutorials.
- No really, don't read the monad tutorials.
- Learn about Haskell types.
- Learn what a typeclass is.
- Read the Typeclassopedia.
- Read the monad definitions.
- Use monads in real code.
- Don't write monad-analogy tutorials.
В принципе, это хороший совет, но не для всех (как обычно). Почему автор решил, что то, что кажется правильным ему, подойдет всем изучающим Хаскель - остается неясным. То есть непонятно, это опирается на какую-то нетривиальную рефлексию, опыт обучения итд., или это наивное обобщение от себя любимого. Мне-то лично как раз этот совет по душе, но я не хочу наивно обобщать.
no subject
Date: 2013-04-14 03:09 pm (UTC)no subject
Date: 2013-04-14 03:52 pm (UTC)no subject
Date: 2013-04-14 04:35 pm (UTC)no subject
Date: 2013-04-15 05:39 am (UTC)no subject
Date: 2013-04-14 03:16 pm (UTC)no subject
Date: 2013-04-14 04:34 pm (UTC)Но нельзя же не обобщать.
no subject
Date: 2013-04-14 08:27 pm (UTC)no subject
Date: 2013-04-14 09:04 pm (UTC)no subject
Date: 2013-04-15 04:07 am (UTC)no subject
Date: 2013-04-15 07:49 am (UTC)no subject
Date: 2013-04-14 08:28 pm (UTC)no subject
Date: 2013-04-14 08:30 pm (UTC)no subject
Date: 2013-04-14 09:03 pm (UTC)Я сам какое-то время перся с монад и даже засовывал их в SML-ный код, хотя в SML нет классов, так что приходилось описывать монадные операции для каждого типа отдельно и, что самое неудобное, именовать по-разному. Задним числом я осознаю, что тогда мне по сути нужны были комбинаторы (и функциональное программирование приучает к такому стилю), чтобы оперировать объектами, не заглядывая в их потроха без необходимости. Где-то для этого, действительно, удобны именно монадные операции, где-то другие комбинаторы.
Сейчас я достаточно хорошо знаю Хаскель, чтобы утверждать, что класс Monad — обычная рабочая лошадка наравне с другими.
no subject
Date: 2013-04-14 08:54 pm (UTC)no subject
Date: 2013-04-14 10:14 pm (UTC)no subject
Date: 2013-04-15 07:06 am (UTC)no subject
Date: 2013-04-15 07:41 am (UTC)