Size: a a a

2020 December 15

R

Roman in Haskell
Kirill Valyavin
> newtype indirection не добавляет, так что ты не можешь сделать строгим то, чего не существует

Мне не надо indirection, мне надо чтобы дипсеки в нужных местах сами вставлялись, ну или как-то так
дипсек пробегает всю структуру. Если они у тебя автоматичеки будут везде вставляться, то в итоге ты потеряешь эти самые 90%, только времени

если смотреть с угла строгости, то newtype A = A Int уже ведет себя как data A = A !Int, куда ты там строгость хочешь прилепить?
источник

R

Roman in Haskell
Kirill Valyavin
Вместо foldMap (... Sum Product Whatever) писать портянку с дипсеками тупо
foldMap будет течь независимо от того, как ты определишь свой ньютайп
источник

KV

Kirill Valyavin in Haskell
ну foldMap' не будет.
источник

KV

Kirill Valyavin in Haskell
Roman
дипсек пробегает всю структуру. Если они у тебя автоматичеки будут везде вставляться, то в итоге ты потеряешь эти самые 90%, только времени

если смотреть с угла строгости, то newtype A = A Int уже ведет себя как data A = A !Int, куда ты там строгость хочешь прилепить?
И правда...
источник

R

Roman in Haskell
Kirill Valyavin
ну foldMap' не будет.
будет, если в ньютайп обернута ленивая структура. Если обернута строгая, то не будет. Это вопрос того, что ты кладешь в ньютайп, а не каких-то там аннотаций на ньютайповом конструкторе, которые бы не имели смысла, если бы существовали
источник

KV

Kirill Valyavin in Haskell
Roman
будет, если в ньютайп обернута ленивая структура. Если обернута строгая, то не будет. Это вопрос того, что ты кладешь в ньютайп, а не каких-то там аннотаций на ньютайповом конструкторе, которые бы не имели смысла, если бы существовали
Теперь понятно, спасибо
источник

KV

Kirill Valyavin in Haskell
Остаётся только вопрос, почему нет fold' или foldMap' готовых
источник

R

Roman in Haskell
Kirill Valyavin
Остаётся только вопрос, почему нет fold' или foldMap' готовых
по тому же, почему нет foldMapA, foldMapM, mapMaybeA, asumMap, foldlM' и так далее
источник

R

Roman in Haskell
потому что прелюдия кастрированная
источник

KV

Kirill Valyavin in Haskell
Ясно
источник

TZ

Timofey Zakrevskiy in Haskell
кана
потому что в base нет ярковыраженного концепта линз, и поэтому даже в практически самом простом (где самый простой это изоморфизм) случае придется передавать две функции
Отсутствие линз как раз ясно) А вот комбинатор - пусть даже для самых простых вариантов ( fst и (, y), скажем) всё равно был бы полезен
источник

MK

Maxim Koltsov in Haskell
Ben Gamari в Твиттере: «Haskell-ci now supports GitHub Actions! Thanks Oleg. https://t.co/3ivtFA00Cr» / Твиттер
https://twitter.com/bgamari/status/1338532550797561859
источник

MK

Maxim Koltsov in Haskell
Опа
источник

YS

Yan Shkurinskiy in Haskell
прикольно
источник

MK

Maxim Koltsov in Haskell
Надо попробовать перетащить сервант
источник

JS

Jerzy Syrowiecki in Haskell
что такое Haskell-ci?
источник

JS

Jerzy Syrowiecki in Haskell
Хаскель на GitHub Actions давно есть, я им пользуюсь
источник

MK

Maxim Koltsov in Haskell
Jerzy Syrowiecki
что такое Haskell-ci?
генератор travis-yaml от фадея
источник

MK

Maxim Koltsov in Haskell
теперь и генератор гитхаб-акшенс
источник

JS

Jerzy Syrowiecki in Haskell
только сама платформа GitHub Actions глючная
источник