Size: a a a

2021 March 02

JS

Jerzy Syrowiecki in Haskell
на то они и ворнинги, что иногда программист умнее компилятора
источник

IR

IC Rainbow in Haskell
А если через классы сделать?
источник

IR

IC Rainbow in Haskell
Хотя там начинаются всякие UndecidableSuperclasses и прочие страсти
источник

[

[BRM]White Rabbit in Haskell
Jerzy Syrowiecki
на то они и ворнинги, что иногда программист умнее компилятора
В 75% случаев "программист умнее компилятора" надо говорить в саркастическом ключе
источник

IR

IC Rainbow in Haskell
"программист умнее авторов компилятора"
источник

[

[BRM]White Rabbit in Haskell
IC Rainbow
"программист умнее авторов компилятора"
Нифига он умный👍
источник

к

кана in Haskell
IC Rainbow
Хотя там начинаются всякие UndecidableSuperclasses и прочие страсти
сделал вот такой IsPrefix, как воспроизвести ошибку?

type family IsPrefixOf' xs ys a b :: Constraint where
 IsPrefixOf' '[] _ _ _ = ()
 IsPrefixOf' (x : xs) (x : ys) a b = IsPrefixOf' xs ys a b
 IsPrefixOf' _ _ a b = TypeError (ShowType a :<>: Text " isn't prefix of " :<>: ShowType b)

type IsPrefixOf a b = IsPrefixOf' a b a b


f :: [1, 2] `IsPrefixOf` [1, 2, 3] => ()
f = ()
источник

IR

IC Rainbow in Haskell
кана
сделал вот такой IsPrefix, как воспроизвести ошибку?

type family IsPrefixOf' xs ys a b :: Constraint where
 IsPrefixOf' '[] _ _ _ = ()
 IsPrefixOf' (x : xs) (x : ys) a b = IsPrefixOf' xs ys a b
 IsPrefixOf' _ _ a b = TypeError (ShowType a :<>: Text " isn't prefix of " :<>: ShowType b)

type IsPrefixOf a b = IsPrefixOf' a b a b


f :: [1, 2] `IsPrefixOf` [1, 2, 3] => ()
f = ()
мило... сейчас опробую
источник

c

certifiable fleece in Haskell
А для чего именно а и b?
источник

к

кана in Haskell
чтобы ошибку вывести
источник

к

кана in Haskell
f :: [1, 3] `IsPrefixOf` [1, 2, 3] => ()
источник

c

certifiable fleece in Haskell
А типы же как-то неявно в любом случае должны передаваться
источник

c

certifiable fleece in Haskell
А, я понял, спасибо
источник

IR

IC Rainbow in Haskell
IC Rainbow
мило... сейчас опробую
так всё равно unused
источник

к

кана in Haskell
так а как воспроизвести? Это констрейнт на класс, инстанс, функцию?
источник

IR

IC Rainbow in Haskell
на функцию
источник

IR

IC Rainbow in Haskell
bind
 :: ( Compatible dsl oldDsl
    , MonadIO m
    )
 => Pipeline dsl
 -> Bound dsl m ()
 -> Bound oldDsl m ()
источник

IR

IC Rainbow in Haskell
это всё фантомные типы
источник

к

кана in Haskell
оч странно

f :: a IsPrefixOf b => Proxy a -> Proxy b -> ()
f _ _ = ()

включил -Wall, ничего
источник

IR

IC Rainbow in Haskell
RedundantConstraints вроде нет в all
источник