
kana
24.09.2017
15:57:05

Denis
24.09.2017
15:57:59

andretshurotshka?❄️кде
24.09.2017
15:58:22
жесть)

illiatshurotshka❄️
24.09.2017
15:59:00
что за список?

Google

Denis
24.09.2017
15:59:06

andretshurotshka?❄️кде
24.09.2017
15:59:19
что за список?
https://github.com/xgrommx/awesome-functional-programming/blob/master/README.md

illiatshurotshka❄️
24.09.2017
15:59:23
а

Denis
24.09.2017
16:01:15
верну это и сюда)
https://codewords.recurse.com/issues/three/algebra-and-calculus-of-algebraic-data-types
http://chris-taylor.github.io/blog/2013/02/10/the-algebra-of-algebraic-data-types/
http://chris-taylor.github.io/blog/2013/02/11/the-algebra-of-algebraic-data-types-part-ii/
http://chris-taylor.github.io/blog/2013/02/13/the-algebra-of-algebraic-data-types-part-iii/

kana
24.09.2017
16:01:20
список-то небольшой же
полагаю, каждый в день по 2-4 поста или статьи с доки прочитывает, за пару месяцев список подлиннее будет

Denis
24.09.2017
16:02:55
у меня в загашниках очень дофига еще)
мб добавлю в список
например очень много нового по рекурсивным схемам

Taras
24.09.2017
18:44:08
как в hindley milner type system обозначать Side Effects?
например для такой функции:?
const log = (data) => (console.log(data), data);

andretshurotshka?❄️кде
24.09.2017
18:44:30
IO

Taras
24.09.2017
18:44:41
ну если не юзаю

Google

andretshurotshka?❄️кде
24.09.2017
18:44:46
ток это не связано с HM

Taras
24.09.2017
18:44:49
но приходить выбрасвывать побочку

andretshurotshka?❄️кде
24.09.2017
18:44:57
никак?)

illiatshurotshka❄️
24.09.2017
18:46:39

Дмитрий
24.09.2017
21:46:35

Kelin
24.09.2017
22:33:19
const initServices = service => update('services', map(config => new Apicase({ ...config, parent: service })), service)
Как можно упростить? Хочу избавиться от аргумента
бля, так плохо видно, ща
вообще много подобных мест, где нужно к аргументу обратиться, и теряется красота

? animufag ?
24.09.2017
22:39:25
внутри мапа что-то похожее на мёрж творится

Дмитрий
24.09.2017
22:41:08
Ага

? animufag ?
24.09.2017
22:41:40
initService что-то похожее на over

Kelin
24.09.2017
22:41:44
та мне вторую функцию упростить бы

Дмитрий
24.09.2017
22:41:51
Но я смысл всё равно не оч улавливаю

Kelin
24.09.2017
22:41:56
over - да, но это менее красиво

? animufag ?
24.09.2017
22:42:17
хотя не
ты в поле сервис записываешь функцию над всем объектом

Kelin
24.09.2017
22:42:49
суть в чем
это тип дерево services
по нему надо пробежаться и всем сделать new Apicase с отсылкой на родителя
с over это будет выглядеть вот так

Google

Kelin
24.09.2017
22:46:04
и мне не нравится
мейби есть какой-то паттерн
тут, получается, вызвать первую функцию с аргументом, а вторую с аргументом + результатом первой
з.ы. не умею писать формулками

? animufag ?
24.09.2017
22:54:08
ну я вообще про линзовый овер говорил
ну он здесь не поможет

Дмитрий
24.09.2017
22:55:41
chain для структуры плюс Writer

Kelin
24.09.2017
22:56:15
шо за writer

Дмитрий
24.09.2017
22:57:52
Ну такой ADT, позволяющий записывать в себя данные
А chain — потому что всегда можно объявить в объекте метод .chain (и .map заодно) и тогда point free метод из рамды будет использовать именно его

? animufag ?
24.09.2017
23:02:03

