
kana
11.12.2017
07:08:11
с другой стороны мы можем описывать красивые конструкторы команд через гадты, прям как функции
не нужно обобщать последний аргумент, Tell возвращает (), значит возвращает ()
красиво, не сильно полезно, чуть более тайпсейф

Google

kana
11.12.2017
07:10:24
пора спать ложиться
кстати, как я сказал, FFree больше не требует даже функторности, то есть мы берем State s и забываем ВОООБЩЕ все кроме команд и раннера
ну, runState выполняет часть бинда, конечно, хендлит эффект
FFree f is more satisfying since it abstracts more of the common pattern of accumulating continuation, compared to Free. It is more general, not imposing any constraints on f – it is “freer”. Continuing our example of State s from the end of §2.3, we can now forget not only return and bind but also the fmap operation, and still recover the state monad through FFree (State s) construction. We no longer have to bother defining the basic monad and functor operations in the first place: We now get not only the Monad instance but also the Functor and Applicative instances for free.


adam
11.12.2017
07:52:09
Так все верно. Его можно рассматривать как функтор F с доменом над дискретной категорией |C| и внедряющим функтором J :: |c| -> c.
Lan_J F a = ∫^i C(J i, a) × F i
Ты так же и правое можешь использовать а-ля
Ran_J F a = ∫^i C(a, J i) × F i

des
11.12.2017
09:55:46
Привет всем, может быть кто-то писал тест для select ? Как меняли значение select ? У меня не срабатывает https://gist.github.com/unfalse/c20b3dc396bde5a1473f242ec337b7d8

Denis
11.12.2017
11:36:14

illiatshurotshka❄️
11.12.2017
11:39:13
а какое у функциональщиков есть решение для вариадик полиморфизма?
например сделать имплементацию функции для туплов всех размеров

Google

Denis
11.12.2017
11:40:01

illiatshurotshka❄️
11.12.2017
11:41:39
ага

Denis
11.12.2017
11:46:07
ну у того же Киселева можно почитать http://okmij.org/ftp/Haskell/polyvariadic.html#polyvar-fn
а вообще Kan extensions это такая крайняя штука из которой может быть построено все
https://bartoszmilewski.com/2017/04/17/kan-extensions/

adam
11.12.2017
12:06:30

Denis
11.12.2017
12:07:10
lawvere modules
ты сразу ссылки на пейпер давай) договорились же тут пейперами общаться)

illiatshurotshka❄️
11.12.2017
12:07:18
лол
не гуглится

adam
11.12.2017
12:07:53
ой, не заметил
не качайте fleksy, ужасная клавиатура

Cenator
11.12.2017
12:08:31
зачем нужно что-то кроме гугловской?

adam
11.12.2017
12:09:28
не качайте fleksy, ужасная клавиатура
порой, к удивлению, если хочешь поставить пробел между символами, она вместо этого может поставить пробел в конце слова и у меня нет вообще никаких идей для предпосылатакого ub

Cenator
11.12.2017
12:11:50
зачем нужно что-то кроме гугловской?
@systemspace

adam
11.12.2017
12:13:17

Cenator
11.12.2017
12:14:00
дело вкуса, мне удобно

Kelin
11.12.2017
14:06:07

Google

illiatshurotshka❄️
11.12.2017
14:08:12
как у него с подсказками?

Kelin
11.12.2017
14:15:36
Все хорошо

kana
11.12.2017
15:24:26
ну прочитал с большего пейпер по freer, freer это тот же EF, только с оптимизациями и заменой Free на FFree (который не требует функториальности)
юнион больше не требует typeable, свой костыль на числах + coerce сделали (число в значении юниона - индекс типа в массиве типов)
+ оптимизация построения Cont через деревья какие-то, я эту часть пока пропустил, завтра займусь
https://gist.github.com/kana-sama/353e3585536c085271c1b3c7657b0b6f - вот моя реализация без оптимизаций Cont
делать эффекты стало НАМНОГО проще (по сравнению с обычными монадами и даже с EF)
где половина - бойлерплейт для команд


kana
11.12.2017
17:14:09
ну пример будет выглядеть точно так же и на mtl
поэтому тут самое важное это вот это - сколько нужно писать кода для добавление эффекта
и как видно, очень мало
легко добавлять свои dsl-ки, легко оборачивать старые монады в эффекты
ну все, пожалуй, теперь пойду ебать с html и jquery

Google

? animufag ?
11.12.2017
17:19:42
жаль не могу оценить насколько хуже было в прошлых эффектах
алсо забавно пару раз по привычке ++

kana
11.12.2017
17:20:44

Denis
11.12.2017
17:21:23
@kana_sama твое решение пришло к той канонической форме, что и все что были раньше написаны)

kana
11.12.2017
17:21:52
ну так да, писал же по пейперу, просто убрал оттуда куча оптимизационного хлама
у меня ничего нового получится тут не могло)
еееее
я могу js+jquery на PureScript переписать

Admin
ERROR: S client not available

kana
11.12.2017
17:22:53
это бесполезно наверное
поэтому я не буду

? animufag ?
11.12.2017
17:22:58
такое себе удовольствие

Denis
11.12.2017
17:23:41

kana
11.12.2017
17:24:41
хм
почитаю вечером

Denis
11.12.2017
17:24:56
это бесполезно наверное
когда Фриман переписывал trypurescript он там все показал как с jquery и все такое в пурсе)
https://www.youtube.com/watch?v=UaXxnWfStbY&list=PLclm7plyXncbmJu-VO2wZkQ30vBE0gHVS
5 частей

kana
11.12.2017
17:25:13
но для работы возьму наверное freer, он удобнее всего

Denis
11.12.2017
17:25:30
я потыкал 5 штук

kana
11.12.2017
17:26:01
и какой результат?

Google

Denis
11.12.2017
17:28:13
мне чот effin больше понравился

kana
11.12.2017
17:29:04
я просто на эти самодельные массивы смотреть не могу, есть же '[]

Denis
11.12.2017
17:30:03
ну тогда freer
https://hackage.haskell.org/package/extensible-effects
https://hackage.haskell.org/package/freer-effects
https://hackage.haskell.org/package/freer

kana
11.12.2017
17:31:44
Effin давно уже не обновлялся
это в future work
в чем разница между freer и freer-effects?

Denis
11.12.2017
17:33:06
надо искать то, что живое)
хоть немного

kana
11.12.2017
17:33:33
EF живой, как ни странно

Denis
11.12.2017
17:34:22
EF?

kana
11.12.2017
17:35:33
extensible-effects
в ноябре обновлялся
остальные нет
но freer все же самый популярный по скачиваниям

? animufag ?
11.12.2017
17:38:39
не обновляется значит всё сделано

kana
11.12.2017
17:41:09
хм, extensible-effects не такой как в пейпере, он почти как freer
ну так да, он и использует FFree вместо Free+Cont