
Дмитрий
24.05.2017
07:46:04
Это просто делается слегка иными способами
Емнип

Kirill
24.05.2017
07:47:28
Кто-нибудь использует в js/ts продакшене функтор Maybe?
Если да, то из какой библиотеки или свой?
Есть профиты или обычные проверки на null/undefined надёжнее и более гибкие?

Google

Дмитрий
24.05.2017
07:48:27
Есть, как говорится два стула
Авторские либы с нулём звёзд, но формально более корректные, и имплементации в популярных либах, не идеальные
Я только недавно разные варианты перебирал, пока что остановился на реализации из folktale
Проверки ты сам можешь делать любые, профит главным образом в снижении вербозности кода, бизнес-логика/алгоритмы не прерываются проверками на falsy

Denis
24.05.2017
07:53:01

Дмитрий
24.05.2017
07:55:02
Сложного — ничего, интероп нужен и производительность

Kirill
24.05.2017
07:55:14
А есть реальный пример из жизни, вырезка из проекта, где можно посмотреть как он правильно применяется?

Denis
24.05.2017
07:55:38
ну я бы лучше юзал Either.try
https://github.com/xgrommx/practical-functional-programming/blob/master/either/index.js#L77-L83

andretshurotshka?❄️кде
24.05.2017
10:32:34
Кто там выбирал между хаскеллом и кложей?
https://twitter.com/lexi_lambda/status/866874490587721728
Правда это ракет, а не кложа)

Дмитрий
24.05.2017
10:34:24

Google

? animufag ?
24.05.2017
11:57:37
https://twitter.com/lexi_lambda/status/866874490587721728
там она дальше пишет, что всё работает кое как и тут самые удачные примеры приведены. ну так неплохой пруф оф концепт
а если бы это была готовая либа, то в первую очередь хотелось бы посмотреть сможет ли он адекватно написать сообщение "no instance for...". ну и там вывод типа по возвращаемому значению

Yumi
24.05.2017
12:44:13
Ракет, это что такое вообще? Чем мотивирован?

? animufag ?
24.05.2017
12:55:35
лисп, наверное создавался в образовательных целях.
вроде помимо макросов там есть возможность создавать языки без скобок. вроде ближе к схеме чем к комон лиспу.
ещё мне его рекомендовали чтобы сборщики мусора посмотреть (посравнивать разные модели). там вроде какие то бумаги публиковались. разумеется не смотрел

aodzaki.toko
25.05.2017
08:51:37
Вброс https://swizec.com/blog/immutable-data/swizec/7613?utm_source=dlvr.it&utm_medium=twitter

pepsi ¯\_(ツ)_/¯
25.05.2017
09:01:38

aodzaki.toko
25.05.2017
09:12:30
каналья

pepsi ¯\_(ツ)_/¯
25.05.2017
09:29:51
а по сути: у него только заголовок кричащий, ясен пень, что без сайд эффектов текст не вывести, картинку не показать, одни абстрактные структуры в иммутабельном мире

da horsie
28.05.2017
06:56:22
Баньте спамера

andretshurotshka?❄️кде
28.05.2017
06:57:10
Да уже

Kirill
29.05.2017
13:04:34
Кто-нибудь юзает подобное или это жестковато?
https://github.com/jfmengels/eslint-plugin-fp
https://github.com/jfmengels/eslint-plugin-lodash-fp
no-class - Forbid the use of class.
Так вообще можно в современном мире?

Aleh
29.05.2017
13:06:03
no-class и no-js вместе надо

Evgeny
29.05.2017
13:09:48
есть ещё https://github.com/bodil/eslint-config-cleanjs
Некоторые даже используют https://github.com/search?l=JSON&q=eslint-config-cleanjs&type=Code&utf8=%E2%9C%93

Дмитрий
29.05.2017
13:22:12
Один из удобных способов описывать алгебраические типы — через классы

Paul
29.05.2017
13:51:29
каждый класс-наследник — вариант в алгтд, аля скалы стайл?

? animufag ?
29.05.2017
13:56:04

Google

Дмитрий
29.05.2017
14:02:36

? animufag ?
29.05.2017
14:20:32
поясни

Yumi
29.05.2017
14:26:03

