
? animufag ?
01.10.2017
16:14:15

kana
01.10.2017
16:17:27
Код мой, но да, из поста взял команды

illiatshurotshka❄️
01.10.2017
16:20:18
на твиттере не постишь?

Google

kana
01.10.2017
16:20:26
нет

illiatshurotshka❄️
01.10.2017
16:20:30
рип

kana
01.10.2017
16:21:22
думал второй канал тут завести для таких постов

illiatshurotshka❄️
01.10.2017
16:21:58
было бы хорошо

Denis
01.10.2017
16:23:02
У меня где-то была огромная подборка по фри

Kelin
01.10.2017
16:30:48
Как в рамде этот метод называется? найти не могу
([a, b], c) => [a(c), b(c)]

Denis
01.10.2017
16:31:17
Lift))
Ну или converge

Kelin
01.10.2017
16:31:34
лифт же одну функцию выполняет
converge другое

Denis
01.10.2017
16:31:53
Да ладно одну

Kelin
01.10.2017
16:32:05
converge это
(a, [b, c, ...], d) => a(b(d), c(d), ...)
да что за хуйня, я забыл

Google

Kelin
01.10.2017
16:34:04

andretshurotshka?❄️кде
01.10.2017
16:34:30
useWith

Kelin
01.10.2017
16:34:57
нетттт
кстати, в чем отличие useWith и converge
сука ну как так
ищешь метод в доке дольше, чем пишешь код

andretshurotshka?❄️кде
01.10.2017
16:39:26
const a = x => x + "c"
const b = x => x + "b"
converge(unapply(identity), [a, b])(2)
ты че)
а как с lift сделать?

Denis
01.10.2017
16:39:54
Также

Kelin
01.10.2017
16:40:02

Denis
01.10.2017
16:40:19
Lift(unapply (identity))(a,b)(c)

andretshurotshka?❄️кде
01.10.2017
16:40:51
liftN )))

Denis
01.10.2017
16:40:58

Kelin
01.10.2017
16:41:19
о
каеф

Dmitry
01.10.2017
16:48:47
а почему нельзя просто писать код ?

andretshurotshka?❄️кде
01.10.2017
16:56:13

Vitaliy
01.10.2017
16:58:06
ох.. а всего-то 300 человек :)

Google

? animufag ?
01.10.2017
17:03:58
месяц не открывал тг?

Vitaliy
01.10.2017
17:09:46
только эту группу :)

Denis
01.10.2017
17:09:52

Dmitry
01.10.2017
17:10:11
та я невовремя ворвался
это к этому было
сука ну как так
ищешь метод в доке дольше, чем пишешь код

Vitaliy
01.10.2017
17:11:13

Dmitry
01.10.2017
17:12:10
[].reduce((acc,el)=>{
acc.push(fn(el));
return acc;
}, [])
редьюса достаточно

? animufag ?
01.10.2017
17:12:21

Vitaliy
01.10.2017
17:12:59

Дмитрий
01.10.2017
17:13:11

Vitaliy
01.10.2017
17:13:18

? animufag ?
01.10.2017
17:13:54
неочевидный

Denis
01.10.2017
17:14:10
Ката для функторной алгебры

? animufag ?
01.10.2017
17:14:15
нужно заглядывать последовательность аргументов у лямбдочки
да и читается не очень легко

Vitaliy
01.10.2017
17:14:47
я в растерянности, это сарказм, троллинг, или серьезно? :)

Google

? animufag ?
01.10.2017
17:16:01
ну его действительно нелегко написать читаемым
приходится придумывать название функции в которую оборачиваешь

Denis
01.10.2017
17:16:25
Шта?)
Напишите в черче и поймёте

Vitaliy
01.10.2017
17:16:44
так, надо пример!

? animufag ?
01.10.2017
17:18:23
блин теперь сложно выкрутится

Дмитрий
01.10.2017
17:18:38
Он не сложный, он зачастую слишком низкоуровневый

? animufag ?
01.10.2017
17:20:17
да, я кажется про это пытаюсь сказать, ну тип его используют там где есть готовые функции.
или например там где ты в редьюсе строишь новый список при этом заглядывая на предыдущий элемент
ну тип zip с самим собой на шаг назад
выглядит монструозно и необходимо именовать такие функции

Denis
01.10.2017
17:22:13
Мде

? animufag ?
01.10.2017
17:23:14
ну тип я сейчас использую редьюс тк мне лень написать анредьюс
хотя оба выглядят одинаково нечитаемо

Denis
01.10.2017
17:24:10
Ты на линзы посмотри

Дмитрий
01.10.2017
17:25:04
На агду

? animufag ?
01.10.2017
17:26:41
ну да линзы плохо. как регулярки получаются

Дмитрий
01.10.2017
17:27:03
А альтернативы?

illiatshurotshka❄️
01.10.2017
17:27:12
линзы должны быть фичей языка

? animufag ?
01.10.2017
17:28:27
ну кажется это безвыходная ситуация

Дмитрий
01.10.2017
17:29:13

Google

illiatshurotshka❄️
01.10.2017
17:29:26
почемуу

? animufag ?
01.10.2017
17:29:30
в хаскельподобных языках нельзя заменить операторы и однобуквенные параметры типа на что-либо другое

Дмитрий
01.10.2017
17:30:18
почемуу
Ну потому что они являются составляющими профункторной оптики

illiatshurotshka❄️
01.10.2017
17:30:40
мне кажется что вместо линз можно было бы запилить новый синтаксис
и упростить всем работу

Дмитрий
01.10.2017
17:30:50
Мне больше импонирует подход purescript в котором в языке вообще нет ничего, кроме абстрактных концепций
И в нем ты волен определять новые операторы, то есть какие хочешь такие линзы и реализуешь

andretshurotshka?❄️кде
01.10.2017
17:43:00

Дмитрий
01.10.2017
17:47:31
А хаскелл?
Про него не могу сказать, но кажется он значительно сложнее внутренне ввиду исторических причин ну и большого количества разных языковых фич
Ядро пурскрипта — две странички с формулировками кайнда, типа и прочих базовых вещей

kana
01.10.2017
17:48:28
Да, если бы в хаскеле не было такого жирного base, то он бы быстрее развивался
а то только недавно монада стала наследоваться от аппликатива
и только-только появилась полугруппа, но она конечно не является суперклассом моноида)

Дмитрий
01.10.2017
17:52:12
Во, да)

illiatshurotshka❄️
01.10.2017
17:52:19
в хаскеле оч оч много расширений компилятора

Дмитрий
01.10.2017
17:52:25
Вот кстати про что я говорю
https://github.com/purescript/purescript/blob/master/src/Language/PureScript/Types.hs
Естественно в ядре ещё куча всего, но базовые формулировки уместились вот в 319 строк

andretshurotshka?❄️кде
01.10.2017
18:19:59
мемы

Kelin
01.10.2017
20:09:51
че за рак там в чат приполз
и втирал, что редьюса достаточно
если ты погружаешься в фп, то ты либо погружаешься с головой, юзая все плюхи, либо пишешь императивно и не пишешь здесь