getting type information about local bindings
Simon Peyton-Jones
simonpj@microsoft.com
Fri, 10 Nov 2000 01:23:28 -0800
Don't try to get the type environment out. Instead, look at the
syntax tree produced by the type checker. Each binder is an Id.
There's a function
idType :: Id -> Type
that tells you the type of each binder. Quite how you present it
to the user in a good way isn't clear to me,
Simon
| -----Original Message-----
| From: Bernard James POPE [mailto:bjpop@cs.mu.OZ.AU]
| Sent: 10 November 2000 05:56
| To: glasgow-haskell-users@haskell.org
| Cc: bjpop@cs.mu.OZ.AU
| Subject: getting type information about local bindings
|
|
| Hi all,
|
| In GHC 4.09 the flag "-ddump-types" causes the type signatures of
| top-level bound identifiers to be printed.
|
| I would really like to make use of the type-checker in GHC,
| however, I would
| also like to obtain the types of locally bound identifiers
| (things in let expressions and where clauses). Obviously
| there is going to
| be some trickery regarding type variables from enclosing scopes.
|
| I looked in the TcModule.lhs module and noticed that the TcResults
| value returned by typecheckModule contains a value
| environment that only
| specifies the types of top bound identifiers.
|
| Further investigation of the code led me to the TcBinds.lhs module
| and the tcBindsAndThen function. I can see that local type
| environments
| are not passed upwards during type checking/inference.
|
| At some point I got lost in the code. Does anyone know of a
| reasonable means
| for obtaining this type information? I don't mind doing some
| hacking, but
| I wanted to get advise from the experts as to whether I might
| be wasting
| my time.
|
| Perhaps such a thing is done somewhere when generating Core code?
|
| As an aside I dare say that such an extension would be useful
| to other
| people, particularly those writing source transformation code.
|
| Regards,
| Bernie.
|
| _______________________________________________
| Glasgow-haskell-users mailing list
| Glasgow-haskell-users@haskell.org
| http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
|