[GHC] #12550: Inconsistent unicode display for kinds
GHC
ghc-devs at haskell.org
Sun Aug 28 21:31:53 UTC 2016
#12550: Inconsistent unicode display for kinds
---------------------------------+--------------------------------------
Reporter: johnleo | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.0.1
Resolution: | Keywords:
Operating System: MacOS X | Architecture: x86_64 (amd64)
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
---------------------------------+--------------------------------------
Description changed by johnleo:
@@ -12,0 +12,1 @@
+ -- (note that forall is also not displayed properly as ∀ here)
New description:
With `:set -fprint-unicode-syntax`, the kind `*` should always be printed
as `★`. However the output is extremely inconsistent. Here are a few
examples from ghci, and I will add more as I run across them.
{{{
:t fmap
fmap ∷ ∀ {f ∷ ★ → ★} {a} {b}. Functor f ⇒ (a → b) → f a → f b
:i fmap
class Functor (f ∷ * → *) where
fmap ∷ forall a b. (a → b) → f a → f b
-- (note that forall is also not displayed properly as ∀ here)
:k Functor
Functor ∷ (★ → ★) → Constraint
:m + GHC.Generics
:i Functor
-- (among other output)
instance ∀ (f ∷ * → ★). Functor f ⇒ Functor (Rec1 f)
-- Defined in ‘GHC.Generics’
instance Functor Par1 -- Defined in ‘GHC.Generics’
instance ∀ i (c ∷ Meta) (f ∷ * → ★). Functor f ⇒ Functor (M1 i c f)
-- Defined in ‘GHC.Generics’
instance ∀ i c. Functor (K1 i c) -- Defined in ‘GHC.Generics’
instance ∀ (f ∷ * → ★) (g ∷ * → *).
(Functor f, Functor g) ⇒
Functor (f :.: g)
-- Defined in ‘GHC.Generics’
instance ∀ (f ∷ * → ★) (g ∷ * → ★).
(Functor f, Functor g) ⇒
Functor (f :+: g)
-- Defined in ‘GHC.Generics’
instance ∀ (f ∷ * → ★) (g ∷ * → ★).
(Functor f, Functor g) ⇒
Functor (f :*: g)
-- Defined in ‘GHC.Generics’
:t datatypeName
datatypeName
∷ ∀ {d} {t ∷ ★ → (* → *) → ★ → ★} {f ∷ * → *} {a}.
Datatype ★ d ⇒
t d f a → [Char]
:i datatypeName
class Datatype k (d ∷ k) where
datatypeName ∷ forall {k1} (t ∷ k → (* → *) → k1 → *) (f ∷ *
→ *) (a ∷
k1).
t d f a → [Char]
...
-- Defined in ‘GHC.Generics’
}}}
Note that `:t datatypeName` causes a panic in 8.1; I have filed a separate
bug [https://ghc.haskell.org/trac/ghc/ticket/12549]
--
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12550#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list