
Дмитрий
02.02.2018
23:09:19
к о з и н а к и

kana
02.02.2018
23:26:13
@xgrommx можешь скинуть какую-нибудь реализацию фри-монад, где не Pure/Free, а Pure/Ap/Bind

Denis
02.02.2018
23:26:44

Дмитрий
02.02.2018
23:26:55
Омг

Google

Дмитрий
02.02.2018
23:27:10
Я только сейчас понял, что у меня есть такая имплементация прямо на жс
Так как я переписывал код safareli, а он видимо уже тогда угорал как следует

Denis
02.02.2018
23:27:54

Дмитрий
02.02.2018
23:28:23
ну рекурсивные схемы ты тоже не сам придумал же)
Образовательные цели, юноу

Denis
02.02.2018
23:29:00
https://github.com/srijs/haskell-free-concurrent/blob/1a56280e8d63e037cf8f9e57aa17ac6a8ac817a5/src/Control/Concurrent/Free.hs#L29-L33

kana
02.02.2018
23:31:37
хм, я раньше думал, что так делают там, где нет ленивости
но похоже такой подход дает конкурентность если использовать <*> скажем
очень хорошо

Дмитрий
02.02.2018
23:33:27
Да

Denis
02.02.2018
23:33:41

kana
02.02.2018
23:34:02
Да, спасибо

Denis
02.02.2018
23:34:31
видел еще где-то

Google

Denis
02.02.2018
23:34:38
но забыл где

Дмитрий
02.02.2018
23:36:09

Vasiliy
02.02.2018
23:37:29
ничего себе ты так на флоу фигачишь)

Denis
02.02.2018
23:37:31
чертовы ковариантности/контрвариантности

Дмитрий
02.02.2018
23:37:44
На тот момент игра слов в дженериках казалась мне остроумной ?

Denis
02.02.2018
23:38:20
это с какой либы?

Vasiliy
02.02.2018
23:38:36
CLAP, только заметил лол

Roman
02.02.2018
23:38:37
κραςιωο

Дмитрий
02.02.2018
23:38:55
У меня там два раздела тупо с экспериментами с фп, лол
Лень было другой проект открывать

Denis
02.02.2018
23:41:36

Дмитрий
02.02.2018
23:43:34
Хорошие новости, значит никого удар не хватил)
не нахожу тут такого
https://github.com/zerobias/telegram-mtproto/tree/feature/mtproto3/packages/telegram-mtproto/src/util/monad-t

kana
02.02.2018
23:43:45

Denis
02.02.2018
23:43:58

Дмитрий
02.02.2018
23:44:27
Плюс вот тут и ещё где-то, уже не помню https://github.com/zerobias/telegram-mtproto/tree/feature/mtproto3/packages/telegram-mtproto/src/util/profunctor
Потом самое адекватное из этого перенёс в отдельную либу а потом понял что пусть такими муторными низкоуровневыми вещами занимается кто-то другой и взял immutable и fp-ts

Kelin
02.02.2018
23:47:27

Дмитрий
02.02.2018
23:48:06
Погоди, там дальше начинается слоговое письмо канадских аборигенов

Google

Дмитрий
02.02.2018
23:48:43
По большей части just for lulz

Denis
02.02.2018
23:48:43
это вы агду еще не читали

Дмитрий
02.02.2018
23:49:22
Читал, оттуда и взял идею о коде выглядящим как на тёмном наречии)

Vasiliy
02.02.2018
23:49:46
вот клевая вещь http://agda.readthedocs.io/en/v2.5.2/language/mixfix-operators.html

Kelin
02.02.2018
23:50:28
где

Дмитрий
02.02.2018
23:52:41
Я был чертовски расстроен что в жс нельзя было юзать все эти стрелки из агды

Kelin
02.02.2018
23:53:41
да ну нахер
неудобно же
как ты их печатать будешь
сниппетами забивать?

Дмитрий
02.02.2018
23:54:26

Vasiliy
02.02.2018
23:54:45
emacs quail, в других тоже такое есть полюбому

Дмитрий
02.02.2018
23:54:55

Vasiliy
02.02.2018
23:55:23
fp-ts это такой фп-компромисс для странных языков? блин, так перегруженно выглядит все это синтаксисом, очень сложно читать
bimap<L, A, M, B, U>(f: (l: L) => M, g: (a: A) => B, fla: HKT<F, U, L, A>): HKT<F, U, M, B>;
хотя мб дело привычки

