@haskellru

Страница 1537 из 1551
Alexander
19.10.2018
19:28:09
да

в общем у AsJSON есть для String/ByteString инстанс

поэтому в ghci дефолтинг срабатывает

Yuriy
19.10.2018
19:28:58
IsString есть и для Value, и для String

Google
Yuriy
19.10.2018
19:29:32
интересно, почему разные IsString не конфликтуют

если дефолтинг не сработает, будет не Nothing, а ошибка компиляции

у тебя именно Value выбирается

Alexander
19.10.2018
19:30:16
а почему они должны

в программе у меня value

т.к. там явно тип написан

в ghci простом тесте было string поэтому все работало

Yuriy
19.10.2018
19:31:07
зачем у тебя явно Value написан, если ты из String _ :: Value не вытащишь key?

Alexander
19.10.2018
19:31:21
ну в программе то у меня Value бегает

Yuriy
19.10.2018
19:32:03
для Value нельзя писать "{\"solution\":[1]}"

можно [aesonQQ| {"solution": [1]} |]

Alexander
19.10.2018
19:32:40
это ghci блин

я просто пытался понять откуда разница, теперь понятно

Google
Yuriy
19.10.2018
19:33:42
а как посмотреть default rules в ghci?

это ghci блин
а. ты проверил в ghci, всё работало, и ты перенёс строчку в файл?

Alexander
19.10.2018
19:34:32
нет

у меня был файл, в нём почему-то не работает

я включил ghci и стал разбираться, вижу что в функции возвращается Nothing

а примерно в том же примере в ghci Just

сначала разницы не видел почему так

теперь вижу

и оказывается все работало верно

но хоть тесты написал

хах

теперь с русскими буковами какая-то фигня

Terminator
20.10.2018
04:01:49
@petrodems будет жить. Поприветствуем!

Дмитрий
20.10.2018
06:11:11
Скорее всего нет, но всё таки, может есть ли какой-то аналог let конструкций, который можно применить на уровне типов?

Yuriy
20.10.2018
06:13:13
можно ввести синоним типа в модуле, но не экспортировать его

Дмитрий
20.10.2018
06:15:25
Мне нужно что-то такое по функционалу: type family D a b where D a b = let x = P a b in (x, x)

Yuriy
20.10.2018
06:16:53
type Pair x = (x, x) D a b = Pair (P a b)

Дмитрий
20.10.2018
06:16:56
А синоним типа на уровне модуля... нужно поробовать, что из этого можно вытащить.

Угу, благодарю, но выглядит как костыль :(

Yuriy
20.10.2018
06:20:52
типы не вычисляются, как значения, они матчатся в хвост и в гриву постоянно, поэтому не надо их переусложнять

Google
Дмитрий
20.10.2018
06:22:33
А если я хочу на них построить нормальные вычисления? Скажем меня интересуют не числа чёрча, а позиционные, чтобы можно было считать не за n от модуля, а за log от него же.

Yuriy
20.10.2018
06:27:10
тогда пользуйтесь этими "костылями" или языками с более продвинутыми типами

для кого-то и let может выглядеть как костыль, ведь это всего лишь сахар над абстракцией и аппликацией

Дмитрий
20.10.2018
06:32:07
У меня только сложение и умножение. А с отрицательными числами что-то не пошло :(

Плюс оно двоичное и задом наперёд.

Yuriy
20.10.2018
06:32:35
по-моему, глобальный синоним типа не выглядит плохо, потому что пользователю твоего типа, скорее всего, захочется заглянуть внутрь

Oleg
20.10.2018
06:34:08
Догадываюсь, что если спуститься с тайпфемелей на какие-то, например, Proxy, уже будет проще с тайп-синонимами

Дмитрий
20.10.2018
06:35:13
А на проксях можно строить функции на типах? Если да, то ссылку в студию ибо я жажду это зачесть.

Oleg
20.10.2018
06:36:09
Да мне не нужно верить в таких вопросах в отношении хашкеля. Я пока фантазирую прост. Может быть и нельзя

Дмитрий
20.10.2018
06:37:11
А я и не верю…

Alexander
20.10.2018
06:43:25
функторы опять набирают

интересно там опять требования как на 10 академиков

Alexander
20.10.2018
06:51:47
в твиттере глиминг ссылку на их сайт ночью опять постил http://www.functor.se/careers/openings/

с тем что набирают

Pineapple
20.10.2018
07:03:35
У меня только сложение и умножение. А с отрицательными числами что-то не пошло :(
Я как-то делал знаковые целые в троичной логике https://github.com/Shimuuar/type-level-numbers

Abbath
20.10.2018
11:07:04
Так посоны, помню тут давали мне билдскрипт до тревиса

Google
Abbath
20.10.2018
11:07:10
Можете повторить?

Уже не надо

cabal: The program 'ghc' version >=7.0.1 is required but it could not be found.

И снова здравствуйте

Alexander
20.10.2018
11:54:02
у hvr на гитхабе репа

Terminator
20.10.2018
19:56:12
@lightgreen будет жить. Поприветствуем!

Artyom
20.10.2018
19:58:28
@voidlizard Посмотрел https://www.youtube.com/watch?v=Ew8gl6WF9to&feature=youtu.be&t=2401 — как у вас дела с миграциями? Вы научились их нормально делать без того, чтобы все старые типы хранить в коде и версионировать все явно?

У меня просто в очередной раз мучения на тему “как нам обустроить базу данных в хаскеле”

Dmitry
20.10.2018
20:00:14
ну в целом всё плохо

просто в каждом подходе по-своему

не именно в хаскелле с базами, а вообще с базами

Alexander
20.10.2018
20:02:00
миграции плохо у всех

могу рассказать как у нас сделано чтобы zerodowntime был

даже в случае не backward compatible миграций

но это ад ещё тот, я не уверен, что в другом проекте я хочу повторять

Artyom
20.10.2018
20:02:48
Да zero downtime даже и не нужен (и производительность не нужна), лишь бы было удобно кодить

У меня сейчас самописный TH для того, чтобы эти миграции генерить, и это тоже что-то неприятное (но safecopy я вообще не хочу, если уж на то пошло, потому что его только из хаскеля можно инспектить)

Alexander
20.10.2018
20:03:28
у нас вручную + версия в табличке

автогенерация ломается на каждый чих

но это делает версии линейными

Google
Alexander
20.10.2018
20:04:10
но, в production они линейные

а локально у нас в nix-shell база пересоздается

и мигрирует куда надо

т.е. nix-shell и там start_db

в другой базе все на основе persistent и его миграций, но это говно

любые нетривиальные миграции он не осиливает

во время разработки (пока реальных юзеров не было) мы раза 4 дропали ту базу

сейчас надо ещё в одном проекте делать миграции и я даж не знаю что делать

с одной стороны список версий и явные миграции это вроде самое разумное

с другой мерж веток изменяющих схему - сериализуется

Terminator
21.10.2018
03:46:23
@nikiquark будет жить. Поприветствуем!

Alex
21.10.2018
06:22:59
Колеги, в целях самообразования пытаюсь переписать следующую функцию из do-нотации на операторный лад

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