Aleksei (astynax)
Как только я ухожу, то становится некого троллить :)
Alexander
вот, но как-то те цели, что выше не достаточные для того, чтобы действительно стоило начинать, даже в игрушечном режиме
Alexander
в принципе интересно какие ещё вещи из нового мира можно затащить как базовые,
какой-нить обобщенный подход к стримингу, чтобы можно было пайпы кондуиты машинки инжектить?
свертки и развертки для базовых струткур данных, чтобы можно было controlled fusion пилить вместо(вместе) с правилами?
и на основе предыдущего простые вектора, у которых не будет проблем с over-специализацией если звезды не сходятся
Alexander
в общем все очень смешано и спутано
Alexander
наверное имеет смысл если и играться с этим то какими-то мелкими шагами
Alexander
ну вот, никому не интересно :)
Alexander
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
а сам такой невидимых пробелов допечатал
Alexander
не, в какое-то другое поле что-то попало
Alexander
@A64m_qb0 вот что ещё хорошего придумать можно?
Alexander
заменить error на Maybe, например в read
Alexander
ну и ToString в read можно добавить, но не уверен что это будет удобно
Alexander
проще уж вызывать конкретные функции вместо полиморфной
Alexander
ну вот уж делать очередной safe имхо неверно
Alexander
в крайнем случае read :: Prism String a
Alexander
хотя это тоже не факт что лучшее
Alexander
ну тоже неплохо
Alexander
просто error вне IO это так себе
Alexander
это уже даже не hask
кана
когда пишешь прити-принтер, возникает большая проблема со скобками, которые можно убрать при системе приортитетов и ассоциативности
я сейчас пишу свой велосипед, но полагаю, проблема уже давно решена
знает кто какие ссылки или кейворды для поиска решения?
Alexander
error возвращает bottom?
кана
ну да
кана
undefined :: a
undefined = error "undefined"
Cheese
кана
хм, интересно, всегда игнорировал showPrec
там правда ассоциативность игнорируется
A64m
@A64m_qb0 вот что ещё хорошего придумать можно?
у меня были мысли насчет "двухэтажной" base где есть один набор инструментов, где все убогонькое, но дешевое, т.е. какой-нибудь foldl вместо списков, фьюжн для векторов с явной конвертацией в стримы, и чтоб если не сфьюзилось - не компилируется и т.д.
и нормальная высокоуровневая base в которой больше на удобство упор, но с какими-то понятными оверхедами, т.е. ленивые списки, фьюжн работает где работает и т.д.
A64m
Alexander
я боюсь, что нельзя полноценно
A64m
я вот где-то вроде видел такую попытку, но особо не вникал, насколько она удачная
A64m
сейчас попробую найти
Alexander
кстати а как звались либы и плагины для проверки того что сфьюзилось?
Dmitry
а вот такой смешной вопрос - кто-то помнит, как устанавливать более свежий ghc на убунту?
Dmitry
где всё всегда несвежее
Alexander
hvr овский ppa подключить
Dmitry
а то у меня cabal install cabal-install поломался
Alexander
https://launchpad.net/~hvr/+archive/ubuntu/ghc
кана
A64m
A64m
вообще, наверное, это можно делать в каждом фьюжн фреймворке, где есть правила перезаписи, которые базовую версию на каком-то этапе вставляют, после того как сфьюзить не удалось, и вот вместо этой фолбечной версии что-то некомпилируемое правилами вставлять
Alexander
чота не найти, ну и ладно
A64m
плагин для проверки что соптимизировалось для тестов только помню http://hackage.haskell.org/package/inspection-testing - т.е. там нужны образцы для того как должно было оптимизироваться
A64m
т.е. не для обсуждаемого случая
A64m
а вот это более релевантно https://github.com/nomeata/list-fusion-probe/blob/master/Data/List/Fusion/Probe.hs
Alexander
а да это было
Cheese
Хакач теперь внутренние библиотеки показывает как обычные зависимости, конечно, с неправильными/битыми ссылками
Alexander
они вроде так и не решили что с ними делать и как правильно
Cheese
по-моему, не показывать ложные зависимости лучше, чем показывать
Алексей
А как в линзах нетотальные функции сделаны? Призмами?
кана
да
A64m
они тотальные. нетотальными можно сделать весь "конвейер" оператором ^?!
кана
он не говорил "нетотальные призмы"
он сказал "нетотальные функции", про тотальность призм ничего нет
A64m
ну вот чтоб сделать нетотальную функцию из призмы/траверсала, надо оператор ^?! использовать
Evgeniy
очень декларативный оператор
Denis
Вполне, учитывая что каждый символ тут что-то да значит. ^ - мы делаем view, ? - через призму, ! - мы используем её небезопасно, как нетотальную
Leonid 🦇
crackhead jesus - твиттер про Дункана
Leonid 🦇
> Seriously your developers look underfed and overworked or they have shrunken with the prices...
Leonid 🦇
Криптаны такие токсичные
Alexander
а че им еще делать?
Alexander
у них заработок строится на обмане и лицемерии
Leonid 🦇
https://secure.meetupstatic.com/photos/event/4/5/1/8/highres_469877688.jpeg
нет ну а чо
Anatolii
кана
Anatolii
ну не мешать другим чат читать
Anatolii
сейчас он много места занимает в окне
Leonid 🦇
РосНикНадзор
Anatolii
надо больше скролить
кана
это просто случайно получившаяся лямбда для факториала от пяти в консоль вышла, поставил на ник просто потому что почему бы и нет
кана
хм, вообще его не доложно быть в окне
кана
ну то есть все нормальные клиенты, что я знаю, транкатят ники
Leonid 🦇
консольный телеграмм может и нет. или вебморда
Anatolii
вебморда
кана
ужасная судьба
Leonid 🦇
спили мушку, Крошка. У тебя слишком большая мушка.
A64m
а что за ник был?
кана
написал факториал а он завис
кана
(λα.(λβ.α(ββ))(λβ.α(ββ)))(λαβ.(λγδε.γδε)((λγ.γ(λδεζ.ζ)(λδε.δ))β)((λγδε.δ(γδε))(λγδ.δ))((λγδε.γ(δε))β(α((λγδε.(λζ.ζ(ληθ.η))(γ(λζ.(ληθι.ιηθ)((λη.η(λθι.η))ζ)(δ((λη.η(λθι.η))ζ)))((λζηθ.θζη)(λζη.η)(λζη.η))))β))))(λαβ.α((λγδ.γ((λεζ.ε((ληθ.η((λικ.ι((λλμ.μ)ικ))ηθ))εζ))γδ))αβ))
Anatolii
Anatolii
вот так у меня чат выглядил
Anatolii
спаибо что убрал ник