JS
IsString
Size: a a a
JS
IsString
a
type family Conc (a :: [*]) (b :: [*]) = (r :: [*]) | r -> a b
type instance Conc a '[] = a
type instance Conc a (x ': xs) = x ': Conc a xs
RHS of injective type family equation is a bare type variable
Conc a '[] = a
nc с
пруфом что r з
ависит от a и
b,
это вообще возможно?DR
JS
type family Conc (a :: [*]) (b :: [*]) = (r :: [*]) | r -> a b
type instance Conc a '[] = a
type instance Conc a (x ': xs) = x ': Conc a xs
RHS of injective type family equation is a bare type variable
Conc a '[] = a
nc с
пруфом что r з
ависит от a и
b,
это вообще возможно?r
не выводится a b
JS
a
a
и b
в локальный скоупк
type family Conc (a :: [*]) (b :: [*]) = (r :: [*]) | r -> a b
type instance Conc a '[] = a
type instance Conc a (x ': xs) = x ': Conc a xs
RHS of injective type family equation is a bare type variable
Conc a '[] = a
nc с
пруфом что r з
ависит от a и
b,
это вообще возможно?JS
a
и b
в локальный скоупx : Conc a xs
, тогда слева либо Conc (x : Conc a xs) []
, либо Conc a (x : xs)
, нет однозначностик
type family Conc (a :: [*]) (b :: [*]) = (r :: [*]) | r -> a b
type instance Conc a '[] = a
type instance Conc a (x ': xs) = x ': Conc a xs
RHS of injective type family equation is a bare type variable
Conc a '[] = a
nc с
пруфом что r з
ависит от a и
b,
это вообще возможно?с
пруфом что r з
ависит от a и
b,
это вообще возможно?DR
r
не выводится a b
JS
с
пруфом что r з
ависит от a и
b,
это вообще возможно?JS
ЗП
АГ