Vladimir
я обычно заворачиваю в try и возвращаю Either или Maybe
Vladimir
как с Wreq, например
Vladimir
там есть по RFC3339 парсер, а вашу строку можно к стандарту привести, имхо
Vladimir
эксепшены с IO
Vladimir
а в примере вот есть (parseRfc3339 "2014-12-24T13:37:00Z" :: MT)
Vladimir
Maybe String, все вроде удобно
Ruslan
По возможности используй Maybe Text
Vladimir
да, я глупость сказал, там наоборот же)
Vladimir
parseRfc3339 :: (MonadThrow m, IsDate t, IsTime t, Epoch t) => a -> m (Local t)
Vladimir
есть все что нужно
Vladimir
Я вот не понимаю, зачем люди эксепшены бросают в библиотеках в хаскеле, неужели нельзя внутри обернуть в Either или Maybe. Или они думают, что эксепшены кому-то могут быть полезны именно как эксепшены?
Vladimir
писал бы либу, принял бы no exceptions policy :D
Misha
Я для работы с датами вот этот пекедж использовал https://hackage.haskell.org/package/utc-0.2.0.1/docs/Data-UTC.html
А я вроде понял, @quetzal правильно заметил, что в Data.Time.Format вызывается fail из соответствующей монады и получается вполне пристойно. Я было схватился за голову сначала, но по факту все совсем не так монструозно
Misha
получается что-то типа parseDate :: String -> Maybe UTCTime parseDate s = parseTimeM True defaultTimeLocale "%_Y%m%d%H%M%S" s :: Maybe UTCTime
Саша
Всем привет) мы проводим исследование на тему трудоустройствп программистов Спб. Можно разместить у вас анкету?
Boris
мы это кто?
Саша
Студенки спбгу
Anonymous
с набором таких анкет можно случайно начать работать эйчарами
Судзумия
Студёные
Anonymous
это так, к слову)
Anonymous
если уже не
Misha
Всем привет) мы проводим исследование на тему трудоустройствп программистов Спб. Можно разместить у вас анкету?
наверное, вам по делу могут ответить люди из Спб, я не в Спб, поэтому мнения по этому вопросу иметь не могу
SimpleX
Это раз
SimpleX
Два: ошибки могут быть разными. Придется везде делать кейзы
SimpleX
Три: в IO исключения логичнее
SimpleX
Если обернул в Either MyErr, не факт, что ниже не прилетит исключение. А это уже 2 канала для ошибок.
SimpleX
Так что Either не панацея
SimpleX
А исключения необходимо документировать
SimpleX
Ах да, еще одно забыл
SimpleX
Не всегда требуется обрабатывать ошибку в месте вызова
SimpleX
В чистом коде, разумеется, никаких исключений быть не должно. Либо в IO, либо MonadThrow.
Alexander
Всем привет) мы проводим исследование на тему трудоустройствп программистов Спб. Можно разместить у вас анкету?
Я не против размещения такой анкеты здесь, кто не захочет тот не отвечает. Только уточните там сразу насколько оно анонимно и что с данными вы можете делать, чтобы не было недопонимания
Alexander
В чистом коде, разумеется, никаких исключений быть не должно. Либо в IO, либо MonadThrow.
error "invariant violation" в принципе нормально, не всегда системой типов можно выразить что надо
Alexander
А вытаскивать все в Monad m не весело
SimpleX
Это скорее исключение
Vladimir
Ну вообще да, убедили
Evgeniy
Evgeniy
Да - но чтото слабо как то)))
Evgeniy
А фотки остались - да
Evgeniy
А ты сам написал или кого знаешь кто этот бот сделал?
Evgeniy
Хм а если круче сделать - это майл точка ру в ауте будет?))))
Evgeniy
Evgeniy
Нет мир проще - и намного - не надо услАжнять простоту)))
Evgeniy
Жалко тут нет инфраструктуты поиска ботов и людей - или может я не знаю как
Evgeniy
ОГРОМНОЕ СПАСИБО!!!!
Evgeniy
Интересно читал что скоро в телеге можно секретные пароли слать - реально?
Evgeniy
И причём безопасно
Evgeniy
Ну как я представляю auth как реализовать - это если канал шифрованый - там только на 2х местах сохраняются
Evgeniy
Смотрел мтс - вроде так у них
Evgeniy
Спсб но с сылками про ботов и тп чтото слабо в телеграмме- хз как это -> в vk итп есть группы или где то?
Evgeniy
Ок - гуглятся или яндекся?)))Если да то найду(честно не искал)
Evgeniy
Ок
Anonymous
Добрый день. Можно вопрос по haskell-stack?
Vladimir
Давайте!
Vladimir
Надеюсь, кто-нибудь ответит)
Anonymous
Кхм, собственно, stack setup выдает длиннющий stacktrace. Суть ошибки сводится к следующему: The GHC located at /home/.../ghc failed to compile a sanity check.
Anonymous
Если кто-то сталкивался, подскажите решение.
Vladimir
А те ищьюзы, что на гитхабе находятся, не проливают свет на вопрос?
Vladimir
там вроде какую-то библиотечку надо поставить
Anonymous
Alexander
Небось как обычно libgmp libffi другой
Alexander
Проще ставить ghc по человечески средствами дистрибутива (имхо)
Alexander
Но стеком иногда может и работать
Судзумия
Расскаижте лучше, почему ghc гигабайт весит
Судзумия
Но стеком иногда может и работать
У меня на Арче работает. Сразу две версии даже стеком поставленные
Alexander
Арч достаточно популярный
Alexander
Да и веселуха начинается при выходе новых core библиотек, когда одни дистры перешли а другие нет
Судзумия
Арч достаточно популярный
Я думаю, у человека там Убунта какая-нибудь
Alexander
в "какая-нибудь" кроется суть
Ilya
Ребят, хочу работу на хаскелле найти, где искать?
Ilya
Понимаю фп, пишу на скале
Misha
читать reddit, ездить на конференции (на haskell exchange нанимают постоянно), вываливать что-то на гитхаб, "и тебя заметят"
Misha
в среднем раз в месяц что-то выплывает
Ilya
Но куда не приди, все считают свой код функциональным, а на деле в коде акторы и system.currentimemillis посреди бизнес логики
Ilya
И типа "а чё, функциональщена не для продакшона и вообще, как ты функционально в файл данные запишешь?"
Судзумия
Да, железо императивно
Ilya
Даже не знаю, что сказать, это действительно так
Судзумия
И сисколлы — не чистые функции ;)