Size: a a a

2021 May 04

IO

I O in Haskell
Наверное не поменяет, но все равно, зачем лишнюю работу делать? А <&&> у меня в голове почему-то селективный, так что все равно short-circuiting (хотя в протолюде аппликативный, да)
источник

L

Lierdakil in Haskell
Если предположить что там какая-то вариация на тему Reader, то совершенно не важно есть shrot-circuiting или нет, всё равно второй аргумент (&&) не вычислится если не надо. Если что-то более навороченное то ок.
источник

[

[BRM]White Rabbit in Haskell
да, там ридер
источник

[

[BRM]White Rabbit in Haskell
Прекрасный тип. 10 типов из 10
источник

L

Lierdakil in Haskell
у меня смутный соблазн η-редукцию сделать ему.
источник

[

[BRM]White Rabbit in Haskell
Предлагай, как
источник

IO

I O in Haskell
У меня явный соблазн сделать

type GameMetadata r a = [GameBinaryConfig, ProcessHandle, DllBase, LocalBase] :< r => ReaderT r IO a
источник

[

[BRM]White Rabbit in Haskell
ого, прикольно
источник

IO

I O in Haskell
но тут ConstraintKindовая и TypeFamiliesная магия нужна
источник

[

[BRM]White Rabbit in Haskell
Откуда это импортится?
источник

IO

I O in Haskell
Я руками предлагал написать, есть ли где конкретно для Has не знаю
источник

[

[BRM]White Rabbit in Haskell
Нет нигде, это вообще либа одного чела с хабра
источник

[

[BRM]White Rabbit in Haskell
:D
источник

L

Lierdakil in Haskell
a убрать с обеих сторон с конца. это ничего почти не поменяет конечно кроме того что GameMetadata внезапно можно будет не применять ко второму аргументу везде
источник

[

[BRM]White Rabbit in Haskell
сломалось
источник

к

кана in Haskell
type family xs :< r where
 '[] :< r = ()
 (x:xs) :< r = (Has x r, xs :< r)
источник

L

Lierdakil in Haskell
значит я чего-то недоглядел
источник

[

[BRM]White Rabbit in Haskell
источник

IO

I O in Haskell
Там же это все под =>, так что не заредьюсить
источник

к

кана in Haskell
а ну включи ConstraintKinds и проставь тип еще мб
источник