hobbits-1.2.2: A library for canonically representing terms with binding

Copyright(c) 2011 Edwin Westbrook, Nicolas Frisby, and Paul Brauner
LicenseBSD3
Maintaineremw4@rice.edu
Stabilityexperimental
PortabilityGHC
Safe HaskellNone
LanguageHaskell98

Data.Binding.Hobbits

Contents

Description

This library implements multi-bindings as described in the paper E. Westbrook, N. Frisby, P. Brauner, "Hobbits for Haskell: A Library for Higher-Order Encodings in Functional Programming Languages".

Synopsis

Values under multi-bindings

The Mb type modeling multi-bindings is the central abstract type of the library

Closed terms

The Cl type models super-combinators, which are safe functions to apply under Mb.

Pattern-matching multi-bindings and closed terms

The nuP quasiquoter allows safe pattern matching on Mb values. superCombP is similar.

Lifting values out of multi-bindings

Ancilliary modules

module Data.Proxy

Type lists track the types of bound variables.

The Data.Binding.Hobbits.NuMatching module exposes the | NuMatching class, which allows pattern-matching on (G)ADTs in | the bodies of multi-bindings