>Are you sick and tired of the ease with which Haskell code flows onto the page? Even the thrill of binding to a C library losing its lustre? Look no further! I present to you a tool restoring the good old days of pointer arithmetic, manual memory management, and hours lost to the debugger
Ну наконец то!
Из-за неосторожных манипуляций со списками мюслекалькулятор считал полную массу дневного рациона при заданных энергозатратах на ~40% большей необходимой. Переписал всё на списках фиксированной длины на зависимых типах, пару раз обосравшись по дороге; теперь думаю обмазаться idris ._.
16:20:34]<L29Ah> :: (Enum a, Num a) =>
Vector
a
('S
('S
('S
('S
('S
('S
('S
('S
('S
('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))
как записывать такие типы на человечьем языке?
16:26:27]<ndtimofeev> Никак?
16:27:26]<L29Ah> НО КАК ЖЕ ТАК
16:27:55]<L29Ah> как хотя бы попросить ghci в одну строчку этот боилерплейт сложить?
16:28:11]<ndtimofeev> Никак?
16:29:23]<ndtimofeev> Можно использовать TypeLit, но для того чтобы понять почему они тут не будут работать тебе потребуется Александр Вершилов, а он в gitter'е или как оно там.
16:29:53]<L29Ah> и хули делать?
16:30:05]<ndtimofeev> Страдать.
хмм, как бы красиво сделать ленивый лог
такая спископодобная структура, в которую можно добавить элемент в конец, из которой можно прочесть любые элементы, и которая блокирует читателя если элемента ещё не существует
и всё это в STM
Couldn't match type ‘Data.XML.Types.Element’
with ‘Element’
NB: ‘Data.XML.Types.Element’
is defined in ‘Data.XML.Types’ in package ‘xml-types-0.3.6’
‘Element’ is defined in ‘Text.XML’ in package ‘xml-conduit-1.3.1’
ЧЯДНТ? Хочу сериализовать Element из xml-types.