
Alexander
06.04.2018
09:12:58
в base

A64m
06.04.2018
09:13:03
имеется в виду, что не надо нарушать это требование на ровном месте, когда можно и не нарушать
да
сиротский в каком-то там модуле

Google

Alexander
06.04.2018
09:15:35
т.е. что я вижу, что хотелось вы в экспериментальном пакете:
перевести часть на backpack:
a. отладку
б. ошибки
какой-то общий подход к частичным функциям и ошибкам, lens?
использовать пакеты, которые проверяют что что-то там инлайнится и оптимизируется
удостовериться, что для частичных функций есть аннотации для liquid haskell
убедиться, что можно использовать совместно с настоящей base

A64m
06.04.2018
09:16:36
из подхода к частичным функциям - лучше всего lens

Alexander
06.04.2018
09:16:52
вообще тяжело придумывать такие вещи, когда не страдаешь и видишь смысл в текущей ситуации, хоть она устраивает не до конца
в этом пути лучше быть фанатиком

Andrew
06.04.2018
09:17:48
А существует ли чатик по elm ?

Alexander
06.04.2018
09:18:02
наверняка

kana
06.04.2018
09:18:11
@elm_ru

Alexander
06.04.2018
09:18:11
@astynax ^ (не в курсе)?

Andrew
06.04.2018
09:18:38
О, спасибо!

Aleksey
06.04.2018
09:18:45
вон, Кана написал уже
Только там есть упоротые личности с которыми бесполезно спорить

Google

kana
06.04.2018
09:19:07
там бывает весело, когда тайпклассы обсуждаем
но так-то в чате мало жизни

Aleksey
06.04.2018
09:19:37
Как только я ухожу, то становится некого троллить :)

Alexander
06.04.2018
09:23:23
вот, но как-то те цели, что выше не достаточные для того, чтобы действительно стоило начинать, даже в игрушечном режиме
в принципе интересно какие ещё вещи из нового мира можно затащить как базовые,
какой-нить обобщенный подход к стримингу, чтобы можно было пайпы кондуиты машинки инжектить?
свертки и развертки для базовых струткур данных, чтобы можно было controlled fusion пилить вместо(вместе) с правилами?
и на основе предыдущего простые вектора, у которых не будет проблем с over-специализацией если звезды не сходятся
в общем все очень смешано и спутано
наверное имеет смысл если и играться с этим то какими-то мелкими шагами
ну вот, никому не интересно :)
Add informative comments to each field in the cabal file (y/n)? [default: n] n
<stdin>: hGetLine: invalid argument (invalid byte sequence)
cabal-install is so cabal-install

Alexander
06.04.2018
09:42:23
а сам такой невидимых пробелов допечатал

Alexander
06.04.2018
09:43:10
не, в какое-то другое поле что-то попало
@A64m_qb0 вот что ещё хорошего придумать можно?

Alexander
06.04.2018
09:50:40
заменить error на Maybe, например в read
ну и ToString в read можно добавить, но не уверен что это будет удобно
проще уж вызывать конкретные функции вместо полиморфной

Alexander
06.04.2018
09:52:43
ну вот уж делать очередной safe имхо неверно
в крайнем случае read :: Prism String a
хотя это тоже не факт что лучшее

Alexander
06.04.2018
09:53:27
ну тоже неплохо
просто error вне IO это так себе

Google

Alexander
06.04.2018
09:54:32
это уже даже не hask

kana
06.04.2018
09:54:51
когда пишешь прити-принтер, возникает большая проблема со скобками, которые можно убрать при системе приортитетов и ассоциативности
я сейчас пишу свой велосипед, но полагаю, проблема уже давно решена
знает кто какие ссылки или кейворды для поиска решения?

Alexander
06.04.2018
09:55:38
error возвращает bottom?

kana
06.04.2018
09:55:43
ну да
undefined :: a
undefined = error "undefined"

Yuriy
06.04.2018
09:56:16

kana
06.04.2018
09:59:59
хм, интересно, всегда игнорировал showPrec
там правда ассоциативность игнорируется

A64m
06.04.2018
10:16:14
@A64m_qb0 вот что ещё хорошего придумать можно?
у меня были мысли насчет "двухэтажной" base где есть один набор инструментов, где все убогонькое, но дешевое, т.е. какой-нибудь foldl вместо списков, фьюжн для векторов с явной конвертацией в стримы, и чтоб если не сфьюзилось - не компилируется и т.д.
и нормальная высокоуровневая base в которой больше на удобство упор, но с какими-то понятными оверхедами, т.е. ленивые списки, фьюжн работает где работает и т.д.


Alexander
06.04.2018
10:19:25
я боюсь, что нельзя полноценно

A64m
06.04.2018
10:20:16
я вот где-то вроде видел такую попытку, но особо не вникал, насколько она удачная

A64m
06.04.2018
10:20:22
сейчас попробую найти

Alexander
06.04.2018
10:20:30
кстати а как звались либы и плагины для проверки того что сфьюзилось?

