Dmitry
у меня 👆🏻было в хаскелле даже не NPE, а настоящий double list memory corruption
Sherzod
NPE это всё преимущество?
Dmitry
не далее, как сегодня утром
Sherzod
При чем тут зависимые типы?
Dmitry
доказывать код, например
Sherzod
доказывать код, например
По примеру конкатенации векторов это понятно
Sherzod
Что, так часто векторы конкатенируют?
Sherzod
Ну хорошо, часто
Sherzod
Но для этого зависимыми типами обмазыааться
Sherzod
Понимаю, плюшка
Dmitry
я нить беседы потерял
Dmitry
мы сравниваем, что можно а что нельзя сделать на двух тьюринг-полных языках?
Anonymous
Leonid 🦇
@voidlizard у тебя стрёмные бинды к сишной либе, так что не считается
Dmitry
ну, давайте на джаве например решим последнюю специальную олимпиаду, в том же временном фрейме, что и хаскель. ну или лучше
Anonymous
было же решение на скале
Dmitry
наложим дополнительное условие: быстрый старт, нативный код и отсутствие рантайм-зависимостей, кроме libgmp
Leonid 🦇
во первых в джаве не пишут в файлы, они пишут сразу в кафку
Dmitry
специально-олимпиадное, просьба не путать
Dmitry
задача была из реальной жизни, как выяснилось. впрочем, так и начинаются всегда специальные олимпиады
Sherzod
Хм, дай почитать... Вернусь
Dmitry
https://gist.github.com/voidlizard/c736e3d7fcd382c6f9904f8b653102b5
Dmitry
https://gist.github.com/voidlizard/a27799d66ee8de424e911e7632c80c73
Алексей
Dmitry
но вообще постановка что можно / что нельзя довольно дурацкая
Dmitry
берем брейнфак - почти половина форта
A64m
можно писать, а можно не писать
Dmitry
дописываем до форта
Dmitry
на форте пишем лисп
Dmitry
на лиспе пишем компилятор лиспа
Dmitry
на нем пишем хаскель
Dmitry
профит
Dmitry
так что можно на джаве, но нельзя на хаскелле - бессмленная постановка вопроса. на жабке ж можно написать лисп, а значит можно всё
A64m
NPE нельзя, SIGSEGV можно, а NPE нельзя
есть библиотека Кметта, где можно NPE получать
kosc
Ребят, как насчёт пятничного вопроса. Можно писать vim-плагины на Haskell? И если да, то как?
Алексей
есть библиотека Кметта, где можно NPE получать
Значит можно, если очень постараться
A64m
да там удобно все, особо стараться не надо
Dmitry
небось, там специальные расширения языка нужны
Алексей
Для чего они не нужны? Дл факториалов?
Sherzod
Любимый раст не оплошал
Sherzod
А первые варианты питона и хаскеля не сравнимы
Anonymous
unsafePerformIO $ peek nullPtr
Anonymous
вот и npe?
Sherzod
Форматированную лапшу хаскеля менее удобно читать чем краусавчега питончега
Алексей
Так Vector.Storable тоже unsafePerformIO через unsafePerformIO
A64m
на питоне циклы же. а циклы нечитаемы
Leonid 🦇
{-# LANGUAGE NullPointerException #-}
Алексей
Dmitry
@Epikur я почитал достаточно кросаучега петончега, когда большую систему на нем делали
Dmitry
когда когда много или он сложный - кроусаучег сразу превращается в калодемона
Leonid 🦇
питон, как и все монотипизированные языки, невозможно рефакторить
A64m
https://github.com/ekmett/structs/blob/master/src/Data/Struct/Internal.hs#L44
Anonymous
странно оно просто () выдает
Leonid 🦇
@A64m_qb0 найс
Алексей
питон, как и все монотипизированные языки, невозможно рефакторить
ТОлько если требовать чтобы оно работало после рефакторинга
Dmitry
ну для однострочников вполне ок, о чем и написано
Dmitry
но по скорости слил, ну и это не питон, для начала
Dmitry
да что-то пока не показалось по этой олимпиаде
Dmitry
вербозно
Dmitry
хаскель + си всё еще котируется.
Sherzod
да что-то пока не показалось по этой олимпиаде
А что не показалось? Он слил Сишке, тем более кода на расте я в статье не увидел. По ссылкам переходить не стал
Dmitry
код в ссылках
Sherzod
+ на расте небезопасно писать не получиться, если явно этого не делать
Dmitry
если нет, то забыл добавить
Dmitry
но мне кажется не забыл
Dmitry
в тексте нет кода, потому что его дофига и целые проекты
Dmitry
с карго и вот этим всем
Dmitry
не, ну а так что - конфа по расту вон там: 👈
Sherzod
Да знаю я
Sherzod
Мерсинвальда тоже знаю
Sherzod
Хоть он болтает много, но человек дела
Alexander
не далее, как сегодня утром
это в сишной либе же было?
Dmitry
ага
Sherzod
Код на расте ад какой-то
Alexander
ад быстрый на haskell