kinds for *'

Brent Yorgey byorgey at seas.upenn.edu
Wed Jan 11 15:23:59 CET 2012

On Tue, Jan 10, 2012 at 09:41:11PM +0400, Serge D. Mechveliani wrote:
> People,
>
> GHC provides some extensions for kinds.
> Does this make possible different kinds, for example, for *' ?

Terms have types, and types have kinds.  (*) is a term, so it has a
type, not a kind.

> Prelude.Num  has  * :: a -> a -> a.
>
> And mathematicians also like to denote as *'
> (\cdot in TeX)
> a "multiplication of a vector v by a coefficient r". It is expressed by the declaration
>
>   class (Num r, ...) => LeftModule r v where  * :: r -> v -> v

It seems to me this is simply an issue of generalizing the definition
of (*).  Several attempts have been made in this direction, notably
`