A64m
Ну ладно, рулевой комитет принял поправку, так что теперь 8.6 все пакеты с дженериками (включая аэсон ) не поломает, поломает некоторые другие, ну это как обыяно
A64m
на самом деле давно уже было понятно что так сделают и даже альфу выпустили в таком виде, но официально - только сейчас
Dmitrii
#announcement New project: typerep-map — very efficient dependent map from type representations to values of these types. Blog posts describes how to implement such data structure step by step.
https://kowainik.github.io/posts/2018-07-11-typerep-map-step-by-step.html
Dmitrii
Всем привет! Делюсь ссылкой на typerep-map проект, над которым наша организация плотно трудилась в последнее время вместе с @int_index . Библиотека содержит эффективную реализацию отображения из типов в значения с соответствующим типом. А блог пост довольно хорошо описывает, как эта структура разрабатывалась шаг за шагом. Соддержит полезную информацию про RTTI в Haskell и прочие ништяки!
Зигохистоморфный
где она?)
Зигохистоморфный
ссылка
Danila Matveev
Над текстом же
Зигохистоморфный
какой профит от этого?
NC
NC
A64m
A64m
ну там можно посмотреть как его бранч-фри версию реализовывать, и как использовать префетчи и т.д.
A64m
не уверен правда, что в гхц префетчи без ллвм бекенда будут работать
Dmitrii
A64m
прямо скажем, сильного улучшения я бы не ждал
Ilya
А вот как бы мне достать тип-аргумент из экзистенциального констуктора?
NC
A64m
@chshersh а какая разница была между "наивным" кодом и ручным анбоксом? Или с самого начала так и писали?
A64m
такие случаи заметного улучшения довольно интересны, было бы полезным их как-то задокументировать
NC
A64m
или даже зарепортить как баги
Dmitrii
Dmitrii
A64m
гхц вообще не хватает тестов с реальным кодом который он мог бы начать или перестать улучшать, а не вот этого вот вымученного нофиба из 92-го года
kosc
~/tmp/haskell/worldscount $ stack install encoding
Error: While constructing the build plan, the following exceptions were encountered:
In the dependencies for encoding-0.8.2:
regex-compat-0.95.1 must match >=0.71 && <0.95 (latest applicable is 0.93.1)
needed for unknown reason - stack invariant violated.
Plan construction failed.
~/tmp/haskell/worldscount $ stack install regex-compat-0.93.1
~/tmp/haskell/worldscount $ stack install encoding
Error: While constructing the build plan, the following exceptions were encountered:
In the dependencies for encoding-0.8.2:
regex-compat-0.95.1 must match >=0.71 && <0.95 (latest applicable is 0.93.1)
needed for unknown reason - stack invariant violated.
Plan construction failed.
Помогите, плиз. Не могу поставить пакет encoding через stack.
kosc
Вроде как ему нужна более старая библиотека, но я её уже поставил.
kosc
И всё равно та же ошибка.
Aleksei (astynax)
Да блин! Зачем делать stack install?!
Aleksei (astynax)
Не нужно делать stack install НИКОГДА!
kosc
А как надо-то?
kosc
Понял.
kosc
Простите меня, я питонист.
Aleksei (astynax)
Стек сам ставит зависимости. Нужно их указать в .cabal-файле проекта
kosc
$ stack init
Looking for .cabal or package.yaml files to use to init the project.
In order to init, you should have an existing .cabal file. Please try "stack new" instead.
CallStack (from HasCallStack):
error, called at src/Stack/Solver.hs:551:9 in stack-1.5.1-8L0HpUwgvNa7pLuInyRw8N:Stack.Solver
Aleksei (astynax)
PsyDebug
kosc
А, понял.
PsyDebug
Aleksei (astynax)
init делает из не-stack-проекта stack-проект
kosc
Ммм
kosc
Дурные привычки гита?
kosc
git init
kosc
stack init
Aleksei (astynax)
Типа того :)
Cheese
Vladislav
Есть еще вариант не использовать stack вообще, не хватает всего нескольких фич
Aleksei (astynax)
Да ладно, новичкам (и не только) удобно же :)
kosc
Средних размеров пасту лучше так или лучше на пастбин?
Aleksei (astynax)
И отвечать на вопрос по stack "не используйте stack" некрасиво, ИМХО :)
Vladislav
Aleksei (astynax)
kosc
Окей
PsyDebug
Aleksei (astynax)
Aleksei (astynax)
stack upgrade
Aleksei (astynax)
kosc
Vladislav
удобно, конечно (нет)
ты про то, что билдить из master надо? это один раз неудобно, а потом много раз удобно, ну и это временная проблема
Aleksei (astynax)
Это как универсальная машинка для стрижки? (головы у всех разные до первого раза)
Vladislav
я иногда пишу stack build по привычке, и он такой тормозной, что я успеваю интерраптнуть его до того, как он начнет что-то делать, и ввести cabal new-build
Vladislav
а еще всё удобство стека заканчивается в первый же момент, когда он факапит recompilation detection и ломает линковку
Vladislav
можно rm -rf .stack-work ~/.stack и уходить погулять
kosc
Весрия stack какая?
Version 1.5.1, Git revision 600c1f01435a10d127938709556c1682ecfd694e (4861 commits) x86_64 hpack-0.17.1
Aleksei (astynax)
Последний раз делал такое месяцев семь назад
Vladislav
последний раз я пользовался стеком пару месяцев назад и делал так каждую неделю
Aleksei (astynax)
$ stack --version
Version 1.7.1
Aleksei (astynax)
Aleksei (astynax)
Чтобы stack upgrade сработал, нужно, чтобы путь, куда stack кладёт бинари, был в PATH, если что