
Denis
31.07.2017
18:02:24
Штальц монополист

Vadim
31.07.2017
18:04:18
Монополист в маленьком изолированном, малопопулярном, малоизвестном мирке
У предпринимателей обычно такая стратегия ведет к краху

Дмитрий
31.07.2017
18:06:33
Ну вот да

Google

Дмитрий
31.07.2017
18:06:57
NIH-синдром

Denis
31.07.2017
18:07:20
он даже свой semver придумал)

Дмитрий
31.07.2017
18:10:59
Посмотрел сейчас его перф тесты — не знаю, какие у него там результаты, но сами тесты хитро заточены под его либу

Vadim
31.07.2017
18:12:45
NIH-синдром
Не знал такого термина ) Я работал в одной конторе на госзаказах, которая для соблюдения принципов полного импортозамещения (так хотел госзаказчик) принципиально отказывалась использовать любые "не полностью российские" библиотеки. Так что под запретом было все, в том числе и опенсорс. В итоге все что хотелось бы использовать приходилось заменять на свои самопалы )
Потому и вопрос - зачем нужно было велосипедить, если к тому моменту вполне был шустрый форк - motorcycle.js


Дмитрий
31.07.2017
18:15:20
В своей либе он использует .mapTo(+1), а в других пробрасывает в map функцию () => 1, то есть по сути, генерируя каждый раз одну и ту же константу, вместо того, чтобы пробрасывать функцию a => a + 1
А так же, в тесте для most на каждой итерации заново создаётся массив, чего не случается в его либе, потому что туда он пробрасывает два аргумента отдельно
Короче мутно как-то ??

Vadim
31.07.2017
18:20:52
Они похоже убрали со своего сайта ссылки на реальные примеры использования cycle в продакшне )
Их помню и так было раз-два и обчелся. И все до ужаса простые

Denis
31.07.2017
18:21:46
http://cyclejs-community.github.io/built-with-cycle/

Vadim
31.07.2017
18:22:17
Сорри! Какое-то развитие есть-таки. Но все-равно почти все пет-проджекты какие-то

Google

Denis
31.07.2017
20:24:08
Если производная ADT это zipper, то что тогда будет интегралом для ADT?

Дмитрий
31.07.2017
21:23:06
Ты определил интеграл только для самого zipper, а для ADT его может вообще не существовать

Denis
31.07.2017
21:33:23
Чё это?

Дмитрий
31.07.2017
21:37:33
Чё это?
Потому что существование интеграла по умолчанию не гарантируется
Интеграл определён только для непрерывных функций

Artur
01.08.2017
07:47:07
Котаны, как организовать сервер в фп стиле? Я знаю как это сделать в ооп стиле, но вот как в фп - хз
Если ссылку на репо кто-то кинет - буду благодарен

Denis
01.08.2017
07:51:26
Что то от автора fluture было

kana
01.08.2017
09:11:18

? animufag ?
01.08.2017
13:11:39
хух
я родился
довольно понятно.
как санки сам вызываешь? в каком месте (любом?)

Дмитрий
01.08.2017
13:22:56
там обсерваблы сразу есть?
Я юзаю redux-most, а в most API без обсерваблов, только стримы, с сохранением функциональности.
Но вообще эпики === обсерваблы

? animufag ?
01.08.2017
13:25:17

Google

? animufag ?
01.08.2017
13:28:51

Дмитрий
01.08.2017
13:30:12
Про покрытие api что-то не понял) В most просто есть интероп с es6 proposal, ничего особого для этого не делали
Observable — это не то, чтобы сильно необходимая вещь. Все их функции в most выражаются через сами стримы
Просто это намеренный уход от ООП-идей rx

? animufag ?
01.08.2017
13:37:20
ну тип rx говорит вам вся rx-шелупонь и делайте обсерваблы как хотите. ну наверное сейчас уже развиты rx-биндинг либы
в most сразу биндинги к дому и прочему заявляются
крч я так смотрю
fromEvent(...) // тут то что в rx называется обсервабл а в мост стрим
.map().filter.flatmap()
примерно так оно живёт
где уход от ооп?

