Size: a a a

2020 December 28

к

кана in Haskell
а что дальше будет, ghcide заархивируют?
источник

VD

Velvet Darkness in Haskell
Вероятно.
источник

VD

Velvet Darkness in Haskell
Его вроде уже не рекомендуют юзать как стандалон, так что относительно ожидаемо, что его в хлс всосут и вообще забросят как отдельный проект.
источник

в

весёлый кремовый 🍰 т... in Haskell
а есть какой-то способ имея фундеп a -> b и a как-то получить b?
источник

к

кана in Haskell
ну да,

class Foo a b | a -> b
instance Foo Int String

foo :: Foo a b => b

:t foo @Int
> String

или чет другое хочется?
источник

в

весёлый кремовый 🍰 т... in Haskell
хочется на тайплевеле это делать
источник

к

кана in Haskell
ну вот b
источник

к

кана in Haskell
на тайплевеле
источник

к

кана in Haskell
в сигнатуре
источник

к

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

в

весёлый кремовый 🍰 т... in Haskell
мне нужно что-то чем можно воспользоваться как Type Family, а не вот это вот
источник

к

кана in Haskell
type family можно использовать как тайпфемели
источник

в

весёлый кремовый 🍰 т... in Haskell
тайпкласс с фундепом определил не я
источник

к

кана in Haskell
не думаю что можно что-то сделать тут, если нельзя инстанс аргументом прописать
источник

в

весёлый кремовый 🍰 т... in Haskell
кана
type family можно использовать как тайпфемели
спасибо, а то я не в курсе
источник

к

кана in Haskell
был бы в курсе, не было бы вопроса)
источник

к

кана in Haskell
чтобы было немного понятно почему нельзя

class Foo a b | a -> b
instance Foo Int Bool
foo :: Foo Int Int => Int
foo = 0


вот это валидный код, с валидной сигнатурой

Foo Int Int это просто Void, нет такого инстанса, и никогда не будет, поэтому вызвать foo нельзя будет (без unsafeCoerce ньютайпа с такой функцией внутри). Но функция все еще валидная, как и foo :: Void -> Int
источник

DB

Danil Berestov in Haskell
кана
чтобы было немного понятно почему нельзя

class Foo a b | a -> b
instance Foo Int Bool
foo :: Foo Int Int => Int
foo = 0


вот это валидный код, с валидной сигнатурой

Foo Int Int это просто Void, нет такого инстанса, и никогда не будет, поэтому вызвать foo нельзя будет (без unsafeCoerce ньютайпа с такой функцией внутри). Но функция все еще валидная, как и foo :: Void -> Int
страшно
источник

JS

Jerzy Syrowiecki in Haskell
кана
type family можно использовать как тайпфемели
как грубо!
источник

KV

Kirill Valyavin in Haskell
Чё делать, если хочется
foldl1 adjoin [ix "fieldA", ix "fieldB"], но типы не дают?
источник