пример произвольного инстанса?
class TypeName a where typeName :: Proxy a -> String instance (TypeName a, TypeName b) => TypeName (a -> b) where typeName Proxy = typeName (Proxy @a) ++ " -> " ++ typeName (Proxy @b)
если для вас родной язык — английский, то может быть, вам будет легче спрашивать в @haskell_en
Proxy это легаси уже
instance (Eq e) => Collects e (e -> Bool) where empty = (\_ -> False) insert x f = \y -> if x == y then True else f y member x f = f x
не хочу новичка пугать
Ты уже использовал @a в коде
Спасибо Прохор сейчас попробую в коде. Интересно мжно ли это "безобразие" продолжить на функцию из двух переменных, но в другом контекдте? Вообще напоминает контравариантный функтор
Обсуждают сегодня