Alexander
интереность задач же от проекта зависит?
Dmitry
интересная задача на си, например
Dmitry
ну т.е да, какой-то извращенный интерес она вызвать безусловно может
Anonymous
о
Anonymous
https://www.codewars.com/kata/c-puzzle-pointer-monster/c вот такая
Сергей
Ну типа effect system vs linear types vs monad. Или нужно городить effect monad как в purescript?
Обнаружил что в хаскеле уже есть такие же расширяемые эффекты как в purescript. Пробую сейчас. https://hackage.haskell.org/package/extensible-effects
Alexander
freer бери сразу
Сергей
Только наверное для системы деплоя способ описывать эффекты - не самое главное
Сергей
freer - да, перед сном почитать - отличная штука. Так несколько недель подряд, и будет казаться что понимаю.
Aragaer
прикольная задача
Сергей
На самом деле шутка, потому что есть толковая статьи, после которых оно даже понятнее чем Free
Quet
а кто что скажет про wreq? годно или есть чего получше?
Kirill
API чуть красивше http-client, который внутри
Cheese
годно
Cheese
для простых вещей хорошо подходит
Cheese
для сложных всё равно возьмёшь servant-client
Quet
и делать сервантом сервер под чужой апи чтобы потом получить для него клиента?
Alexander
ну не то, чтобы сервер, но типами endpoint-ы описать придётся
Cheese
сервантом только описать ручки
Artem
freer - да, перед сном почитать - отличная штука. Так несколько недель подряд, и будет казаться что понимаю.
Почему почитать? Есть же реализация. Хоть и чуть подзаброшенная, к сожалению https://hackage.haskell.org/package/freer
Сергей
Просто хочется знать откуда это всё, как устроено.
Сергей
Как раз эту статью перечитываю, что в этой либе упоминается http://okmij.org/ftp/Haskell/extensible/more.pdf
Сергей
Один раз прочитал первую треть. Показалось что понял. На слудующий день смотришь - опять всё заново нужно разбираться. А хочется так, чтобы это легко было, прямо на кончиках пальцев, перед глазами. Поэтому и перечитываю.
Сергей
так придёт время - будем и писать
Сергей
Например, линзы. Чтоб их использовать, достаточно буквально пару функций запомнить.
Сергей
Но ведь не узнаешь от этого как хитро они внутри устроены.
Евгений
freer бери сразу
Оно такое же тормозное как и все разновидности free monad?
Alexander
ну как-то так, должно побыстрее быть, в статье так вообще круто
Alexander
но вроде медленно
Сергей
> Thanks to the Freer monad construction and the representation of the continuation as an efficient sequence structure, extensible effects have good performance even for relatively short monad stacks, and algorithmically better performance than monad transformers for longer stacks.
Alexander
ну longer stacks все равно никто в своём уме не делает
Евгений
ну longer stacks все равно никто в своём уме не делает
Насколько я понимаю аргументы адептов швободных монад, длинные стеки никто не делает из-за неудобства их использования на трансформерах
Сергей
а в purescript, оказывается, этот подход из коробки, по умолчанию.
Андрей
народ, вот такая вот странная проблема, клинит на io монадках, когда читаю - всё понятно, но как только надо что-то писать – проблемы, просто вся эта цепочка функций в голове не выстраивается если работаю с чистыми функциями - всё ок, никаких проблем, как только где-то возник где-то тип с io, сразу возникает желание извлекать значение "руками" и работать с ним буд-то он уже чистый
Андрей
у меня одного это в голове или что?
Андрей
тупо время нужно?
Vasiliy
а со State проблем нет?
Андрей
ну опять же только читал, логика ясна, но для своих задумок не использовал
Андрей
не добрался
Vasiliy
ну вот IO можно рассматривать как хитрый алиас для State RealWorld
Андрей
что там справляться)
Андрей
когда я писал про "извлечь" руками, то это и имелось ввиду
igo
ну, это и ок вполне.
Андрей
эм, мне показалось, что нет
Anonymous
instance Comonad IO where extract :: IO a -> a extract = unsafePerformIO duplicate :: IO a -> IO (IO a) duplicate = pure
Anonymous
вот так
Андрей
хм, почему-то у меня в голове мысль, что этих извлечений нужно избегать
igo
а там уж как вам удобнее.
igo
писать чистые функции — конечно лучше. их ещё и тестировать удобно.
parket
Это для IO, которая на самом деле читерство, так. Но монады ведь не про IO. :)
A64m
tl;dr не этот, не будет из коробки
Сергей
ну хорошо хоть застали пока она была. Всё опыт какой-никакой
Евгений
Насколько я понимаю в PureScript есть специальный кайнд Effect, а также конструктор кайндов для множества
Евгений
tl;dr не этот, не будет из коробки
А разве со специальным кайндом для эффектов есть проблемы?
Vasiliy
а что там в идрисе? там же тоже Eff
Vasiliy
правда, main таки IO ()
Alexander
А чего там опять с Остином?
Alexander
твитштормит
A64m
А разве со специальным кайндом для эффектов есть проблемы?
я не разбираюсь в пурскрипте, там же ссылки на обсуждения есть.
Alexander
про то что жалуюся SPJ и тот заставляет его баги фиксить
Leonid 🦇
@qnikst дату посмотри
Leonid 🦇
Это хвр некротвитит
Alexander
ааа
Alexander
ясно
Alexander
а у хвр что?
A64m
ну он же пишет про "неких индивидуумов" (он теперь не называет снойманитов по именам, как и они его некоторыеми индивидуумами называют), которые, видимо, давят на СПЖ чтоб хвр умерил пыл кабализма-инстализма
A64m
и против FTP тоже такое было
Кабачок
> кабализм-инстализм черт, почти каннибализм
A64m
> почти не все сразу, не все сразу
A64m
Ну вот, я не стал разбираться почему безскиповые стримы нормально не оптимизируются, хотя это обещали, а кто-то стал https://ghc.haskell.org/trac/ghc/ticket/13966
A64m
делать ничего не надо, кто-нибудь все равно сделает за тебя
A64m
не хештаблицы, конечно