Alexander
везде разбросано
Alexander
система сборки одна Cabal, интерфейс наверное проще всего через stack
Alexander
фреймворки тестирования это tasty и hspec самые известные
Maxim
про hspec слышал вроде даже
Alexander
само тестирование quickcheck hunit
Alexander
в фреймворка хорошо общий интерфейс к ним
Alexander
а ещё smallchexk
Alexander
quickcheck - рандомизированная проверка инвариантов, small check полная до определенной глубины, hunit юнит тестирование
Alexander
вместо описания кабал файла есть всякие hpack, но это к любителям
Maxim
кана
это не книга же
У него есть видеолекции, а есть книжка
Anonymous
он не публиковал книгу
Anonymous
он только блогпосты написал, а кто-то собрал их в книгу)
кана
так а книга по твоему это что?
кана
это тупо набор статей
кана
кана
Собственно и сам он ссылается на свою работу как на "book"
Anonymous
о
Anonymous
он раньше говорил что книги нет
кана
наверное из-за того, что раньше она не была закончена
кана
последняя глава вышла месяц назад
Anonymous
круть
Vasiliy
ещё есть http://book.realworldhaskell.org/read/
Vasiliy
старо, но актуально
Евгений
Почему ITT считается, что в расте есть ручное управление памятью? Это же просто неправда, "управление" памятью гарантируется системой регионов, просто она очень неявная и невыразительная. Несомненно спор регионы vs gc это продолжение спора типизация vs динамическое тегирование.
Anonymous
но оно нежелательно в большинстве случаев
Artem
а посоветуйте, пожалуйста, что по хаскелю почитать после learn you a haskell for great good?
https://medium.com/@_bravit/%D0%BA%D0%BD%D0%B8%D0%B3%D0%B8-%D0%BF%D0%BE-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8E-%D0%BD%D0%B0-haskell-%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4%D1%8B-712c1f5b7749
Alexander
хм.. а какой правильный подход к разработке с последним кабалом и с поддержкой nix
Alexander
например у меня есть тестовый файл и либа, которую надо отлаживать, как мне гарантировать, что файлик будет с модифицированной собираться без создавания проекта и т.п.?
Alexander
если делать sandbox, то поддержа nix огорчается и ругается, что песочница не добавлена в gc root
Quet
а почему не стек? он вроде немного в никс умеет
Alexander
да с ним мороки больше в итоге
Alexander
если мне не нужно раздавать сырцы, так чтобы у всех были похоживе версии либ, то нафига мне оно надо
Alexander
а ещё cabal-install новый смешной там веселые ошибки которые надо когда-нить починить
Alexander
0.3.3 /= 0.3.3.0
Alexander
так то!
Anonymous
а какую книгу стоит почитать для изучения concurrency вне независимости от языков программирования?
Алексей
0.3.3 /= 0.3.3.0
А разве раньше не так было?
Alexander
не обращал вниманиия
Anonymous
да
Anonymous
марлоу уже посоветовали, на ней и остановился
Alexander
именно concurrency?
Alexander
а то is parallel programming hard and if so what can we do about it неплохая
Vitaly
Марлоу всё же очень хаскелецентричен
Alexander
все равно эту книжку стоит взглянуть
Alexander
товарищи из serokell (я проверил, тут 2 ll) у вас последний network-transport используется, но без cloud haskell?
кана
а я как раз cloud haskell изучаю....
Alexander
вопрос снят, похоже в последнем n-t немного поломали поведение ожидаемое, придётся думать как лечить
kosc
Доброй ночи. А что, в Haskell никак нельзя создавать списочные структуры вида [[1,2],3] ?
Misha
В чем вопрос? Твоя нотация — это валидный терм в haskell.
Misha
А, нет, это 01:40 по москве, я просто ебобо
Misha
Ну вообще можно всегда сделать гетерогенный лист
Misha
Или сделать adt-обертку вместо этого
Anonymous
который будет бесполезным?
Misha
в общем стандартные вещи, когда хочешь хранить разные штуки в списке
Misha
который будет бесполезным?
??? Юзер поднял вопрос про то, как делать бесполезную дичь, я ответил.
Misha
Непонятно, зачем такого хотеть вообще, но https://wiki.haskell.org/Heterogenous_collections
Misha
можно там data NestedList a = Nested [a] | NotNested a и потом [NestedList a] использовать, если хочешь глубины 1.
Anonymous
??? Юзер поднял вопрос про то, как делать бесполезную дичь, я ответил.
ну если у нас лист [forall a. a] то мы не можем ничего сделать с внутренностями
Misha
ну если у нас лист [forall a. a] то мы не можем ничего сделать с внутренностями
Но никто и не предлагает делать лист именно такого типа. Энивей
Misha
Обычно гетерогенные коллекции там имеют какой-то констрейнт
Misha
чтобы можно было что-то делать
Anonymous
ну мы можем добавить ограничения по тайпклассам
Misha
к примеру кастовать к тому же NestedList a
Misha
Короче юзлесс так или иначе
Anonymous
это не гетерогенность ведь?
Dmitrii
Доброй ночи. А что, в Haskell никак нельзя создавать списочные структуры вида [[1,2],3] ?
Ночи доброй. Про это был даже вопрос на SO. В Haskell можно сделать так, чтобы [[1,2], 3] стайпчекалось и результировало в валидный терм.
Misha
Ну если нахакать с instance Num там?
kosc
https://stackoverflow.com/questions/15884984/create-the-following-list-1-2-3-4-3-4-5-in-haskell - я на SO только это по теме откопал.
Dmitrii
Да. И с инстансом IsList при помощи -XOverloadedLists
Alexander
можно там data NestedList a = Nested [a] | NotNested a и потом [NestedList a] использовать, если хочешь глубины 1.
я примерно такую штуку на Лоре давным давно делал, т.к. лисперы достали своим "это невозможно"