Andrew
https://github.com/neovimhaskell/haskell-vim
Dmitry
я еще hasktags использую
Dmitry
правда сотрудники регулярно выпиливают его хуки из Setup.hs
Evgeniy
когданибудь и я буду писать на хаскеле на работе
Alexander
нарушители будут караться приседаниями с подушкой в вытянутых руках
слабовато. Мы вот разбивались по парам и с партой приседали. Если парта наклонялось приседание не засчитывали
Dmitry
хаскеллисты добрые, спросите в фпроге_спб
分解物質
Или чистые функции в C (по аналогии с монадами в Haskell) — читерство?
в C++ есть самые настоящие чистые функции -- constexpr функции. даже ещё более чистые чем в haskell
Alexander
это макросы
Alexander
нормальные, человеческие. но макросы
分解物質
constexpr функции не макросы
Alexander
все что compile time это макросы
分解物質
они такие же функции как и все функции только в них запрещён стейт и сайд эффекты
Alexander
а, точно
Alexander
я чет тупанул
Alexander
c++14 не читал
分解物質
все что compile time это макросы
constexpr функция остаётся в бинарнике как функция, которой можно кидать значения неизвесные в compile-time
Dmitry
Вот у меня в основном модуле взаимодействие с C++ через Vector.Storable. А надо ли потом для архитектурной красоты переводить в Vector.Unboxed? Или это нормально, что по всей программе будет Vector.Storable раскидано?
Alexander
да, я уже загуглил
Alexander
ну все, подрубаем монады и пишем чистый код
Alexander
вот хороший язык кресты. Не сам по себе, а потому что развивается грамотно
Alexander
ждем C++30
Dmitry
C++++++++++++++++++++++++++++++++
IC
C++++++++[>++++[>++>+++>+++>+««-]>+>+>-»+[<]<-]».>---.+++++++..+++.».<-.<.+++.------.--------.»+.>++.
Dmitry
Segmentation fault
Крылатый
Andrew
В последнее время в чате стало слишком шумно 😞
Alexander
видать у тебя ни разу не засчитали 😅
вот не надо тут, и 30 раз подряд делали
A64m
15-45%, матерь божья
меньше десятичного порядка - пренебрежимо мало, значит
Leonid 🦇
Ну для писунов на руби то конечно. Но мы же боремся с jvm
Alexander
десятичные порядки не важны, важна только апроксимация
Alexander
как рубист говорю
Алексей
Порядок порядка?
Alexander
если пинги отваливаются по таймауту то нужно просто новое железо для сервера
A64m
на бекпачном недоlinear, который Кметт тоже делает сейчас, может заметнее разница будет
Alexander
@A64m_qb0 а можешь напомнить, чтобы ты от правильной prelude хотел?
Leonid 🦇
/me хотел бы не писать импорты из Control.Monad, Control.Applicative, Data.Traversable
A64m
@A64m_qb0 а можешь напомнить, чтобы ты от правильной prelude хотел?
да у меня нету для этого какой-то готовой компактной формулировки
Alexander
неготовая некомпактная и противоречивая тоже принимается
Alexander
все равно я ничего полезного делать не буду, может поиграюсь немного просто
Leonid 🦇
а еще Data.Function
Dmitry
а моноид еще не в прелюдии?
Alexander
ну точнее не сколько prelude, а сколько base в целом
A64m
Я сейчас подумал, как надо прелюдию сделать, и мне аж плохо сделалось - это же какой-то моток нерешенных проблем, и как решать не понятно
Alexander
ну кроме того, что IO нахрен выкинуть и сделать сигнатуры для debug
Leonid 🦇
переименовать Show в Debug, и не требовать read . show
A64m
выкидывание-то, кстати, проблему не решает
A64m
переименовать Show в Debug, и не требовать read . show
как его тогда для отладки применять, если не требовать?
A64m
это ж нужно для того чтоб какой-нибудь контрипиример из квикчека в интерпретатор вставлять
Leonid 🦇
Так это debug print же
Leonid 🦇
хм.
A64m
ну или выхлоп из лога в интерпретатор вставлять
Leonid 🦇
А как же show для функций делать?
A64m
никак
Alexander
/me хотел бы не писать импорты из Control.Monad, Control.Applicative, Data.Traversable
можно экспортировать все это из отдельного модуля!
Leonid 🦇
ну т.е. рекорд с функцией мне уже не запринтить будет
A64m
ну да, можно инстанс делать для функций
A64m
просто этот рекорд с функциями потом никуда не запихнуть
Leonid 🦇
ну вот я про это
Leonid 🦇
ну функции можно подменить
Alexander
кстати инстанс Show для функций есть
Alexander
в base
A64m
имеется в виду, что не надо нарушать это требование на ровном месте, когда можно и не нарушать
A64m
да
A64m
сиротский в каком-то там модуле
Alexander
т.е. что я вижу, что хотелось вы в экспериментальном пакете: перевести часть на backpack: a. отладку б. ошибки какой-то общий подход к частичным функциям и ошибкам, lens? использовать пакеты, которые проверяют что что-то там инлайнится и оптимизируется
Alexander
удостовериться, что для частичных функций есть аннотации для liquid haskell
Alexander
убедиться, что можно использовать совместно с настоящей base
A64m
из подхода к частичным функциям - лучше всего lens
Alexander
вообще тяжело придумывать такие вещи, когда не страдаешь и видишь смысл в текущей ситуации, хоть она устраивает не до конца
Alexander
в этом пути лучше быть фанатиком
Andrew
А существует ли чатик по elm ?
Alexander
наверняка
кана
@elm_ru
Alexander
@astynax ^ (не в курсе)?
Andrew
О, спасибо!
Aleksei (astynax)
вон, Кана написал уже
Aleksei (astynax)
Только там есть упоротые личности с которыми бесполезно спорить
кана
там бывает весело, когда тайпклассы обсуждаем
кана
но так-то в чате мало жизни