mostly-adequate-guide-ru icon indicating copy to clipboard operation
mostly-adequate-guide-ru copied to clipboard

Примеры реальных проектов

Open phwb opened this issue 4 years ago • 5 comments

Привет! Во первых, спасибо за труды по переводу книги, вы проделали колоссальную работу.

Хочу полученные знания потихоньку начать применять в реальных проектах. С самим ФП проблем нет, но вот как только пытаюсь применять монады (остановился на folktale), то тут начинаются проблемы.

Хотел спросить, нет ли реальных примеров именно с использованием монад, особенно таких как IO. Буду очень благодарен за ссылки.

phwb avatar Jun 02 '20 11:06 phwb

В мире вокруг меня говорят "JS", а подразумевают "TS" (реже Flow). Без TS ничего в проект не заедет.

Для этого используется библиотека FP-TS, с ней вместе IO-TS, и к ним есть дополнительные плюшки для Observable и прочих популярных дел. Эту библиотеку я использовал на работе, а некоторые компании даже указывают её в вакансиях.

Folktale я не использовал на практике ни разу.

Для композиции отложенных вычислений без TS я бы использовал Sanctuary.js + Fluture.

Ramda не стал бы использовать сейчас почти ни для чего, потому что самый интересный меинтейнер ушёл оттуда и сделал Sanctuary, которая, на мой вкус, корректнее (но позволяет меньше вольностей).

vladimirlogachev avatar Jun 02 '20 14:06 vladimirlogachev

а может есть открытые репы, чтобы было на что ориентироваться?

phwb avatar Jun 03 '20 08:06 phwb

У меня открытых нет. Автор fp-ts помимо документации библиотеки (которая никому не помогает научиться) пишет короткие статьи на dev.to, а также ссылается на чужие статьи. Раздел называется Learning resources, там есть и простые примеры с IO.

vladimirlogachev avatar Jun 03 '20 13:06 vladimirlogachev

К слову, я уже полтора месяца провожу еженедельные онлайн-мероприятия по JS/TS, цель которых - пройти по темам разных книг про ФП в JS, затем осилить что-нибудь крепкое про TS, а затем как следует разобраться с библиотекой FP-TS. Если тебя заинтересует - регистрируйся, читай, подключайся. Помимо JS, я обычно демонстрирую аналогичный код на Haskell и Elm, потому что иногда именно так становится понятнее.

vladimirlogachev avatar Jun 03 '20 15:06 vladimirlogachev

пасиб, с радостью присоединился

phwb avatar Jun 03 '20 16:06 phwb