Kelin
24.09.2017
23:02:37

? animufag ?
24.09.2017
23:02:49
объект с ссылкой services на список каких-то объектов каждому из которых ты даёшь ссылку на парента

Дмитрий
24.09.2017
23:06:35
pick / defaults — это просто мердж

Kelin
24.09.2017
23:06:48
чтобы не писались какие-нибудь {vasya: 'lol'}

? animufag ?
24.09.2017
23:11:25
что за либа используется?
откуда update

Kelin
24.09.2017
23:11:33
lodash/fp

Google

Kelin
24.09.2017
23:11:48
https://gist.github.com/jfmengels/6b973b69c491375117dc#_updatepath-updater-object
ну в лодаше такой хуйни точно нет, так что я дописал метод

? animufag ?
24.09.2017
23:43:40
ну я бы ввёл функцию twice = (f, a) => f(a, a)
и тогда initServices = flow(update('services', mapInitServices, twice))
примерно так
хотя мб нет

Kelin
24.09.2017
23:45:25
эм
нет

? animufag ?
24.09.2017
23:45:29
энивей это слишком простой путь

Admin
ERROR: S client not available

Kelin
24.09.2017
23:45:47
просто - плохо?)

? animufag ?
24.09.2017
23:46:03
ну конечно

Kelin
24.09.2017
23:46:10
а что тут плохого

? animufag ?
24.09.2017
23:46:12
так каждый простак поймёт
нужно на фп дрочить

Kelin
24.09.2017
23:46:20
можно усложнить

? animufag ?
24.09.2017
23:46:24
раз уж ты начал

Kelin
24.09.2017
23:46:30
добавить возможность больше двух функций
и чтобы они все выполнялись с результатом первой

Google

Kelin
24.09.2017
23:46:45
+ сам аргумент

? animufag ?
24.09.2017
23:47:09
так то тут запутанная поебень и скорей всего тебе нужно подумать над структуркой твоего объекта

Kelin
24.09.2017
23:47:25

? animufag ?
24.09.2017
23:47:38
но пока что не об этом речь

Kelin
24.09.2017
23:47:40
что тут думать - пройти по детям и добавить ссылку на родителя
тут путаницы нет

Дмитрий
24.09.2017
23:48:04

Kelin
24.09.2017
23:48:28
та функция - запутанная, соглашусь
но как по-другому, окей?

Дмитрий
24.09.2017
23:48:29
Когда делаешь что-то хитрозакрученное, то как правило это означает что ты просто занимаешься не тем

Kelin
24.09.2017
23:49:01

? animufag ?
24.09.2017
23:49:42
ну эти всякие new, и то что функция спускается на одну глубину всего лишь

Kelin
24.09.2017
23:49:57

Дмитрий
24.09.2017
23:50:17
раз уж ты начал
У нас было 2 монадический ридера, 75 различных функторов, 5 пачек стейтов, полсолонки аппликатива и целое множество натуральных преобразований всех сортов и расцветок. Не то чтобы это был необходимый запас для программирования, но если начал использовать монады, становится трудно остановиться. Единственное, что вызывало у меня опасение — это лисп. Ничто в мире не бывает более беспомощным, безответственным и порочным, чем коммон лисп. Я знал, что рано или поздно мы перейдем и на эту дрянь.

Kelin
24.09.2017
23:50:21
в new так же вызывается

? animufag ?
24.09.2017
23:50:42
оу
логика в new
проблема растёт из того что функции юзающие твоих чайлдов должны иметь ссылку на парента
такое в жизни бывает

Kelin
24.09.2017
23:52:25
окей, могу убрать new, если он тебя так смущает

? animufag ?
24.09.2017
23:52:54
и если серьёзно то лучше напиши без флоу, ну максимум с map

Дмитрий
24.09.2017
23:53:33
Что значит без флоу ????
А, ты про метод, да, лучше без него

Kelin
24.09.2017
23:53:46