ЗП
Size: a a a
ЗП
AA
D
KV
AA
D
D
D
KV
ЖК
ЗП
• Expected kind ‘Exp (TreeF a0 (Tree a0))’,
but ‘Project ('Node x xs)’ has kind ‘Base (Tree a0) (Tree a0) -> *’
data Tree a = Node a [Tree a]
data TreeF a b = NodeF a [b]
type instance Eval (Map f ('NodeF a '[])) = 'NodeF a '[]
type instance Eval (Map f ('NodeF a (b ': bs))) = 'NodeF a (Eval (Map f (b ': bs)))
type instance Base (Tree a) = TreeF a
type instance Eval (Project ('Node x xs)) = 'NodeF x xs
type Exp a = a -> Type
это и есть то, что мне нужноЗП
ЗП
Exp (TreeF a0 (Tree a0))
Exp
Base (Tree a0) (Tree a0) -> Type
JS
Exp (TreeF a0 (Tree a0))
Exp
Base (Tree a0) (Tree a0) -> Type