andretshurotshka?❄️кде
01.08.2017
13:55:20
Monoid, Functor, Applicative, and Monad.

? animufag ?
01.08.2017
14:04:47
аа
ок теперь фп
интересно что там является моноидальным empty
from([])? где сразу вызывается комплит

andretshurotshka?❄️кде
01.08.2017
14:09:44

? animufag ?
01.08.2017
14:12:41
from()?

andretshurotshka?❄️кде
01.08.2017
14:14:11
?
ошибка)

? animufag ?
01.08.2017
14:15:07
эх

andretshurotshka?❄️кде
01.08.2017
14:15:09
ну юзай empty

Google

? animufag ?
01.08.2017
14:17:37

Denis
01.08.2017
14:20:05
Бля, что мост что ерикс все это ООП и императивщина
Почитайте про темпоральную логику (frp) это справедливо только при наличии возможности вывода сложных типов

andretshurotshka?❄️кде
01.08.2017
14:23:04
так тут не фрп
а просто монада )

Admin
ERROR: S client not available

Denis
01.08.2017
14:27:50
Я когда то кидал прикольный пдф про все эти виды реактивщины и фрпещины

? animufag ?
01.08.2017
14:28:32

Denis
01.08.2017
14:29:36

andretshurotshka?❄️кде
01.08.2017
14:47:36
?

Denis
01.08.2017
14:48:46
Ну и вот
ftp://progftp.vub.ac.be/tech_report/2012/vub-soft-tr-12-13.pdf

Vadim
01.08.2017
22:15:16
Есть ли какие-то примеры вычислений с использованием комбинаторов в javacript? Хочу понять преимущества комбинаторного программирования
Я вот о чем. Можно ли рассматривать эту библиотеку такой же набор утилитных методов что и рамда? https://github.com/fantasyland/fantasy-birds
Или у комбинаторов есть какое-то особое назначение?

Дмитрий
01.08.2017
22:38:46
Как минимум, они вне контекста типичной разработки на жс, и редко когда вообще используются кроме сценариев типа "смотрите, W(W(W(W(W(W(W(W)))))))))))))))))))))))))))))) ето комонада на комбинаторах"

Vadim
01.08.2017
22:41:19
В чем преимущества использования комбинаторов по сравнению с использованием методов рамды?
Когда полезно их использовать?

Дмитрий
01.08.2017
22:42:15
Когда у тебя все функции по умолчанию каррированные, как минимум)

Vadim
01.08.2017
22:42:39
Ну если я пишу на рамде, то там примерно так и есть

Google

Vadim
01.08.2017
22:43:45
И зачем может появиться необходимость использовать комбинаторы? В каких случаях они в js могут упростить жизнь?

Дмитрий
01.08.2017
22:44:44
Как правило я вспоминал про них, когда занимался уже чем-нибудь абсолютно невменяемым just for lulz

Vadim
01.08.2017
22:45:31
В применимых к реальности задачах примеров их пользы особо не наблюдается? )

Дмитрий
01.08.2017
22:45:32
Не учитывая конечно комбинаторы, перечисленные в fantasy-combinators
Вообще, к сожалению, никакую из тех крутых штук, которые представленны в репах организации FL юзать нельзя
Потому что это всё делал один чувак и на js он больше не пишет, а без него там -maybes в -options по восемь месяцев переименовывают

Vadim
01.08.2017
22:50:05
И самое печальное, судя по числу звездочек, что и запроса у общества на эти технологии особо не видно. А значит велика вероятность им загнуться

Дмитрий
01.08.2017
22:51:53
Запрос есть, у них с популяризацией проблемы, а уж автору этих либ вообще всё до лампочки
К счастью эти либы достаточно простые
Напоминают кстати скомпилированный код пурскрипта, лол)

Vadim
01.08.2017
22:55:05
Я правильно понимаю, что все методы рамда можно рассматривать как комбинаторы?
Например: bluebird :: (b -> c) -> (a -> b) -> a -> c
Это же рамдовский "o"?
И значит fantasy-birds можно вполне использовать как просто набор утилитных методов? Как и рамда?

? animufag ?
01.08.2017
23:05:23
Это же просто применение функций
Просто разные перестановки compose