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

Maintainermaurerl@cs.uoregon.edu
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Language.SequentCore.Plugin

Description

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

Synopsis

Documentation

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.