@frp_ru

Страница 75 из 420
Denis
07.06.2017
11:20:56
кстати еще раз про оптику в js https://github.com/phadej/optika

Дмитрий
07.06.2017
11:21:32
Я могу в принципе целый список собрать альтернатив, optika в том числе)

Denis
07.06.2017
11:21:53
ну optika норм написана

Дмитрий
07.06.2017
11:21:55
там самое забавное как все используют один и тот же бенч и каждый показывает результаты где он самый быстрый ?

Google
Дмитрий
07.06.2017
11:21:58
Ну да

У него ещё обоснование её работы в блоге очень ок

Denis
07.06.2017
11:22:44
ты про http://oleg.fi/gists/posts/2017-03-31-compiling-lenses.html ?

Дмитрий
07.06.2017
11:23:06
Ага

Denis
07.06.2017
11:23:29
ну учитывая что там почти все на haskell то jsсеру тяжко будет)

Дмитрий
07.06.2017
11:24:49
Ты так говоришь будто мы только вчера из пещеры вышли)

Denis
07.06.2017
11:25:08
хотя Кметт лучше написал http://comonad.com/haskell/Lenses-Folds-and-Traversals-NYC.pdf

ну и немного картинок =) http://adit.io/posts/2013-07-22-lenses-in-pictures.html

да и optika мне показалась более доступной чем partial.lenses

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

Identity (set, modify) и Const (get)

Дмитрий
07.06.2017
11:40:32
да и optika мне показалась более доступной чем partial.lenses
Ну да. Я по какой то причине всё равно решил начать с lenses, но потом быстро передумал)

Denis
07.06.2017
11:41:32
и что теперь юзаешь?)

Google
Дмитрий
07.06.2017
11:45:50
и что теперь юзаешь?)
пока отложил их, была конкретная задача) надо было собирать ast каким-либо способом, сначала решил процессить уже собранное дерево массивов токенов, процессить, соответственно, линзами. Поплевавшись на partial, подумал, что можно пойти с другого конца и сразу собирать ast в нужной форме; вот и написал mezzanine для матчинга по паттернам)

Denis
07.06.2017
11:46:39
ну выложишь - посмотрим

Yumi
07.06.2017
17:59:55
Ну я доходил до сайта zsh и там была очень огромная документация, раза в четыре больше bash и это немного настораживает. D:

Посмотрел сравнения, попробую в общем fish выглядит удобно. Нет лично мне ненужной нагруженности функций, как в zsh.

? animufag ?
07.06.2017
18:45:29
fish норм если тебе не нужна совместимость с башем

Ну хотя баш у тебя всё таки остаётся в системе Просто обычно лень разбираться в шел языке и что-то делаешь в консоли нетрививльное натыкаешься на проблемы и включаешь баш.

В итоге фиш используется на 10%

Yumi
07.06.2017
19:00:00
Да тут просто для тривиальных задач удобно, я сомневаюсь, что буду разбираться для скриптов.

Denis
08.06.2017
04:53:21
какой-то булщит https://char0n.github.io/ramda-adjunct/1.9.0

andretshurotshka?❄️кде
08.06.2017
04:57:44
Denis
08.06.2017
04:58:19
isWhyThisBullShit should be in ramda?

в рамде есть is

если надо то is(Date, date)

сказочное дерьмо

набор безполезнятины

просто ramda cookbook перенесено местами

это вообще что-за? кто ему сказал что Reader и Free похожи

Google
Denis
08.06.2017
05:02:14
https://char0n.github.io/ramda-adjunct/1.9.0/RA.html#.weave

andretshurotshka?❄️кде
08.06.2017
05:02:58
типо у них run есть

Denis
08.06.2017
05:04:12
даже как-то смешно)

run это всего лишь fold какбы

free для dsl, cofree для интерпретатора http://dlaing.org/cofun/posts/free_and_cofree.html

Vladimir
08.06.2017
07:40:09
@goodmind ping

andretshurotshka?❄️кде
08.06.2017
07:40:53


Denis
08.06.2017
12:27:04
кстати все эти joins были в кукбуке https://github.com/ramda/ramda/wiki/Cookbook#sql-style-joins

