Safe Haskell | None |
---|---|
Language | Haskell98 |
Abstractions for looking up (type) variables in structures
- module CHR.Data.VarLookup
- class VarLookupCmb m1 m2 where
- varlookupMap :: VarLookup m => (VarLookupVal m -> Maybe res) -> VarLookupKey m -> m -> Maybe res
Documentation
module CHR.Data.VarLookup
class VarLookupCmb m1 m2 where Source #
VarLookupCmb abstracts the combining
of/from a substitution.
The interface goes along with VarLookup but is split off to avoid functional dependency restrictions.
The purpose is to be able to combine maps only for the purpose of searching without actually merging the maps.
This then avoids the later need to unmerge such mergings.
LookupApply m1 m2 => VarLookupCmb m1 m2 Source # | |
varlookupMap :: VarLookup m => (VarLookupVal m -> Maybe res) -> VarLookupKey m -> m -> Maybe res Source #
Combine lookup with map; should be obsolete...