sequent-core-0.1.0.0: Alternative Core language for GHC plugins

Safe HaskellNone
LanguageHaskell2010

Language.SequentCore.Plugin

Synopsis

Documentation

Tools for writing a GHC plugin using the Sequent Core language in place of GHC Core.

sequentPass Source

Arguments

:: ([SeqCoreBind] -> CoreM [SeqCoreBind])

A processing function. May assume that there are no shadowed identifiers in the given binders (this is ensured by a call to deShadowBinds).

-> ModGuts -> CoreM ModGuts 

Given a function that processes a module's bindings as Sequent Core terms, perform the same processing as a Core-to-Core pass usable from a GHC plugin. Intended to be passed to the CoreDoPluginPass constructor as part of your plugin's installCoreToDos function. See Language.SequentCore.Dump for an example and the GHC manual for more details.