@haskellru

Страница 1180 из 1551
A64m
10.05.2018
17:02:06
да нормальная полезность

Mink
10.05.2018
17:02:34
@rustem_b, текущий hie собирается как-то так stack stack-yaml stack-8.2.2.yaml build --copy-compiler-tool

Alexander
10.05.2018
17:02:38
unsafeUninterruptibleMask дополнять если, т.к. там букаф много

Google
Mink
10.05.2018
17:03:50
Это если ghc8.2

Rustem
10.05.2018
17:04:03
Это если ghc8.2
а как проверить?

Mink
10.05.2018
17:04:59
stack exec ghci где-нибудь, в калоге, где нет stack.yaml

Rustem
10.05.2018
17:05:47
8.2.2

Mink
10.05.2018
17:06:53
Тогда пробуй, ghc больше скачивать не будет

Rustem
10.05.2018
17:06:59


stack --stack-yaml stack-8.2.2.yaml build --copy-compiler-tool?

Mink
10.05.2018
17:07:56
ага

Rustem
10.05.2018
17:08:34
спс

блин

я понял

кароче я не так реп скачал

A64m
10.05.2018
17:15:25
> ой всё, надоело да, с таким терпением ничего хаскельного не собрать

Google
Leonid
10.05.2018
17:16:43
Хаскель для терпил

Rustem
10.05.2018
17:17:36
GoLang для терпил я 5 минут ждал пока он мне 5 на 2 поделит

ParkeT
10.05.2018
17:18:03
Хаскель для терпил
Россия для россиян, Луна для лунатиков!

Rustem
10.05.2018
17:18:29
Рублёвка для рублей

Leonid
10.05.2018
17:19:08
Заводы - рабочим, землю - крестьянам.

Rustem
10.05.2018
17:19:23
А соски?

Alexander
10.05.2018
17:19:29
банкамер модераторам

Rustem
10.05.2018
17:20:08
власть людям, работы ai'

ParkeT
10.05.2018
17:28:26
            Damn it, Jamal! ??: - I'm free as well, right guys? ? ?: - Yes you are, Jamal! ?

Rustem
10.05.2018
17:29:18
сложный прикол

ParkeT
10.05.2018
17:29:53
Ну, может у меня чувство юмора никакое, хз.

Ilya
10.05.2018
17:40:18
https://markkarpov.com/post/free-monad-considered-harmful.html
Спасибо, интересный подход. Я так понял, что если от AST требуется только различная интерпретация (например вкл/выкл логи), то достаточно строить AST полиморфное по монаде. А если хочется перестраивать AST, то уже Free. А MonadWriter, MonadReader — это тоже получается final tagless encoding?

Alexander
10.05.2018
17:40:51
да

если нужно pro-free(r) мнение - пни @graninas он их любит

Александр
10.05.2018
17:44:54
Я их люблю, но до pro мне далеко. Я сейчас сижу и втупливаю, как мне заменить свою Free на Church. Сам-то язык нормально заменился, а вот с интерпретатором беда.

Александр
10.05.2018
17:46:40
Если бы я еще понял, что ты сказал...

Ilya
10.05.2018
17:52:44
а я понял, как мне кажется ? если фри монада — это разворачивание (построение) AST, то есть что-то вроде анаморфизма, то логично, что интепретатор, который сворачивает (~ катаморфизм) AST к значению, должен делаться через что-то дуальное — кофри

IC
10.05.2018
18:38:12


Google
Abbath
10.05.2018
18:42:33
Там в раст что-то завезли

Пишут existential type но я не уверен

Ilya
10.05.2018
18:45:04
ниче, скоро в хаскель линейные типы завезут, и посмотрим кто кого

A64m
10.05.2018
18:46:40
насчет скоро я бы особо не расчитывал (да и толку от них не особо много будет)

Leonid
10.05.2018
18:48:04
Мы проверим!

Rustem
10.05.2018
18:48:33


IC
10.05.2018
18:48:44
ниче, скоро в хаскель линейные типы завезут, и посмотрим кто кого
Если линейные типы на зависимые полезут - кто кого сборет?

Ilya
10.05.2018
19:02:11
плохой стиль. старайся, чтобы единственным местом в программе, где есть IO, была функция main

Ilya
10.05.2018
19:03:42
и как мне быть?
покажи более содержательный пример, обсудим:)

Leonid
10.05.2018
19:09:07
unsafePerformIO

Anatolii
10.05.2018
20:00:40
Alexander
10.05.2018
20:06:15
а никто не помнит статью олега про sql не такую давнюю?

Victor
10.05.2018
20:11:37
http://www.cs.tsukuba.ac.jp/~kam/paper/pepm2016a.pdf

Alexander
10.05.2018
20:12:17
спасибо

kana
10.05.2018
21:34:34
если не московская - даже не лезь в хасцкель - работу не найдешь
да она почти вся удаленная, в смысле не найдешь

