@frp_ru

Страница 86 из 420
? animufag ?
21.06.2017
17:12:07
ну если это комонада - то получишь резултат
только у комонады ещё сложнее с интуицией. ладно будем честны - за монадой нет никакой интуиции. разве что эффекты, но это так понты в фп разговорах.

Дмитрий
21.06.2017
17:13:26
Решает одни задачи я имел ввиду
Ну вон я в самом начале диалога приводил пример

Denis
21.06.2017
17:14:15
а мне вся эта дисскусия кажется ни о чем

Google
Denis
21.06.2017
17:14:21
я устал что-то доказывать

? animufag ?
21.06.2017
17:14:43
вычисления
ту часть вычисления которую ты можешь проводить без монад, ты проводишь без монад.

Дмитрий
21.06.2017
17:26:46
В flow и ts есть дженерики ?

Denis
21.06.2017
17:27:02
женерики сакс

нужен ad-hoc полиморфизм

? animufag ?
21.06.2017
17:30:35
В flow и ts есть дженерики ?
Ну в контексте этой беседы в джаве тоже есть дженерики но тайпклассы не запилить

На самом деле было бы норм если бы в хаскель подобных языках можно было выбирать инстанс для типа

Gleb
21.06.2017
17:32:01
А Nothing как раз наверное заканчивается Either? если развить тему надуманного примера? Тогда я все же изменю мнение, не ругайтесь)

? animufag ?
21.06.2017
17:32:18
Это очевидно было бы неудобно

Denis
21.06.2017
17:33:06
Either для того где надо сказать какая причина падения

Nothing типа как просто null

Gleb
21.06.2017
17:34:57
Да ,я сам сказал поторопился и сам потом понял) Но можно ли сказать в таком случае что разница между кучей compose в том что какую то прям богатую логику лучше решат монады, а compose более тулзовые вещи и скорее даже связанные с одним типом?

Дмитрий
21.06.2017
17:35:38
Пока в тебя летит очередная комонада замечу что да, примерно так

Google
Gleb
21.06.2017
17:39:14
Всем спасибо!!!)

andretshurotshka?❄️кде
21.06.2017
18:41:39
?

Андрей
21.06.2017
19:54:00
Написал еще и для tcomb генерилку данных https://github.com/typeetfunc/tcomb-generate но уже так чисто по фану)

Denis
21.06.2017
19:58:44
зачем?)

Андрей
21.06.2017
20:36:05
Чтобы генераторы ручками не писать для проперти тестов