Arcady
10.06.2017
17:02:47
Замена рамде еще не пришла? Трайн же был какой то на ЕС7

Yumi
10.06.2017
17:04:17
Что? Зачем? Почему?

Дмитрий
10.06.2017
17:24:28
Замена рамде еще не пришла? Трайн же был какой то на ЕС7
Слишком дофига всего придётся делать

Тут тебе и transducer protocol, и интероп с fantasy land и куча всего ещё

Vasiliy
10.06.2017
18:25:11
а зачем замена? потому что медленно?

Дмитрий
10.06.2017
18:34:04
Ну мне например очень хотелось многие вещи унифицировать

Например почему есть prop и path, почему функции не универсальны в этом плане, почему when не может принимать массив функций для проверки (и это в либе, в которой существуют мега-монстряческие функции типа into)

Но объективно, такой проект переделать очень тяжело

Сергей
10.06.2017
18:39:22
да и смысл

Дмитрий
11.06.2017
08:28:37
для этого есть cond
Я не про вариант с cond

Denis
11.06.2017
08:28:56
а про что?

Google
Denis
11.06.2017
08:29:19
ты примеры приводи

Дмитрий
11.06.2017
08:29:52
Выше кроме when были и другие примеры)

Admin
ERROR: S client not available

Denis
11.06.2017
08:30:44
вообще надо один метод под названием pathOr и все

Дмитрий
11.06.2017
08:30:51
да я про то же

по крайней мере, даже если убрать только одно это различие prop/path, то апи стал бы заметно меньше

Denis
11.06.2017
08:32:09
а вообще lensPathOr было бы более унифицированно

баньте это чудо

andretshurotshka?❄️кде
12.06.2017
15:38:03
?

Vadim
12.06.2017
16:13:06
Народ! Я по прежнему имею затруднения с пониманием сигнатуры, принятой в ФП. Вот например, метод рамды "lift" имеет в документации такую сигнатуру: (*… → *) → ([*]… → [*]) Тогда почему работает следующий код? var addM = R.lift(R.add); addM(Maybe.Just(3), Maybe.Just(5)); //=> Maybe.Just(8);

Denis
12.06.2017
16:13:38
у рамды битая сигнатура

для примера liftA2 :: Applicative f => f (a -> b) -> f a -> f b

Vadim
12.06.2017
16:15:02
Спасибо!

Denis
12.06.2017
16:15:03
как можно заметить тут более общий случай чем массив

массив тоже аппликатив просто можно построить ограничение через Applicative f => ...

Vadim
12.06.2017
16:16:28
Да там вообще с документацией беда. Например про метод chain сказано "chain maps a function over a list and concatenates the results.". Как будто он только со списками работает, а не вообще с чем угодно.

Denis
12.06.2017
16:17:19
ну тут же также должно быть Chain f => (a -> f b) -> f a -> f b

Vadim
12.06.2017
16:18:40
Для chain там приведена корректная сигнатура. Просто описание в виде текста дурацкое.

Vadim
12.06.2017
16:30:18
Хотят что б в сигнатуре говорилось именно о листах и о конкатенации?

Google
Дмитрий
12.06.2017
16:30:24
Да

Vadim
12.06.2017
16:30:30
Бред какой-то )

Дмитрий
12.06.2017
16:30:40
Нет никакой проблемы описать типы в полном объёме, просто когда человек впервые открывает документацию, то начинает люто откладывать кирпичи и всячески фалломорфировать

Vadim
12.06.2017
16:31:03
Ведь chain может работать и, например, с числом тоже

При чем тут списки?

Дмитрий
12.06.2017
16:31:13
«Я просто хотел сложить массивы, вы чо тут вообще»

Проще говоря, полноценное формальное описание звучит мягко говоря НЕ ОЧЕНЬ ?

Дмитрий
12.06.2017
16:32:21
И это большая проблема, потому что хочется учесть интересы каждого и не быть шайкой странных гиков

Vadim
12.06.2017
16:32:54
Просто достаточно для каждого метода приводить примеры со всеми применимыми для него типами данных

Дмитрий
12.06.2017
16:32:59
Эээ

там всего один тип данных))

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