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
кана
когда пишешь прити-принтер, возникает большая проблема со скобками, которые можно убрать при системе приортитетов и ассоциативности я сейчас пишу свой велосипед, но полагаю, проблема уже давно решена знает кто какие ссылки или кейворды для поиска решения?
кана
это уже даже не hask
вполне себе хаск, каждый лифтед тип в хаск имеет боттом
Alexander
error возвращает bottom?
кана
ну да
кана
undefined :: a undefined = error "undefined"
кана
хм, интересно, всегда игнорировал showPrec там правда ассоциативность игнорируется
A64m
@A64m_qb0 вот что ещё хорошего придумать можно?
у меня были мысли насчет "двухэтажной" base где есть один набор инструментов, где все убогонькое, но дешевое, т.е. какой-нибудь foldl вместо списков, фьюжн для векторов с явной конвертацией в стримы, и чтоб если не сфьюзилось - не компилируется и т.д. и нормальная высокоуровневая base в которой больше на удобство упор, но с какими-то понятными оверхедами, т.е. ленивые списки, фьюжн работает где работает и т.д.
Alexander
я боюсь, что нельзя полноценно
A64m
я вот где-то вроде видел такую попытку, но особо не вникал, насколько она удачная
A64m
сейчас попробую найти
Alexander
кстати а как звались либы и плагины для проверки того что сфьюзилось?
Dmitry
а вот такой смешной вопрос - кто-то помнит, как устанавливать более свежий ghc на убунту?
Dmitry
где всё всегда несвежее
Alexander
hvr овский ppa подключить
Dmitry
а то у меня cabal install cabal-install поломался
Alexander
https://launchpad.net/~hvr/+archive/ubuntu/ghc
A64m
кстати а как звались либы и плагины для проверки того что сфьюзилось?
такие штуки обычно Joachim Breitner делает, может так найти можно
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
сейчас он много места занимает в окне
Leonid 🦇
РосНикНадзор
Anatolii
надо больше скролить
кана
это просто случайно получившаяся лямбда для факториала от пяти в консоль вышла, поставил на ник просто потому что почему бы и нет
кана
хм, вообще его не доложно быть в окне
кана
ну то есть все нормальные клиенты, что я знаю, транкатят ники
Leonid 🦇
консольный телеграмм может и нет. или вебморда
Anatolii
вебморда
кана
ужасная судьба
Leonid 🦇
спили мушку, Крошка. У тебя слишком большая мушка.
A64m
а что за ник был?
кана
написал факториал а он завис
кана
(λα.(λβ.α(ββ))(λβ.α(ββ)))(λαβ.(λγδε.γδε)((λγ.γ(λδεζ.ζ)(λδε.δ))β)((λγδε.δ(γδε))(λγδ.δ))((λγδε.γ(δε))β(α((λγδε.(λζ.ζ(ληθ.η))(γ(λζ.(ληθι.ιηθ)((λη.η(λθι.η))ζ)(δ((λη.η(λθι.η))ζ)))((λζηθ.θζη)(λζη.η)(λζη.η))))β))))(λαβ.α((λγδ.γ((λεζ.ε((ληθ.η((λικ.ι((λλμ.μ)ικ))ηθ))εζ))γδ))αβ))
Anatolii
Anatolii
вот так у меня чат выглядил
Anatolii
спаибо что убрал ник