A64m
Alexander
Антон
Alexander
и смотреть на то, что выдаст cabal install в логе ошибок поиска
Alexander
к ним сложно привыкнуть, но там вся инфа есть
Alexander
для любителей неленивости ксть ocaml
Антон
Alexander
ну так NFData-то тоже костыль
Ю ли я? 🤔
довольно дико, кстати, бывает, когда много лет видишь только код на хаскелле, осознавать что вокруг до сих пор пишут на джаве, какой-то скале, питоне, и даже на сиплюс плюс, я даже видел, что в конфах задают вопросы по MFC
Как оно там, в башне из слоновой кости?
Ю ли я? 🤔
Антон
но статья про жиес
Я даже, кажется, помню эту статью. Помнится, ещё подумал, что как-то костыльно это выглядит
Антон
Антон
И непараметризованных, кстати, тоже
A64m
темплейты есть зато
Антон
кана
http://okmij.org/ftp/Haskell/extensible/more.pdf
Антон
темплейты есть зато
Мономорфизация с проверкой констрейнтов после подстановки типовых параметров? Ну такое
Антон
A64m
A64m
мешает исторический багаж и убогость имплементаторов, ну так и со строгостью по умолчанию то же самое
A64m
ну да, но сейчас это мало что значащее на практике утверждение, как утверждение, что строгие языки костыльные до 81-го года
Евгений
Alexander
Andrey
да что новеллы - прямо статьи в журналы и посты в мессенжеры )
кана
Ю ли я? 🤔
Я что-то мельком слышал про lenient evaluation, с чем его едят?
A64m
это такой костыль из 90-х, который не взлетел (как и все костыли из 90-х)
A64m
это, грубо говоря, как если бы все санки были спарками
Oleg
По описанию похоже на Future
kosc
@qnikst https://github.com/qnikst/irc-simple
Более хорошее использование либ или другие либы: stm-conduit, streaming, megaparsec, len
Len или Lens?
Хотя я вообще не уверен, что Lens это либа, но вдруг.
Alexander
lens
Alexander
я там в паре мест использовал но не по делу
kosc
Кстати, можно было ещё писать код в lhs-файлах.
kosc
Мб для такого типа проекта было бы проще.
kosc
А вообще спасибо тебе большое, я буду теперь читать этот проект как учебник по Haskell.
Alexander
может, но я добавил каменты после кода
Kirill
Привет! Ищу пакет, чтобы распарсить XML фиксированной схемы. Хочу, как с aeson: я определяю ADT, deriv'аю FromXML — и у меня есть парсер. Или даже я даю тулзе xsd, чтобы по ней сгенерировался Haskell-код для ADT и для парсера. Вчера пробовал осилить HaXml, несмотря на отсутствие доков и битые ссылки. В HaXml есть тулза XsdToHaskell, с помощью которой можно сгенерить haskell-код по xsd-файлу. Но эта штука как будто демо-версию создала, лишь несколько элементов из сотни. Про HXT я так понял, что из схемы сгенерить возможности нет, но из ADT вроде можно парсер заderiv'ить. Может, я не те пакеты смотрю? Расскажите, пожалуйста, у кого опыт есть с этим. Мне не нужно ни скорости парсинга, ни экономии памяти, ни генерации XML.
Denis
Привет. https://hackage.haskell.org/package/xml-isogen-0.2.1/docs/Data-THGen-XML.html можешь взять.
Denis
Там на dsl описываешь структуру повторяющую сабсет xml, типы и парсеры он генерит.
Kirill
Спасибо! Пока что выглядит проще, чем HXT. Хотя и непривычно, что не видно типов :)
Denis
там линзы еще к ним генерятся, к слову
Alexander
Well-Typed хайрят:
http://www.well-typed.com/blog/2018/03/haskell-development-job-with-well-typed/
kosc
>tl;dr If you’d like a job with us, send your application as soon as possible.
Топище.
Leonid 🦇
Сейчас наверно все хаскель консалтинги пишут около-криптовалютное. Половина для iohk
kosc
https://github.com/qnikst/irc-simple/blob/master/src/Server.hs#L10
Ну как так-то? Но что же это значит? Много где встречал, кстати.
Leonid 🦇
FlexibleContexts мог бы быть в haskell2020, но вроде ломает какие-то мутные экстеншены которые пора выкинуть
kosc
Всмысле мог бы быть enabled by default?
Leonid 🦇
ну
kosc
Ясно, спасибо.
Denis
import Data.Function
data Foo = Foo { runFoo :: Int -> Int }
add2 = Foo (+2)
five = (add2 & runFoo) 3
Есть вариант избавиться от скобок в реализации five ?
Влод
runFoo $ add2 $ 3?
кана
five = add2 & runFoo $ 3
Aleksei (astynax)
add2 & runFoo ($ 3)
Aleksei (astynax)
кана
Aleksei (astynax)
фиксити клэшится
кана
ну у меня работает нормально без варнов
Aleksei (astynax)
хмм
кана
кана
у $ приоритет 0
кана
у & 1
Aleksei (astynax)
Aleksei (astynax)
У меня (&) где-то клешилось. Но м.б. не с ($)
Kirill
Cheese
Kirill
дак вот с этим пояснением взамен "игнорируйте" у Саши
Cheese
не знаю, меня удовлетворяет текущая версия
A64m
пояснение странноватое, прямо скажем. Что значит "не очень корректные"
Cheese
значит "не корректные"
Cheese
"не разрешённые языком"
A64m
это как сказать, что проверка паттернматчинга в 8.0 некорректная по сравнению со "стандартом"
Alexander
мне было лень искать какую именно форму констреинтов в контексте оно разрешает