question about GHC API on GHC plugin

Edward Z. Yang ezyang at
Sat Aug 8 06:20:39 UTC 2015

Hello Mike,

Give importDecl from LoadIface a try, or maybe tcLookupGlobal if
you're in TcM.


Excerpts from Mike Izbicki's message of 2015-08-07 15:40:30 -0700:
> I'm trying to write a GHC plugin.  The purpose of the plugin is to
> provide Haskell bindings to Herbie. Herbie
> ( is a program that takes a
> mathematical statement as input, and gives you a numerically stable
> formula to compute it as output.  The plugin is supposed to automate
> this process for Haskell programs.
> I can convert the core expressions into a format for Herbie just fine.
> Where I'm having trouble is converting the output from Herbie back
> into core.  Given a string that represents a numeric operator (e.g.
> "log" or "+"), I can get that converted into a Name that matches the
> Name of the version of that operator in scope at the location.  But in
> order to create an Expr, I need to convert the Name into a Var.  All
> the functions that I can find for this (e.g. mkGlobalVar) also require
> the type of the variable.  But I can't find a way to figure out the
> Type given a Name.  How can I do this?

More information about the ghc-devs mailing list