Size: a a a

2021 June 04

[

[BRM]White Rabbit in Haskell
типа работать с любым количеством однотипных эффектов? Или как?
источник

ЖК

Жук Короед in Haskell
Погугли free monad.
Free позвляет сделать монаду из функтора, грубо говоря.
источник

[

[BRM]White Rabbit in Haskell
а, я понял.
проблема функтора в том, что когда ты юзаешь его на стрелку клейсли, то у тебя на выходе будет f (f a). Фримонада позволяет работать с любым количеством слоёв как будто  тебя один слой, но при этом каждый новый бинд будет добавлять слой  :D
А как эти слои раскрывать потом?..
источник

ЖК

Жук Короед in Haskell
Надо писать интерпретатор 😁
Для одной и той же фри монады, можно написать несколько разных интерпретаторов, что здорово.
Т.е. программа отделена от интерпретации.
источник

[

[BRM]White Rabbit in Haskell
типа писать рекурсивный анврапер для конкретного f?
источник

ЖК

Жук Короед in Haskell
Ага
источник
2021 June 05

O

Ortofax in Haskell
хз по теме чата или нет, но как типизируют паттерны? если оперировать паттерном как объектом первого класса, то какой у него будет тип? допустим f :: [a] -> a; f (x :: xs) = x, тогда какой тип у паттерна x :: xs? 1/((x :: a) -> (xs :: [a]) -> [a])?
источник

к

кана in Haskell
у него будет тип призмы
источник

к

кана in Haskell
у призм и паттернов изоморфизм, я где-то сильно выше писал фигню, которая позволяет использовать любую призму в патмаче, а любой паттерн в призме и так делается тривиально
источник

к

кана in Haskell
Prism' [a] (a, [a])
источник

к

кана in Haskell
Переслано от кана
в принципе между паттерном и призмой изоморфизм
источник

к

кана in Haskell
Переслано от кана
огооо
источник

к

кана in Haskell
Переслано от кана
источник

O

Ortofax in Haskell
видимо придётся выучить призмы
источник

O

Ortofax in Haskell
так это изоморфизм, получается, между призмой и \(x : xs) -> x же?
источник

O

Ortofax in Haskell
не самим паттерном
источник

O

Ortofax in Haskell
то есть это отображение. но паттерн в чистом виде ничего не отображает, он вводит в контекст имена и байндит их
источник

к

кана in Haskell
именно паттерн
источник

к

кана in Haskell
призмы это штуки, которыми можно конструировать значения
источник

к

кана in Haskell
в этом отличие от траверсалов
источник