parsing types

Ranjit Jhala jhala at cs.ucsd.edu
Sat Apr 23 20:06:42 CEST 2011


Hi all,

can someone give me a hint as to the best way to parse a type from a string. 
Ideally, I'd like a function 

	stringType :: String -> Maybe Type

or possibly, 

	stringType :: (GhcMonad m) => String -> m (Maybe Type)

such that,

	stringType s == Just t

if in the current GHC context the string s is the name of the type t. For 
example, I'd like:

	stringType "Int" 

to return a value equal to intTy (from TysWiredIn). My investigations have 
led me to 

	parseType :: P (LHsType RdrName)

and I suspect that with some work (mainly creating an appropriate PState, 
and mapping the name back, I can extract what I want, but I was wondering 
if there is some simpler route that I've overlooked.

Thanks!

Ranjit.



More information about the Glasgow-haskell-users mailing list