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

Copyright(c) 2014 Edwin Westbrook
LicenseBSD3
Maintaineremw4@rice.edu
Stabilityexperimental
PortabilityGHC
Safe HaskellNone
LanguageHaskell98

Data.Binding.Hobbits.Liftable

Description

This module defines the type-class Liftable for lifting non-binding-related data out of name-bindings. Note that this code is not "trusted", i.e., it is not part of the name-binding abstraction: instead, it is all written using the primitives exported by the Mb

Synopsis

Documentation

class NuMatching a => Liftable a where Source

The class Liftable a gives a "lifting function" for a, which can take any data of type a out of a multi-binding of type Mb ctx a.

Methods

mbLift :: Mb ctx a -> a Source

mbList :: NuMatching a => Mb c [a] -> [Mb c a] Source

Lift a list (but not its elements) out of a multi-binding