Дмитрий
02.02.2018
23:55:40
fp-ts это такой фп-компромисс для странных языков? блин, так перегруженно выглядит все это синтаксисом, очень сложно читать
bimap<L, A, M, B, U>(f: (l: L) => M, g: (a: A) => B, fla: HKT<F, U, L, A>): HKT<F, U, M, B>;
хотя мб дело привычки
Да, в жс не особо подходящий для этого синтаксис.
У него по сути минимальная реализация тайпклассов через именованые метки (он их зовёт hkt)

Kelin
02.02.2018
23:57:24
сук, я так и не вкурил, че лифты делают

Vasiliy
02.02.2018
23:57:36
поднимают)

Kelin
02.02.2018
23:58:00
вот это объяснение мне ровным счетом нихера не дает, уже раз 5 слышал

Дмитрий
02.02.2018
23:58:09
fp-ts это такой фп-компромисс для странных языков? блин, так перегруженно выглядит все это синтаксисом, очень сложно читать
bimap<L, A, M, B, U>(f: (l: L) => M, g: (a: A) => B, fla: HKT<F, U, L, A>): HKT<F, U, M, B>;
хотя мб дело привычки
К счастью при использовании это гораздо более читабельно чем при декларации так как большая часть кода фактически служебная — гарантирует что выпллняются определенные законы

Google

Дмитрий
02.02.2018
23:58:34
Но я уже попробовал синтаксис без угловых скобок, просто опустить их, довольно забавно получается

kana
02.02.2018
23:58:58

Kelin
02.02.2018
23:59:12
хоть какие

Дмитрий
02.02.2018
23:59:26

Kelin
02.02.2018
23:59:42
в фп разумеется

Vasiliy
02.02.2018
23:59:46
нужно прочитать про монадные трансформеры или посмотреть у Москвина в самом конце на степике

kana
03.02.2018
00:00:30
Просто есть много разных лифтов и не очень ясно, про что речь

andretshurotshka?❄️кде
03.02.2018
00:00:39
коалеф конуль

kana
03.02.2018
00:00:56
liftF во фри поднимает значение с f a на Free f a
lift в трансформерах поднимает с M a до "MonadM m => N m a"
liftA2 поднимает функции

Kelin
03.02.2018
00:02:46
вот liftA например

Denis
03.02.2018
00:03:06

kana
03.02.2018
00:03:18
И сразу интуиция появится

Denis
03.02.2018
00:04:08
вообще надо просто типы читать

Дмитрий
03.02.2018
00:05:53
<<Матерные аппликативы кметта>>

Сергей
03.02.2018
00:32:56

Дмитрий
03.02.2018
00:35:07
в расте .into() типизируются )))
Нет никакой проблемы типизировать это в случае с Map и Set, просто объекты в жс значительно сложнее чем кажутся на первый взгляд и строить типизированный подход на их основе не особо приятно

? animufag ?
03.02.2018
01:06:29
лооол

Google

? animufag ?
03.02.2018
01:06:48
ну тип это не то место откуда ок делать вывводы
ну например динамика в груви ок живёт
и вообще джвм под смолтолк задумывалась
а в котлине сделали под джвм язык а потом запилили динамик под джс тк думали ок решение и запретили в джвм
ну это видение ситуации не достоверные сведения

Даниил
03.02.2018
01:31:40

? animufag ?
03.02.2018
01:32:56
имя фамилия
оригинально

Даниил
03.02.2018
01:33:12
кто бы говорил)

? animufag ?
03.02.2018
01:33:53
рабочий чатик в тг)
да и раньше так себе ники были(

Даниил
03.02.2018
01:34:36

? animufag ?
03.02.2018
01:37:11
норм поинт
странно что все такие за котлин начали говорить
пол года назад вообще тишина была
хотя ничего не поменялось толком

Даниил
03.02.2018
01:40:43
ну я на нём недавно работу нашёл, поэтому и говорю про него ?

Дмитрий
03.02.2018
03:15:15

andretshurotshka?❄️кде
03.02.2018
07:04:25

Дмитрий
03.02.2018
07:04:48
А там что?

Даниил
03.02.2018
07:05:41
А там что?
конвертация между типами, для которых реализован соответствующий трейт
pub trait Into<T> {
fn into(self) -> T;
}