Re: [Haskell-cafe] Re: Equality constraints and RankNTypes - how do I assist type inference

2010-08-21 Thread Sjoerd Visscher
This works: -- Tensor product of two vector spaces type family Tensor u v :: * type instance Tensor (Vect k a) (Vect k b) = Vect k (TensorBasis a b) On Aug 21, 2010, at 9:15 AM, DavidA wrote: > Brandon S Allbery KF8NH ece.cmu.edu> writes: > >> >>> type Tensor u v = >>>(u ~ Vect k a, v ~

[Haskell-cafe] Re: Equality constraints and RankNTypes - how do I assist type inference

2010-08-21 Thread DavidA
Brandon S Allbery KF8NH ece.cmu.edu> writes: > > > type Tensor u v = > > (u ~ Vect k a, v ~ Vect k b) => Vect k (TensorBasis a b) -- ** > > IIRC this actually substitutes as > > (forall k a b. (u ~ Vect k a, v ~ Vect k b) => Vect k (TensorBasis a b)) > > and the implicit forall will gen