
#14341: Show instance for TypeReps is a bit broken -------------------------------------+------------------------------------- Reporter: dfeuer | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Core Libraries | Version: 8.2.1 Resolution: | Keywords: Typeable Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D4084 Wiki Page: | -------------------------------------+------------------------------------- Description changed by dfeuer: Old description:
There are two problems.
1. Showing typereps of tuples can produce unnecessary parentheses:
{{{ Prelude K T> typeRep @(Int, Maybe Bool) (Int,(Maybe Bool)) }}}
The fix is trivial.
2. Showing typereps of ticked (i.e., lifted) tuples and lists gives hard- to-read results, because it does not use the usual special syntax:
{{{ Prelude K T> typeRep @'(Int, Maybe Bool) '(,) * * Int (Maybe Bool)
Prelude K T> typeRep @'[1,2,3] ': Nat 1 (': Nat 2 (': Nat 3 ('[] Nat))) }}}
Fixing the lifted tuple case is trivial. Fixing the lifted list case is slightly less trivial, but not hard.
New description: There are three problems. 1. Showing typereps of tuples can produce unnecessary parentheses: {{{ Prelude K T> typeRep @(Int, Maybe Bool) (Int,(Maybe Bool)) }}} The fix is trivial. 2. Showing typereps of ticked (i.e., lifted) tuples and lists gives hard- to-read results, because it does not use the usual special syntax: {{{ Prelude K T> typeRep @'(Int, Maybe Bool) '(,) * * Int (Maybe Bool) Prelude K T> typeRep @'[1,2,3] ': Nat 1 (': Nat 2 (': Nat 3 ('[] Nat))) }}} Fixing the lifted tuple case is trivial. Fixing the lifted list case is slightly less trivial, but not hard. 3. Type operator applications are not shown infix. {{{ Prelude K T> typeRep @(Maybe :*: Either Int) :*: * Maybe (Either Int) }}} This is the hardest problem to fix, although it's probably not too terribly hard. See comment:1 for thoughts. -- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14341#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler