@frp_ru

Страница 136 из 420
Sergey
23.08.2017
17:55:59
А мне?(

Дима, не хочешь сделать курс по фп? Или статейку написать)

Дмитрий
23.08.2017
17:57:15
Не уверен, что мне есть пока что рассказать в целой статье)

Sergey
23.08.2017
17:57:16
А то в инете правда инфы мало

Google
Дмитрий
23.08.2017
17:57:25
http://www.tomharding.me/

andretshurotshka?❄️кде
23.08.2017
18:03:07
http://www.tomharding.me/
блин я подписан на него в гитхабе, а статьи не видел)

или видел ?

Sergey
23.08.2017
18:03:29
Не уверен, что мне есть пока что рассказать в целой статье)
Ну, ты ж все равно людям объясняешь что-то из фп, вот чтоб каждый раз одно и то же не объяснять, просто законсервировал в статье, можно на медиуме

Дмитрий
23.08.2017
18:03:37
Sergey
23.08.2017
18:04:07
*законспектировал

Т9

Таймураз
23.08.2017
18:05:43
Фак я тоже хочу упороться по фп, но когда рассказываю о нем на работе, на меня смотрят как на дауна

Дмитрий
23.08.2017
18:07:05
Людьми редко когда движет чистый интерес, им нужны решения проблем

Короче просто рассказывать не употребляя фп терминов вообще)

Sergey
23.08.2017
18:08:16
Людьми редко когда движет чистый интерес, им нужны решения проблем
Бессмысленно решать свои проблемы методами фп, не понимая ее концепции

Таймураз
23.08.2017
18:08:57
Людьми редко когда движет чистый интерес, им нужны решения проблем
Вот Я не смог доходчиво объяснить, в чем вся прелесть фп

Sergey
23.08.2017
18:09:00
А просто функции в функции заворачивать, и так много раз, вроде все умеют

Google
Дмитрий
23.08.2017
18:09:29
Незнание того что Array в js — это функтор с точки зрения FL не мешает пользоваться фичами of и map

illiatshurotshka❄️
23.08.2017
18:18:33
как расшифровывается FL?

Sergey
23.08.2017
18:19:41
Denis
23.08.2017
18:20:07
?‍♂
а зачем полумерами (четвертьмерами) отделываться?

Дмитрий
23.08.2017
18:21:59
в каком это оно месте функтор?
Во всех. И даже Pointed Я не зря отдельно уточнил что это с точки зрения FL

Functor u.map(a => a) is equivalent to u (identity) u.map(x => f(g(x))) is equivalent to u.map(g).map(f) (composition)

Таймураз
23.08.2017
18:22:17
Чем?)
Переведу- хаскел- основа ФП. Знаешь и умеешь в хаскел- умеешь в фп

illiatshurotshka❄️
23.08.2017
18:22:26
ответьте плс

Denis
23.08.2017
18:22:35
ахуенный функтор arr.map((x, i, o) => ...)

Дмитрий
23.08.2017
18:22:37
ахуенный функтор arr.map((x, i, o) => ...)
Дополнительные аргументы не могут быть основанием для несоответствия интерфейсу

illiatshurotshka❄️
23.08.2017
18:23:54
аааа это fantasy land

Sergey
23.08.2017
18:23:56
Переведу- хаскел- основа ФП. Знаешь и умеешь в хаскел- умеешь в фп
Да, тогда следовательно для изучения хаскеля, мне нужно выучить фп, а только потом кодить нахаскеле

illiatshurotshka❄️
23.08.2017
18:24:34
лямбда исчисление - основа фп

Denis
23.08.2017
18:25:32
логика - основа ФП

Дмитрий
23.08.2017
18:26:04
Так же и Array и String на пару имплементят Semigroup, например

Google
Sergey
23.08.2017
18:26:36
Да, тогда следовательно для изучения хаскеля, мне нужно выучить фп, а только потом кодить нахаскеле
А если я пойму фп, то и хаскель не нужен будет, смогу на жс это реализовывать

Дмитрий
23.08.2017
18:27:05
Реализовывать сможешь

Дмитрий
23.08.2017
18:27:30
К сожалению, хотелось бы больше пользоваться и меньше — реализовывать)

illiatshurotshka❄️
23.08.2017
18:27:47
на жс невозможно реализовать многие функциональные конструкции

Дмитрий
23.08.2017
18:28:30
Не то чтобы невозможно, просто бодаться тебе с этим придётся самому

В процессе зато можно скипнуться на purescript

Таймураз
23.08.2017
18:30:19
чет не понял логики
Не могу объяснить нормальным русским:) Не сегодня, по крайней мере

illiatshurotshka❄️
23.08.2017
18:33:34
Sergey
23.08.2017
18:33:39
Дмитрий
23.08.2017
18:36:59
Меня в качестве цели вполне устраивает purescript

Sergey
23.08.2017
18:37:07
Неа
Будешь мучаться с фп на жс?

Дмитрий
23.08.2017
18:37:19
По крайней мере я могу извлечь профит из его использования моментально

Sergey
23.08.2017
18:38:20
Меня в качестве цели вполне устраивает purescript
Ммм. Так это на нем показаны примеры из доки FL. Вот оно чё Михалыч

illiatshurotshka❄️
23.08.2017
18:43:17
daggy -> union-type -> mezzanine
bootleg какой-то

Дмитрий
23.08.2017
18:44:24
bootleg какой-то
После этого я уже успел написать 100% типизированный either

illiatshurotshka❄️
23.08.2017
18:44:58
а потом оказывается что у языка для этого есть null

Google
illiatshurotshka❄️
23.08.2017
18:45:45
ой

это option

Дмитрий
23.08.2017
18:47:43
На жс? Покажешь?
https://github.com/zerobias/apropos

Sergey
23.08.2017
18:49:09
https://github.com/zerobias/apropos
Фигасе ?, а говоришь не чего показать) у тебя там вроде почти полный набор фп методов

Admin
ERROR: S client not available

Denis
23.08.2017
18:50:09
аж кровь из глаз пошла) я давно понял, лучше взять ghcjs + closure compiler + ghc optimization

Дмитрий
23.08.2017
18:51:02
И кстати что там оптимизировать?) Либа выдерживает уровень скорости близкий к максимальному

illiatshurotshka❄️
23.08.2017
18:53:32
От чего?
от таких костылей ради фич которые должны быть в самом языке

Дмитрий
23.08.2017
18:57:02
https://github.com/zerobias/telegram-mtproto/blob/b8309013ba777dddc49dd48576d53557a630b47e/packages/telegram-mtproto/src/state/query/resolve-request.js#L72 Все функции кроме самой основной — без типов, два чейна с самыми разными преобразованиями, каждый чейн — это цепь преобразований Either типа В итоге я вижу полный вывод типа, включая ветку ошибок





Что в следующем фолде я сворачиваю в короткий и ясный тип, который флоу вывел без затруднений

Шоб у меня все костыли так работали))

Sergey
23.08.2017
18:58:23
Аж голова разболелась от вашего фп

Не чё не понятно

andretshurotshka?❄️кде
24.08.2017
10:03:11
https://github.com/gcanti/newtype-ts

Vadim
24.08.2017
20:37:40
https://github.com/gcanti/newtype-ts
Readme исчерпывающий...

Google
andretshurotshka?❄️кде
24.08.2017
20:38:03
?

Дмитрий
24.08.2017
20:45:04
Всегда так делаю

На самом деле просто в случае качественных тестов реально проще заглянуть в них и самому увидеть все кейсы, которые рассматривал автор

Vadim
24.08.2017
23:56:34
На самом деле просто в случае качественных тестов реально проще заглянуть в них и самому увидеть все кейсы, которые рассматривал автор
Но только тогда продукт так и останется в фокусе внимания кучки гиков. А без хайпа сейчас любая либа обречена )

Gleb
25.08.2017
05:04:39
Привет, ребят по кругу уже вопрос задаю, но RX marbles тесты это самый правильный путь тестирования RX кода?

Я помню и статью мне присылали как тестировать rx 5 like rx4 но все таки в оф доках они только про marbles говорят тесты

И вообще не понятно как протестить всякие рипиты и прочее

Черт кто нибудь вообще осилил эти marbles?

andretshurotshka?❄️кде
25.08.2017
08:48:43
Denis
25.08.2017
11:13:02
Кстати может у кого-то есть книга вроде называется implement modern compiler in ML

https://medium.com/@luijar/mixin-monoidal-behavior-in-javascript-4e5c4dcb3ffc

Nikita
25.08.2017
20:12:20
о! наконец-то алгебраические структуры с буррито не сравнивают

Vadim
25.08.2017
22:44:42
И вообще не понятно как протестить всякие рипиты и прочее
Я использую стримы в очень ограниченном виде, ибо для моих задач полностью хватает нескольких простейших операторов. Марбл-тесты прикручивал, но пока у меня там и тестировать-то было нечего особо ) Теперь по-поводу репита и чего-либо еще. Марбл-тестом ты проверяешь ВЫХОД выбранного стрима. Например ты ожидаешь что после всех репитов и прочего на выходе ты получишь a-b-c-a-b-c, то ты это и сможешь проконтролировать. Данные на выходе не показывают через какие преобразователи стрим прошел (репит или скип-дупликатс и т.д.). Ты видишь лишь результат, и можешь стравнить его со своими ожиданиями.

А так-то в марбл-тестах всего несколько операторов )

Gleb
26.08.2017
02:29:26
Все понял, спасибо большое)

.
27.08.2017
09:00:17
Вопрос глупый, но сам нормального ответа я не нашел. Есть какой-то способ описать интерфейс в флоу или тайпскрипт, чтобы он мог принимать только типы ковариантные заданному?

Страница 136 из 420