Dmitry
06.04.2018
10:20:57
а вот такой смешной вопрос - кто-то помнит, как устанавливать более свежий ghc на убунту?
где всё всегда несвежее

Alexander
06.04.2018
10:21:15
hvr овский ppa подключить

Dmitry
06.04.2018
10:21:17
а то у меня cabal install cabal-install поломался

Alexander
06.04.2018
10:21:33
https://launchpad.net/~hvr/+archive/ubuntu/ghc

kana
06.04.2018
10:22:28

Google

A64m
06.04.2018
10:22:49
вообще, наверное, это можно делать в каждом фьюжн фреймворке, где есть правила перезаписи, которые базовую версию на каком-то этапе вставляют, после того как сфьюзить не удалось, и вот вместо этой фолбечной версии что-то некомпилируемое правилами вставлять

Alexander
06.04.2018
10:26:00
чота не найти, ну и ладно

A64m
06.04.2018
10:27:24
плагин для проверки что соптимизировалось для тестов только помню http://hackage.haskell.org/package/inspection-testing - т.е. там нужны образцы для того как должно было оптимизироваться
т.е. не для обсуждаемого случая
а вот это более релевантно https://github.com/nomeata/list-fusion-probe/blob/master/Data/List/Fusion/Probe.hs

Alexander
06.04.2018
10:33:05
а да это было

Yuriy
06.04.2018
10:35:44
Хакач теперь внутренние библиотеки показывает как обычные зависимости, конечно, с неправильными/битыми ссылками

Alexander
06.04.2018
10:37:09
они вроде так и не решили что с ними делать и как правильно

Yuriy
06.04.2018
10:42:22
по-моему, не показывать ложные зависимости лучше, чем показывать

Admin
ERROR: S client not available

Pineapple
06.04.2018
11:29:40
А как в линзах нетотальные функции сделаны? Призмами?

kana
06.04.2018
11:32:00
да

A64m
06.04.2018
11:32:58
они тотальные. нетотальными можно сделать весь "конвейер" оператором ^?!

kana
06.04.2018
11:34:31
он не говорил "нетотальные призмы"
он сказал "нетотальные функции", про тотальность призм ничего нет

A64m
06.04.2018
11:35:57
ну вот чтоб сделать нетотальную функцию из призмы/траверсала, надо оператор ^?! использовать

Yauheni
06.04.2018
11:45:26
очень декларативный оператор

Denis
06.04.2018
11:47:56
Вполне, учитывая что каждый символ тут что-то да значит. ^ - мы делаем view, ? - через призму, ! - мы используем её небезопасно, как нетотальную

Leonid
06.04.2018
12:26:28
crackhead jesus - твиттер про Дункана
> Seriously your developers look underfed and overworked or they have shrunken with the prices...

Google

Leonid
06.04.2018
12:27:17
Криптаны такие токсичные

Alexander
06.04.2018
12:31:23
а че им еще делать?
у них заработок строится на обмане и лицемерии

Leonid
06.04.2018
13:20:02
https://secure.meetupstatic.com/photos/event/4/5/1/8/highres_469877688.jpeg
нет ну а чо

Anatolii
06.04.2018
13:21:32

kana
06.04.2018
13:21:50

Anatolii
06.04.2018
13:22:21
ну не мешать другим чат читать
сейчас он много места занимает в окне

Leonid
06.04.2018
13:22:32
РосНикНадзор

Anatolii
06.04.2018
13:22:36
надо больше скролить

kana
06.04.2018
13:22:37
это просто случайно получившаяся лямбда для факториала от пяти в консоль вышла, поставил на ник просто потому что почему бы и нет
хм, вообще его не доложно быть в окне
ну то есть все нормальные клиенты, что я знаю, транкатят ники

Leonid
06.04.2018
13:23:26
консольный телеграмм может и нет. или вебморда

Anatolii
06.04.2018
13:23:35
вебморда

kana
06.04.2018
13:23:51
ужасная судьба

Leonid
06.04.2018
13:23:58
спили мушку, Крошка. У тебя слишком большая мушка.

A64m
06.04.2018
13:25:39
а что за ник был?

kana
06.04.2018
13:26:09
(λα.(λβ.α(ββ))(λβ.α(ββ)))(λαβ.(λγδε.γδε)((λγ.γ(λδεζ.ζ)(λδε.δ))β)((λγδε.δ(γδε))(λγδ.δ))((λγδε.γ(δε))β(α((λγδε.(λζ.ζ(ληθ.η))(γ(λζ.(ληθι.ιηθ)((λη.η(λθι.η))ζ)(δ((λη.η(λθι.η))ζ)))((λζηθ.θζη)(λζη.η)(λζη.η))))β))))(λαβ.α((λγδ.γ((λεζ.ε((ληθ.η((λικ.ι((λλμ.μ)ικ))ηθ))εζ))γδ))αβ))

Anatolii
06.04.2018
13:26:19
вот так у меня чат выглядил
спаибо что убрал ник