Правда остаётся большая проблема генераторов для refinement типов. Их пока ручками писать всеравно надо. Есть интересный пейпер где скрещивают для этих целей constraint solving и банальные контр примеры при обходе. Но пока там ещё все очень сыро :(

Кстати забавно что в clojure spec эта проблема тоже нифига не решена и о ней даже особо не говорится

https://arxiv.org/abs/1607.05443

Вот пейпер если кому интересно

Kirill
22.06.2017
10:20:04
А такая штука в рамде есть? https://lodash.com/docs/4.17.4#mapKeys
Никто не пользуется что-ли такими вещами?

? animufag ?
22.06.2017
10:49:59
А такая штука в рамде есть? https://lodash.com/docs/4.17.4#mapKeys
Такой штуки не должно существовать

Это как сделать map для set

Пример: .mapKeys(_=> 'a')

Что станет если полей больше одного?

При том что в идеале порядок полей в объекте не определён

Никто не пользуется что-ли такими вещами?
кстати может кейз тогда подкинешь?

Kirill
22.06.2017
11:09:50
Есть объект с фильтрами: { f1: 1, f2: 2 }. Надо перед отправкой на сервак json сделать так, чтобы все ключи были с суффиксом __in

Можно сделать самому через Object.keys, forEach и объект-буффер. Но зачем, если в лодаш есть такая функция.

Denis
22.06.2017
12:21:43
Никто не пользуется что-ли такими вещами?
есть https://github.com/ramda/ramda/wiki/Cookbook#map-keys-of-an-object и есть большой кукбук https://github.com/ramda/ramda/wiki/Cookbook

Google
Denis
22.06.2017
12:23:13
compose(invertObj, map(toUpper), invertObj)({a:10, b:20})

это тебе ключи модифицирует и вернет обратно объект

? animufag ?
22.06.2017
12:25:09
compose(invertObj, map(toUpper), invertObj)({a:10, b:20})
дважды риск потерять поля

Kirill
22.06.2017
12:25:20
есть https://github.com/ramda/ramda/wiki/Cookbook#map-keys-of-an-object и есть большой кукбук https://github.com/ramda/ramda/wiki/Cookbook
А это не оверхед? Переводить в массив сначала, потом мэпить новый и потом только из него делать массив? Просто иногда кажется, что это не опрадывает себя, делать такие тяжеловесные композициии.

Denis
22.06.2017
12:25:49
у тебя объект на миллиард полей?

мап че взял то и вернул

он же не добавляет и не отнимает

Aleh
22.06.2017
12:26:42
так а {a: 10, b: 10}

? animufag ?
22.06.2017
12:27:13
{aA: 10, Aa:20, ab: 10}

Denis
22.06.2017
12:29:36
? animufag ?
22.06.2017
12:29:46
оукей

http://ramdajs.com/repl/?v=0.24.1#?const%20f%20%3D%20compose%28invertObj%2C%20map%28toUpper%29%2C%20invertObj%29%0Af%28%7BaA%3A%2010%2C%20Aa%3A20%2C%20ab%3A%2010%7D%29%0A

хотя насчёт инверта не то что я ожидал

Aleh
22.06.2017
12:31:59
f({aA: 10, Aa:10, ab: 10})

так лучше

? animufag ?
22.06.2017
12:33:28
а ну да

Denis
22.06.2017
12:33:37
хотя насчёт инверта не то что я ожидал
а ты походу не знаешь как работает объект)) а ты попробуй просто в консоли {aA: 10, AB:20, AB: 10}

? animufag ?
22.06.2017
12:33:52
))

Google
? animufag ?
22.06.2017
12:34:25
ладно, ок, никаких рисков. просто маленькая особенность

законы функтора вроде нарушаются, но наверное ничего страшного

Denis
22.06.2017
12:35:03
присуща тому что это хеш мапа, где ключи должны быть уникальны) это не особенность, а нормальное поведение

Admin
ERROR: S client not available

Denis
22.06.2017
12:35:34
законы функтора не нарушаются

просто invertObj съедает по правилу что уникальные ключи должны быть

? animufag ?
22.06.2017
12:36:02
ну если делать мап на сет или хешмап по ключам

Denis
22.06.2017
12:36:03
последний invertObj

https://twitter.com/xgrommx/status/877676608076861440

ну шо за вайдотство? https://github.com/facebookexperimental/JSCaml

и почему нe rejscaml

andretshurotshka?❄️кде
22.06.2017
12:47:27
?

Denis
22.06.2017
21:02:20


Yumi
22.06.2017
21:27:21
@ZeroBias у тебя нормально в debug console открываются массивы и объекты?

Извиняюсь за оффтоп.

Дмитрий
22.06.2017
21:27:46
Ну да, более менее, а что?

Yumi
22.06.2017
21:28:15
У меня они вечно грузятся, я чет немогу понять в чем проблема.

Это я в дебаг режиме через node.

Дмитрий
22.06.2017
21:33:17
Ээм, хз) Режим дебага inspect?

Yumi
22.06.2017
21:43:40
А он по умолчанию не в inspect? https://pastebin.com/ibEp84Fr

Google
Yumi
22.06.2017
21:44:04
А есть канал, по редакторам?

Чтобы не оффтопить тут.

andretshurotshka?❄️кде
22.06.2017
21:48:39
@ide_ru

правда он не очень живой

Vladimir
23.06.2017
05:41:28
Denis
23.06.2017
09:11:01
https://github.com/awto/TypeScriptWithImplicits

а вот и рефлекс https://www.youtube.com/watch?v=AGkSHE15BSs

andretshurotshka?❄️кде
23.06.2017
10:23:54
Vladimir
23.06.2017
10:24:26
?
спам был

Ilya
23.06.2017
17:50:59
Почаны, первый раз подключил рамду в жизни, вот реал в первый раз.

И серьёзно ФП не делал раньше.



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