
Yuriy
04.04.2018
10:22:45
http://www.cs.ru.nl/~wouters/Publications/DataTypesALaCarte.pdf

Denis
04.04.2018
10:23:33
Я гуглить умею, спасибо. Ответ ожидаю такой: композиция функторов + тайпклассики для интерпретатора.
уверен что когда-то это читал

Pineapple
04.04.2018
10:25:00
Рекурсивность ADT делается при помощи Mu, и функтор из которого делается тип складывается из нескольких независимо определенённых типов. И интерпретатор для тайпклассов, да

Google

Yuriy
04.04.2018
10:25:31

Denis
04.04.2018
10:26:21
олеговщина всякая попадается http://okmij.org/ftp/Haskell/extensible/extensible-a-la-carte.html

IC
04.04.2018
10:26:57
> The goal is to define a data type by cases, where one can add new cases to the data type and new functions over the data type, without recompiling existing code, and while retaining static type safety.

Pineapple
04.04.2018
10:27:12
Мне для раширяемого ADT, но я пока не уверен, что это мне вообще надо

Denis
04.04.2018
10:27:31
походу оно и есть

IC
04.04.2018
10:27:38
да
> As the second example illustrates, we can also write and evaluate expressions of type Expr (Val :+: Mul), thereby leaving out addition.
In fact, once we have a menu of expression building blocks, we can assemble our own data types à la carte.
ничотак, миленько...

Yuriy
04.04.2018
10:50:54
кажется, пробегал где-то общий тайпкласс — абстракция над Аттопарсеком и Мегапарсеком. кто-нибудь помнит название?

A64m
04.04.2018
10:53:16
для аттопарсека и парсека вроде parsers был

Yuriy
04.04.2018
10:56:51
ага, есть там такой класс

Google

Yuriy
04.04.2018
10:56:57

Denis
04.04.2018
11:31:21
a la carte, recursion schemes, compdata, compstrat и тд

kana
04.04.2018
11:32:15
госпади
сколько же раз ты это писал уже

Denis
04.04.2018
11:33:23
или еще какую дичь, что ты 100500 раз повторяешь

Pineapple
04.04.2018
11:34:15
Я к таким вещам отношусь по рабоче-крестьянски. Неразличимы? Одно и то же

kana
04.04.2018
11:34:46
лол, окей, мне интересно даже, как два раза (в разных чатах) сравнится с ежедневной мантрой про fix~nu~mu в телеге, твиттере, ютубе, везде подряд
при этом без контекста из определений, то есть тупо фраза ради фразы

Denis
04.04.2018
11:35:46

Pineapple
04.04.2018
11:36:17
А можно подробнее?

Denis
04.04.2018
11:36:34

Pineapple
04.04.2018
11:36:44
Давай

Denis
04.04.2018
11:38:38
Давай
ну вот смотри, у них общий базовый функтор TreeF, и я могу переходить от одного к другому просто через refix
https://github.com/xgrommx/purescript-experiments/blob/master/src/Main.purs#L59-L63

Pineapple
04.04.2018
11:39:43
А где опредления Mu, Nu, refix?

Denis
04.04.2018
11:40:12

Pineapple
04.04.2018
11:40:15
нашел

Denis
04.04.2018
11:40:21
тут есть свой базовый функтор TreeF

Anatolii
04.04.2018
13:31:58
В описании у чувака в профиле на гитхабе:
Able to write 1k+ lines of Golang code per day.

Dmitry
04.04.2018
13:32:45
Реализуя полиморфизм перегрузкой?

Google

kana
04.04.2018
13:33:27
мультикурсор, написал пару функцию для разных типов и вот они - 1к строк

IC
04.04.2018
13:33:33

Denis
04.04.2018
13:33:36
всего одним макросом в виме

Vladimir
04.04.2018
13:36:14
"наговнякать, не приходя в сознание"

Слава
04.04.2018
14:05:52
А кто тут в чате был из Сбертеха?
Сбербанк, это фиаско
Машинлёрнинг, говорите? Тут внезапно выяснилось каким образом Сбербанк выявляет "финансирование террористов", и блокирует счета юриков. Тупо список ключевых слов. И в основном, далекие от терроризма. Например, слово «Агент». Блокируется все переводы со словами в назначении платежа «за химический реАГЕНТ», «по АГЕНТскому договору» и т.д. Пострадавшие (а их уже много) свидетельствуют: в банке отвечают, мол, ничего сделать не можем, блокируется автоматически, собирайте документы, и не забудьте взять справку, что вы не террорист.
Боюсь проверять, но по слову «Госдеп» или «Суперагент», наверное, не просто блокируют, но и сигнал на пульт ФСБ поступает. @infernal_money
Кстати, на ютюб-канале «Адские бабки» уже вышел видос, как избежать блокировки счета, и образец жалобы в прокуратуру, велкам.

kana
04.04.2018
14:08:30
вот это реклама

Слава
04.04.2018
14:08:58
вот это реклама
У них все посты такие. Но подход с ключевиками хорош, не правда ли?

Artem
04.04.2018
14:34:17
Подскажите, пожалуйста, при запуске программы
$ ./Main +RTS -Dg
Где почитать про флаг -Dg? Не смог найти в документации GHC. Особенно интересует, что есть MUT, про который он пишет.

Kirill
04.04.2018
14:35:45
http://downloads.haskell.org/~ghc/latest/docs/html/users_guide/runtime_control.html#rts-flag--D%20%E2%9F%A8x%E2%9F%A9
есть же всё?

Artem
04.04.2018
14:36:11

Kirill
04.04.2018
14:36:35
Use +RTS -? to find out which debug flags are supported.

Artem
04.04.2018
14:37:14
Я думал, есть где-то документация…
Нет GHC сейчас рядом (и вообще компьютера)

Kirill
04.04.2018
14:38:20
у меня по данным флагам ничего внятного не видать :(

Artem
04.04.2018
14:39:13

Kirill
04.04.2018
14:44:32
собрал с -debug, выдаёт
-Ds DEBUG: scheduler
-Di DEBUG: interpreter
-Dw DEBUG: weak
-DG DEBUG: gccafs
-Dg DEBUG: gc
-Db DEBUG: block
-DS DEBUG: sanity
-Dt DEBUG: stable
-Dp DEBUG: prof
-Da DEBUG: apply
-Dl DEBUG: linker
-Dm DEBUG: stm
-Dz DEBUG: stack squeezing
-Dc DEBUG: program coverage
-Dr DEBUG: sparks
-DC DEBUG: compact
сойдёт @ulysses4ever ?

Google

Artem
04.04.2018
14:45:50
сойдёт @ulysses4ever ?
Это лучше, чем ничего, спасибо! Надо, видимо, почитать про GC Commentary, чтобы понять что есть MUT…

Kirill
04.04.2018
14:48:21
не, ну это-то просто, с той же страницы хелпа - "The amount of CPU time and elapsed wall clock time while initialising the runtime system (INIT), running the program itself (MUT, the mutator), and garbage collecting (GC)"
т.е. по сути это полезная нагрузка

Artem
04.04.2018
14:48:44

Alexander
04.04.2018
16:35:07
или либа?

Pineapple
04.04.2018
16:35:23
Надо почитать

Alexander
04.04.2018
16:38:50

Artem
04.04.2018
16:39:57

Alexander
04.04.2018
16:40:48

Artem
04.04.2018
16:42:45

Denis
04.04.2018
17:49:33
@qnikst ^

Alexander
04.04.2018
17:58:03
пасибо

Zool
04.04.2018
20:59:17
Как правильно паковать ресурсы (.rc) под винду?
сейчас делаю так:
1 кастомный билд кабал с хуком, где компилирую ресурсы windres-ом
2 в .cabal (или package.yaml) направляю скомпилированный файл ресурсов .o в ghc через ghc-options, что мне кажется не вполне верным идейно. Но это работает
Как это делать правильно?

Denis
04.04.2018
21:19:23
Хм... Неожиданно: https://twitter.com/reiddraper/status/981285329314500613

Zool
04.04.2018
21:28:27
в вакансии ни слова про хаскелл, может чисто для привлечения внимания?)

Vyacheslav
04.04.2018
21:29:51
думаю потому что там это не главный критерий
больше упирают на PL Theory

Alexander
04.04.2018
22:03:15
я же говорю рубисты мечтают о хаскеле

Google

Pavel
04.04.2018
22:30:40
что ж поделать, хаскель и руби -- два языка с чистой метафорой: фп и ооп ;)

Zool
05.04.2018
05:05:11
Так про компиляцию ресурсов никто не знает? На просторах интернета так и не смог найти ответа

Aleksey
05.04.2018
05:21:18
Мало кто пишет на Haskell под Windows да ещё и десктопные приложения
Поэтому и не отвечают, думаю

Leonid
05.04.2018
06:11:25

Alexander
05.04.2018
06:24:46

Alister
05.04.2018
06:41:00
че?

Yuuri
05.04.2018
06:42:53
Хаскель ещё и лучший императивный язык так-то!

Oleg
05.04.2018
06:43:51
Хорошее ООП - отсутствующее ООП

Hot
05.04.2018
06:44:43
А какой худший императивный язык?

Nick
05.04.2018
06:45:13
Ответ все , принимается?)

Alexander
05.04.2018
06:45:15
nyan-nyan

Zool
05.04.2018
06:45:23

Alexander
05.04.2018
06:45:27
потому, что вы о нём не слышали