[Haskell-cafe] A question on datakinds syntax
highfly22 at gmail.com
Fri Jan 13 08:31:20 UTC 2017
I am reading the document of spock-0.11, and found two strange
definitions in the Web.Spock.
type Var a = Path ((:) * a ( *)) Open
var :: (Typeable * a, PathPiece a) => Path ((:) * a ( *)) Open
What's the meaning of the star between Typeable and a ?
The kind of Typeable is * -> *. I cannot understand why the Typeable in the
var prototype takes two kinds.
In the Web.Routing.Combinators of reroute-0.4, those are defined as
type Var a = Path (a ': ') Open
var :: (Typeable a, PathPiece a) => Path (a ': ') Open
Why there are two difference definition about the same thing?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe