question about GHC API on GHC plugin

Mike Izbicki mike at
Fri Aug 7 22:40:30 UTC 2015

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