hermit-0.1.8.0: Haskell Equational Reasoning Model-to-Implementation Tunnel

Safe HaskellNone

Language.HERMIT.Dictionary

Contents

Synopsis

The HERMIT Dictionary

This is the main namespace. Things tend to be untyped, because the API is accessed via (untyped) names.

type Dictionary = Map String [Dynamic]Source

A Dictionary is a collection of Dynamics. Looking up a Dynamic (via a String key) returns a list, as there can be multiple Dynamics with the same name.

all_externals :: [External] -> [External]Source

Augment a list of Externals by adding all of HERMIT's primitive Externals, plus any GHC RULES pragmas in the module.

dictionary :: [External] -> DictionarySource

Create a dictionary from a list of Externals.

pp_dictionary :: Map String (PrettyOptions -> PrettyH Core)Source

The pretty-printing dictionaries.

metaCmdSource

Arguments

:: Tag a 
=> [External]

universe of commands to search

-> a

tag matching predicate

-> ([RewriteH Core] -> RewriteH Core)

means to combine the matched rewrites

-> RewriteH Core