[Haskell-cafe] ghc api printing of types

Phyx lonetiger at gmail.com
Sat Jul 17 09:34:35 EDT 2010


Hey Daniel,

You were right, that is the correct way of doing it, I just found out the
type I was trying to print didn't have the context at that level anymore, I
had to look one position higher in the ast.

Thanks,
Phyx

-----Original Message-----
From: Daniel Gorín [mailto:dgorin at dc.uba.ar] 
Sent: Sunday, July 04, 2010 15:49
To: Phyx
Cc: haskell-cafe at haskell.org
Subject: Re: [Haskell-cafe] ghc api printing of types

I believe the way is done in hint is something like this (untested):

showType t =
   do -- Unqualify necessary types
      -- (i.e., do not expose internals)
       unqual <- GHC.getPrintUnqual
      return $ GHC.showSDocForUser unqual (GHC.pprTypeForUser False   
t) -- False means 'drop explicit foralls'

Hope that helps

Daniel




On Jul 4, 2010, at 8:36 AM, Phyx wrote:

> I was wondering how given a Type I can get a pretty printed type out  
> of it.
>
> I’m currently using showSDocUnqual . pprType . snd . tidyOpenType  
> emptyTidyEnv
> But this has the problem that predicates don’t get printed, anyone  
> know how GHCi does this?
>
> Thanks,
> Phyx
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe



More information about the Haskell-Cafe mailing list