@haskellru

Страница 1331 из 1551
A64m
11.07.2018
09:14:42
или даже зарепортить как баги

Dmitry
11.07.2018
09:15:55
такие случаи заметного улучшения довольно интересны, было бы полезным их как-то задокументировать
Может быть @vrom911 напишет еще блог-пост про то, как эта вся эпопея происходила)

Google
A64m
11.07.2018
09:20:34
гхц вообще не хватает тестов с реальным кодом который он мог бы начать или перестать улучшать, а не вот этого вот вымученного нофиба из 92-го года

Hot
11.07.2018
09:21:51
~/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.

Вроде как ему нужна более старая библиотека, но я её уже поставил.

И всё равно та же ошибка.

Aleksey
11.07.2018
09:23:34
Да блин! Зачем делать stack install?!

Не нужно делать stack install НИКОГДА!

Hot
11.07.2018
09:23:48
А как надо-то?

Понял.

Простите меня, я питонист.

Aleksey
11.07.2018
09:24:08
Стек сам ставит зависимости. Нужно их указать в .cabal-файле проекта

kana
11.07.2018
09:24:22
Не нужно делать stack install НИКОГДА!
ну иногда нужно, но не для установки либ, а для установки хаскельных тулов, которые есть в стакадже

Aleksey
11.07.2018
09:24:49
Простите меня, я питонист.
Ага, pip дурные привычки вырабатывает :)

Psy
11.07.2018
09:25:12
Не нужно делать stack install НИКОГДА!
а как иначе в ghci какую-то либу потыкать, прежде чем в проект добавлять?

Google
Hot
11.07.2018
09:25:21
$ 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

Hot
11.07.2018
09:26:04
А, понял.

Psy
11.07.2018
09:26:09
stack ghci --package=lens
о, благодарю

Aleksey
11.07.2018
09:26:18
init делает из не-stack-проекта stack-проект

Hot
11.07.2018
09:26:49
Ммм

Дурные привычки гита?

git init

stack init

Aleksey
11.07.2018
09:27:07
Типа того :)

Yuriy
11.07.2018
09:27:18
stack ghci --package=lens
надо викифицировать

Aleksey
11.07.2018
09:28:24
а как иначе в ghci какую-то либу потыкать, прежде чем в проект добавлять?
Лучше играться в проекте-песочнице, т.к. может потребоваться какая-нибудь зависимость не из снапшота, а если не находиться в проекте, то stack.yaml, чтобы указать эти зависимости, не будет

Index
11.07.2018
09:28:40
Есть еще вариант не использовать stack вообще, не хватает всего нескольких фич

Aleksey
11.07.2018
09:29:09
Да ладно, новичкам (и не только) удобно же :)

Hot
11.07.2018
09:29:31
Средних размеров пасту лучше так или лучше на пастбин?

Aleksey
11.07.2018
09:29:44
И отвечать на вопрос по stack "не используйте stack" некрасиво, ИМХО :)

Index
11.07.2018
09:29:46
Да ладно, новичкам (и не только) удобно же :)
Он тормозной как минимум, это уже неудобно

Hot
11.07.2018
09:30:13
Окей

Google
Hot
11.07.2018
09:30:16
$ stack new words Downloading template "new-template" to create project "words" in words/ ... The following parameters were needed by the template but not provided: author-email, author-name, category, copyright, github-username You can provide them in /home/kosenko/.stack/config.yaml, like this: templates: params: author-email: value author-name: value category: value copyright: value github-username: value Or you can pass each one as parameters like this: stack new words new-template -p "author-email:value" -p "author-name:value" -p "category:value" -p "copyright:value" -p "github-username:value" Looking for .cabal or package.yaml files to use to init the project. Using cabal packages: - words/words.cabal Selecting the best among 14 snapshots... Downloaded lts-12.0 build plan. AesonException "Error in $.packages.cassava.constraints.flags['bytestring--lt-0_10_4']: Invalid flag name: \"bytestring--lt-0_10_4\""

Psy
11.07.2018
09:30:18
Он тормозной как минимум, это уже неудобно
расскажи что и как есть удобней?)

Index
11.07.2018
09:30:46
расскажи что и как есть удобней?)
cabal начиная с версии 3 (ее еще не релизнули, но я пользусь тем, что сбилдил из master)

Hot
11.07.2018
09:31:38
stack upgrade
Так уже...

Index
11.07.2018
09:32:08
удобно, конечно (нет)
ты про то, что билдить из master надо? это один раз неудобно, а потом много раз удобно, ну и это временная проблема

Aleksey
11.07.2018
09:32:41
Это как универсальная машинка для стрижки? (головы у всех разные до первого раза)

Index
11.07.2018
09:32:43
я иногда пишу stack build по привычке, и он такой тормозной, что я успеваю интерраптнуть его до того, как он начнет что-то делать, и ввести cabal new-build

а еще всё удобство стека заканчивается в первый же момент, когда он факапит recompilation detection и ломает линковку

Aleksey
11.07.2018
09:33:51
Так уже...
Весрия stack какая?

Index
11.07.2018
09:33:54
можно rm -rf .stack-work ~/.stack и уходить погулять

Hot
11.07.2018
09:34:19
Весрия stack какая?
Version 1.5.1, Git revision 600c1f01435a10d127938709556c1682ecfd694e (4861 commits) x86_64 hpack-0.17.1

Aleksey
11.07.2018
09:34:20
Последний раз делал такое месяцев семь назад

Index
11.07.2018
09:34:45
последний раз я пользовался стеком пару месяцев назад и делал так каждую неделю

Aleksey
11.07.2018
09:34:46
$ stack --version Version 1.7.1

Чтобы stack upgrade сработал, нужно, чтобы путь, куда stack кладёт бинари, был в PATH, если что

A64m
11.07.2018
09:35:58
если по какой-то причине хочется пользоваться каким-то ленгвидж сервис костылем вроде hie, то все, нью-билд не подходит Ж(((

Google
Dmitry
11.07.2018
09:51:52
Да ладно, новичкам (и не только) удобно же :)
Во время преподавания курса Haskell я заметил несколько минусов для новичков при использовании stack: 1. Нужно еще понимать stack.yaml и концепции snapshot'ов, чтобы создать проект, порог вхождения увеличивается. Не говоря про те случаи, когда надо еще патчить extra-deps, чтобы сбилдилось. 2. stack new не может создать полноценный проект, если нет интернета или интернет фиговенький. 3. Последние версии stack по умолчанию создают package.yaml файл, и тут у новичков вообще едет крыша, когда они пытаются редактировать .cabal файл, а все равно ничего не работает. 4. Поведение команды stack repl внутри какого-нибудь проекта и вне проекта разное, потому что вне проект используется неявный снэпшот в ~/.stack/global-project/stack.yaml и там по разному ставятся разные тулы. Я написал beginner-friendly туториал для новичком по использованию cabal new-build и stack, поэтому теперь хотя бы могу скидывать людям, что почитать, если они захотят проекты на Haskell создавать

Но все равно очень много вопросов и проблем возникает при попытках создать первый проект с зависимостями и все такое...

Index
11.07.2018
10:11:42
https://github.com/haskell/cabal/issues/5425

Вот такого не хватает. Посмотрим, какой повод найдут, чтобы не имплементить

Ради этого до сих пор stack запускаю. Он, конечно, медленный, это раздражает.

Timofey
11.07.2018
10:12:40
Вопрос по парсингу: - есть ленивый байтстринг (грубо говоря, результат svn cat, вытащенный через typed-process), который точно является ascii. - почти все необходимые парсеры будут иметь сигнатуру Parser String или что-то в этом же духе - я могу байтстринг запаковать в стринг/текст и парсить без особых напрягов тем же мегапарсеком - попробовать перезаточить все парсеры под потребление байтстринга, но огрести распаковку/запаковку условий и результата парсинга Собственно, вопрос - что будет работать быстрее?

Kirill
11.07.2018
10:15:10
сделать бенчмарк и посмотреть? :)

Timofey
11.07.2018
10:15:49
этот вариант всегда есть, да=) Мне бы какую-то априорную эвристику=)

Kirill
11.07.2018
10:15:51
вообще быстрее вариант будет с минимумом переупактовки/перекодировки

