
Alexander
02.07.2018
13:38:24
я не пробовал для проекта над которым работаю new-build

Yura
02.07.2018
13:38:32
ну stack умеет нормально настраивать env с помощью никса

Alexander
02.07.2018
13:38:48
да и задолбаюсь .freeze генерировать точный

Yura
02.07.2018
13:38:54
т.е. он делает какой-то изолированный env

Google

Alexander
02.07.2018
13:39:02
надо будет утилиту писать чтобы на основе стекана делало

Leonid
02.07.2018
13:39:20

Yura
02.07.2018
13:39:37
с nix-ом это сделать можно, но это надо эти заклинания знать :(

Kirill
02.07.2018
13:39:39
да какая магия

Maxim
02.07.2018
13:39:40

Kirill
02.07.2018
13:39:42
тупо nix-shell

Leonid
02.07.2018
13:40:00

Yura
02.07.2018
13:40:01
ну понятно что в сорцах посмотреть можно, но stack это из коробки умеет

Leonid
02.07.2018
13:40:12
ну вот

Kirill
02.07.2018
13:40:19
ну в том и дело что делает
но не с фиг
но из коробки

Leonid
02.07.2018
13:40:33
магию делает же

Google

Yura
02.07.2018
13:40:40
бля

Kirill
02.07.2018
13:40:41
опять же к вопросу юзабилити

Yura
02.07.2018
13:41:05
ты спросил почему удобнее- оно работает и не надо разбираться

Leonid
02.07.2018
13:41:14
Магниты^W Программы как они вообще работают?

Yura
02.07.2018
13:41:46
но когда у тебя 3 разных проекта, 1 либа и 2 exe в разных папках stack - это пиздец
он стейт глобально хранит
и призодится постоянно stack clean звать
но stack любит большие репы со всем сразу

Kirill
02.07.2018
13:42:52
монорепо?

Yura
02.07.2018
13:42:59
угу

Leonid
02.07.2018
13:43:23
а cabal new-* просто работает

Yura
02.07.2018
13:45:03
ну вот поробуй 3 разных stack.yaml в 3х проектах, 2 зависят из одного (ссылки через пути на ФС). Меняешь либу. Запускаешь stack build в 1м зависимом проекте.
во втором зависимом проекте, да и в самом проекте либы stack build не работает

Leonid
02.07.2018
13:46:27
мне кажется что разные проекты не должны зависить от либы по пути на фс, иначе это не разные проекты

Kirill
02.07.2018
13:46:41
"меняешь либу" - код чтоль правишь?

Leonid
02.07.2018
13:46:46
ты же не будуешь разные проекты обновлять одновременно, если они разные

Kirill
02.07.2018
13:46:59
+1 про не должны
какой-то абъюз концепции проекта

Alexander
02.07.2018
13:52:59
stack.yaml как и cabal.project - одна штука на проеут
который может быть из многих пакетов

Google

Alexander
02.07.2018
13:53:39
каждый пакет может быть сам по себе проектом, но топлевел проект это не волнует и ничего не наследуется
исключение разве что Базель, там вроде можно наследовать и включать подпроекты

A64m
02.07.2018
14:02:08
я пробовал, кстати, переводить со стека небольшой проект с сотнями транзитивных зависимостей без единого указания версий в кабале и без всяких тулов которые версии из стекового снапшота берут, нью билд построил билдплан и для 8.2 и для 8.4 (но там из-за полугрупп не сбилдилось), не с дефолтным значением этих самых, которых ему все время не хватает-то, конечно.
как-то просто все прошло, раньше вроде с этим тяжелее было

Yura
02.07.2018
14:05:55

Leonid
02.07.2018
14:09:41

A64m
02.07.2018
14:10:35
да, я ужаснулся сколько в это труда вложено. причем тогда 8.4 совсем новый был

Alexander
02.07.2018
14:18:57
евил тейковер

Alex
02.07.2018
15:01:54
Народ
У меня такой вопрос
Есть дата с тремя филдами и все стринги (не знаю как это правильно называется тут)
Если я хочу их сравнивать

Alex
02.07.2018
15:02:52
То мне нужно пилить инстанс Equal
верно?
Или можно просто сделать deriving

Maxim
02.07.2018
15:03:20
можно

Alex
02.07.2018
15:04:13
Тогда еще такой вопрос: можно ли проверить пустой ли список данного типа без определения этого инстанса?
И если да, то как?

Alexandr
02.07.2018
15:05:30
Товарищи, сорри за оффтоп. Но мы придумали тут задачку по фану одну. Пока есть три разных решения. Интересно сможете ли вы придумать что нибудь поинтереснее. Нужно написать функцию проверки числа 6. Которая будет возвращать истину если это шестерка и ложь если нет. Нельзя использовать константы, только операции над числом и само число. Функции и библиотеки в теле которых есть константы, а так же дефайны тоже нельзя.

Yuriy
02.07.2018
15:12:46

Google

Hot
02.07.2018
15:13:23

Alexandr
02.07.2018
15:16:28

Yuriy
02.07.2018
15:16:33
да

Alexandr
02.07.2018
15:17:29
Отлично!

Yuriy
02.07.2018
15:19:41
не спеши. если переводить в нормальные числа, понадобится хотя бы 0
возможно, это как-то можно обойти

Alexandr
02.07.2018
15:20:27
lambda x: x==x**(x-x)+x**(x-x)+x**(x-x)+x**(x-x)+x**(x-x)+x**(x-x)
В твиттере кинули такое решение

Admin
ERROR: S client not available

Alexandr
02.07.2018
15:20:46
Не знаю насколько валидно

Yuriy
02.07.2018
15:21:15
это точно не Хаскель

A64m
02.07.2018
15:26:16

Alexander
02.07.2018
15:45:12
таким образом получили константу
можно с тем же успехом x/x написать, если целочисленное
и 6 раз сложить и сравнить
x/x правда при x=0 взорвется

Alexandr
02.07.2018
15:47:08

Ilya
02.07.2018
15:47:49

Google

Ilya
02.07.2018
15:48:47
ограничения не особо ясны

Alexander
02.07.2018
15:49:01
succ поидее константу использует

Alexandr
02.07.2018
15:49:06
Да

Alexander
02.07.2018
15:49:31
неясно S (S Z) вот Z это константа?

Leonid
02.07.2018
15:49:44
а может и не использует. может оно компилится в инструкцию одну

Vladimir
02.07.2018
15:49:55
почему это succ константу использует?
inc же, нет?

Alexander
02.07.2018
15:50:26
внутри оно добавляет единицу каким-то чудом
для целочисленного типа

Alexandr
02.07.2018
15:50:57
Да

Alexander
02.07.2018
15:51:17
вообще задача из разряда mathfun, там наверняка есть немало интересных решений кроме того что выше

Vladimir
02.07.2018
15:51:27
не, тебе виднее, конечно, но для какого-нибудь Int32 оно вполне может использовать инструкцию inc

Alexander
02.07.2018
15:52:14
которая просит процессор добавить 1
задача то brainfck а не отсутствие констант по какой-то нормальной причине

Leonid
02.07.2018
15:53:14
какие только задачи не придумывают, лишь бы постгресу бинды нормальные не писать

Alexandr
02.07.2018
15:54:51

Ilya
02.07.2018
15:56:19
length [(), (), (), (), (), ()]
нет, тоже не подходит

Alexander
02.07.2018
15:56:40

Leonid
02.07.2018
15:58:16