Дмитрий
29.05.2017
15:12:39
поясни
Для того, чтобы описать свойства типа, нужно задать ему свойства в прототип. Варианты через ObjectName.prototype.method и через Object.assign отпадают, потому что хотелось бы чтобы ещё и типизировалось всё норм
Классы правда не меньше бесят, потому что их нельзя сделать callable изначально, но деваться некуда

? animufag ?
29.05.2017
15:19:33
ну я тебя совсем не понимаю. давай хотя бы проверю правильно ли я уловил тред.
»»> Один из удобных способов описывать алгебраические типы — через классы
»» каждый класс-наследник — вариант в алгтд, аля скалы стайл?
»> Я ничего не говорил про наследников
» поясни
> Для того, чтобы описать свойства типа, нужно задать ему свойства в прототип.

Дмитрий
29.05.2017
15:56:05
Я свои слова пояснил)

andretshurotshka?❄️кде
29.05.2017
16:05:49
так он про sum types походу

? animufag ?
29.05.2017
16:09:13
других вариантов темы для адт и не знаю. произведение и так везде работает.

Yumi
29.05.2017
16:10:37
Слово наследник неоднозначное в жс, кмк.
extends разве что

Paul
29.05.2017
16:23:25

Paul
29.05.2017
16:24:03

Дмитрий
29.05.2017
16:27:47
Не благодари
Правда это всё равно всё тлен
вопросов много реальных ответов только три — классы, прототипы, Object.assign нужное подчеркни

Evgeny
29.05.2017
16:33:42
Ну так она крутан из мира фп.
У неё ж, кстати, подгорает от того, что она столько всяких классных фп-штук сделала, а ей некоторые в главные заслуги этот конфиг записывают. Вон, в твиттере даже "Celebrated author of eslint-config-cleanjs"

Yumi
29.05.2017
17:52:14
Ну просто мало людей могут оценить либы для пурсы. ?

Denis
30.05.2017
07:31:27
для adt в js daggy и union-type

Google

Artur
30.05.2017
13:34:16
товарищи
такой вопрос
на фронте есть смысл использовать фп вместо ооп подхода?

Сергей
30.05.2017
13:34:45
да

Artur
30.05.2017
13:35:12
и это не будет зашкваром?

Admin
ERROR: S client not available

Nikita
30.05.2017
13:36:10
совсем наоборот

? animufag ?
30.05.2017
13:36:44
это тренд
конечно тебе придётся отказаться от своих прежних друзей
считай это как вейп
новые друзья не будут называть тебя зашквареным

Artur
30.05.2017
13:38:23
?
так это всего лишь тренд
а я-то думал что это чёткий подход к погромированию фронта

code4aman
30.05.2017
13:39:14
> новые друзья
? у них все четко будет, не бойся
базовые вещи - имхо - надо

Aleh
30.05.2017
13:41:23
если есть желание, то лучше в фп закопаться поглубже, желательно с хаскелем, а не с js
это много какие скилы помогает прокачать, для себя я выделяю декомпозицию наверное больше остальных

Kirill
30.05.2017
13:47:05
Вот такое смотрел кто?
https://thepiratebay.org/torrent/11542981/Frontend_Masters_-_Hardcore_Functional_Programming_in_JavaScript

Google

andretshurotshka?❄️кде
30.05.2017
13:48:54
да зачем в жс

Дмитрий
30.05.2017
13:49:16

Kirill
30.05.2017
13:50:00
https://www.pluralsight.com/courses/hardcore-functional-programming-javascript
Этот вроде.

Nikita
30.05.2017
13:54:02
https://github.com/MostlyAdequate/mostly-adequate-guide

code4aman
30.05.2017
14:28:50
Оказца dr у него значит drive

Yumi
30.05.2017
16:10:05
Кто-то тут советовал книгу Антона по Хаскеллю, это просто огонь.
Намного понятнее, чем внезапно learnyouahaskell.

Nikita
30.05.2017
16:30:11
что за книга?

Yumi
30.05.2017
16:43:54
"Антон Haskell" в гугле вбей, первый линк.

Nikita
30.05.2017
16:56:18
ишь

Mikhail
30.05.2017
17:07:46
Мне haskellbook.com очень хорошо зашла
Дороговата, правда

Denis
30.05.2017
18:12:25
норм книга Алехандро Серано Мена https://www.ozon.ru/context/detail/id/30425643/