A64m
11.07.2018
10:16:16
какое-то время назад смело рекомендовал стек для начинающих, но потом началось это адище с package.yaml и тут стали чуть не каждый день спрашивать почему ничего не работает. теперь даже не знаю, что и рекомендовать Ж(((

Admin
ERROR: S client not available

Kirill
11.07.2018
10:17:13
а есть ещё mafia к примеру

Aleksey
11.07.2018
10:17:19
Во время преподавания курса Haskell я заметил несколько минусов для новичков при использовании stack: 1. Нужно еще понимать stack.yaml и концепции snapshot'ов, чтобы создать проект, порог вхождения увеличивается. Не говоря про те случаи, когда надо еще патчить extra-deps, чтобы сбилдилось. 2. stack new не может создать полноценный проект, если нет интернета или интернет фиговенький. 3. Последние версии stack по умолчанию создают package.yaml файл, и тут у новичков вообще едет крыша, когда они пытаются редактировать .cabal файл, а все равно ничего не работает. 4. Поведение команды stack repl внутри какого-нибудь проекта и вне проекта разное, потому что вне проект используется неявный снэпшот в ~/.stack/global-project/stack.yaml и там по разному ставятся разные тулы. Я написал beginner-friendly туториал для новичком по использованию cabal new-build и stack, поэтому теперь хотя бы могу скидывать людям, что почитать, если они захотят проекты на Haskell создавать
снапшоты - коллер-фича. Я помню всю эту возню с подбором версий, которую имел до появления stack.

Kirill
11.07.2018
10:17:23
хотя оно, конечно, поверх кабала

Aleksey
11.07.2018
10:17:39
И уж не сложнее, чем в JS, со всеми из package.json, webpack.js, babel.js или что там ещё у них?

Kirill
11.07.2018
10:18:23
и войнушки аля stack vs cabal не помогают как минимум

Leonid
11.07.2018
10:18:33
а когда в 8.4.3 завезут поддержку федоры 28?

Aleksey
11.07.2018
10:19:08
hpack по умолчанию - странное решение, наверное. Хотя мне нравится

Kirill
11.07.2018
10:19:28
@lonokhov прям гхц надо чинить для поддержки дистра?

Google
Leonid
11.07.2018
10:19:59
@lonokhov прям гхц надо чинить для поддержки дистра?
ну это так, шутканы про стэк за 300 https://www.reddit.com/r/haskell/comments/8xw4tl/when_will_843_support_fedora_28

т.е. кому и стэк == хаскель

A64m
11.07.2018
10:21:35
война кабалистов против снойманитов не помогает, потому что ведется недостаточно интенсивно. когда стеку надо было завоевывать пользователей они там что-то делали, старались, сейчас ничего не работает, на все плевать, странные решения, новинки годами не поддерживаются.

если бы кабалисты получше ударили по снойманитам, быстрее бы делали кабал 3 и т.д. снойманитам тоже пришлось бы что-то делать, кроме сабатирования всего нового что есть в хаскеле и подведения обоснований под то что ничего полезного делать не надо

Kirill
11.07.2018
10:23:41
ну кабалисты ломают форматы хотяб :)

Aleksey
11.07.2018
10:25:02
Вся ситуация с разбродом и шатаниями в целом плохая. А не "стэк плохо" или "кабал плохой"

A64m
11.07.2018
10:26:12
даже ситуация с разбродом и шатаниями лучше предыдущего болота, когда пять лет еле еле как бы делали новый кабал с нулевым видимым эффектом

Александр
11.07.2018
10:26:19
Да все у нас хорошо в сравнении с экосистемой JS. Там никто по этому поводу не парится

Kirill
11.07.2018
10:26:36
ну вроде чуть парятся

чот там недавно про npm vs yarn было

Александр
11.07.2018
10:27:09
Там еще кучи разных тулзов для установления нужной версии node.js, например

И всяко в Хаскеле лучше, чем в С++, где проект через год лежания на компьютере, который ты не включал, может вообще без всякой причины не собраться.

Aleksey
11.07.2018
10:33:10
В среднем в Haskell неплохо, это уж точно

Но специфика, обусловленная тем, что "так сложилось", есть

И cabal-hell ещё из памяти не стёрся :)

Kirill
11.07.2018
10:33:52
а где её нет?

Aleksey
11.07.2018
10:34:05
Везде есть в разной степени

cargo - приятный

pip - дно

A64m
11.07.2018
10:34:29
от того что кто-то там страдает от писания на языке, на котором уже и не пишешь давно, а может и не писал никогда, хаскелисту то не легче.

Kirill
11.07.2018
10:34:49
pip - дно
вроде ща pipenv чтоль рекламируют

Aleksey
11.07.2018
10:36:04
Я однажды хотел pipenv запатчить. Посмотрел в код. Три дня пил валерианку потом. <гифка из со священником, говорящим "Да ну нахер!">

Kirill
11.07.2018
10:43:53
кстати в наших краях тоже "энвы" присутствуют - https://github.com/hvr/cabal-env :)

Страница 1331 из 1551