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

2010-08-21 Thread DavidA
Brandon S Allbery KF8NH allbery at 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

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 allbery at ece.cmu.edu writes: type Tensor u v = (u ~ Vect k a, v ~