Если линейные типы на зависимые полезут - кто кого сборет?
КришнаСВами вполне себе смог совместить

Google
Александр
11.05.2018
06:21:29
Vladimir
11.05.2018
06:28:10
Кровавая модерастия удаляет картинки с шуточками? :)

Александр
11.05.2018
06:29:00
Я ничего не удалял еще. От слова совсем.

Видел, как сам автор что-то удалял

Может, другие модераторы работают

Leonid
11.05.2018
06:31:08
Может автор ошибся каналом

Dmitry
11.05.2018
06:33:04
Карман привет передавал

Yuriy
11.05.2018
06:34:37
за употребление оборота «от слова совсем» здесь ещё не банят?

Дед Пегас
11.05.2018
06:35:00
Vladimir
11.05.2018
06:36:17
Oleg
11.05.2018
06:37:08
Что плохого в этом обороте?
Очень даже приятный оборот. От слова ретард.

IC
11.05.2018
06:51:10
Плохой совет, учитывая, сколько всего можно сделать с IO.
Именно поэтому из IO и надо по возможности уходить

Александр
11.05.2018
06:58:10
Именно поэтому из IO и надо по возможности уходить
Вычислительную логику нужно выносить из IO. Можно также кодировать эффекты чистым eDSL и потом его исполнять. Но поскольку функции IO - это еще и первоклассный объект, то ничего плохого нет в том, чтобы их генерить в чистом коде, чтобы потом выполнить. А еще есть всякие функции по работе с монадой (mapM, replicateM, etc.) Совет от @Masteroid скорее вреден, чем полезен. В достаточно большой программе IO всяко будет не только в функции main.

Правильный совет звучал бы как-то так: По возможности выносить вычисления в чистые функции, отделять эффекты.

Ilya
11.05.2018
07:00:17
Вычислительную логику нужно выносить из IO. Можно также кодировать эффекты чистым eDSL и потом его исполнять. Но поскольку функции IO - это еще и первоклассный объект, то ничего плохого нет в том, чтобы их генерить в чистом коде, чтобы потом выполнить. А еще есть всякие функции по работе с монадой (mapM, replicateM, etc.) Совет от @Masteroid скорее вреден, чем полезен. В достаточно большой программе IO всяко будет не только в функции main.
>В достаточно большой программе IO всяко будет не только в функции main. да это понятно, только ты посмотри, на какой код я отвечал. Человек пришёл из питона, и пишет как в питоне, с функциями String -> String -> IO. Я же сказал - "старайся". Понятно, что это не всегда возможно. Но в его случае не только возможно, но и необходимо.

Александр
11.05.2018
07:00:47
Вне main скорее всего будет трансформер или ещё какая нашлёпка.
Вне main может быть много чего. Даже IO, завернутое в чистый eDSL, которое потом должно когда-нибудь исполниться

Vladimir
11.05.2018
07:01:37
К сожалению, иногда вынесение из IO стоит слишком дорого.

Александр
11.05.2018
07:02:04
@Masteroid Не вижу такой уж необходимости. Экспериментальный код, захотелось человеку комбинатор сделать, который работает в IO. Стиль по таким кусочкам отслеживать не совсем корректно

Google
IC
11.05.2018
07:02:51
Vladimir
11.05.2018
07:03:18
Ленивый логгинг через monadwriter я так и не осилил, утекал он в память целиком. Проще оказалось в монаду прям io запихнуть.

Vladimir
11.05.2018
07:10:07
Да, узнал это трудным путём.

Пытаясь отделить IO как раз.

Alexander
11.05.2018
07:14:46
на самом деле написать writer через CPS или строгий стейт можно

A64m
11.05.2018
07:22:55
тем временем желающих читать пропозал про лин.типы так и не нашлось, так что секретарь рулевого комитета объявил о поиске желающего его прочесть повторно

Alexander
11.05.2018
07:24:17
у меня есть теория, что фримонады стали популярными от желания использовать IO только в мейн

IC
11.05.2018
07:24:17
Линивые типы..

Evgeniy
11.05.2018
07:26:49
Александр
11.05.2018
07:44:39
у меня есть теория, что фримонады стали популярными от желания использовать IO только в мейн
Фри монады стали популярными, потому что позволяют делать Inversion of Control в чисто функциональном стиле. Сочетаются преимущества eDSL, безопасности, компонуемости, выразительности, при этом синтаксис остается кристально прозрачным.

Напротив, ReaderT паттерн - это IoC в императивном стиле. Работает, но имеет те же самые проблемы.

mtl - стиль тоже из серии "императивный IoC"

A64m
11.05.2018
07:47:18
короче говоря, появились потому, что в хаскеле модулей не было

Александр
11.05.2018
07:47:46
Не знаю.

Alexander
11.05.2018
07:50:29
final tagless это императивщина, так и запишем

Страница 1180 из 1551