Skip to content

Kind parsing seems to be failing

Template Haskell doesn't seem to be handling kinds right. Consider

test :: String
test = $(do
	test <- [d| 
		type family HTrieMapT :: (* -> (* -> * -> *)) -> (* -> *) -> * |]
	return (LitE (StringL (pprint test))))

What this actually outputs is

type family HTrieMapT :: (* -> ((* -> *) -> *) -> *) -> * -> *

which doesn't even seem close to the right kind.

Trac metadata
Trac field Value
Version 6.12.1
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Template Haskell
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information