blob: 81fcf71a96b505f70fe9b51cf9dae88c98daa8d0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
|
{-# LANGUAGE FlexibleInstances, UndecidableInstances,
MultiParamTypeClasses, FunctionalDependencies #-}
module T4401 where
class Mul x y z | x y -> z
class IsType a
class IsType a => IsSized a s | a -> s
data Array n a = Array
instance IsSized a s => IsType (Array n a)
instance (IsSized a s, Mul n s ns) => IsSized (Array n a) ns
|