iterable-1.0: API for hierarchical multilevel collections.

Safe HaskellNone

Data.Iterable.Instantiate

Description

Helpers for instantiating transitive and reflexive instances of Iterable.

Synopsis

Documentation

self_iterable :: Q Type -> DecsQSource

Generates convenience function for iterating over a single object. self_iterable typA = gen_iterable typA typA [e| id |] [e| L.singleton |]

trans_iterable :: Q Type -> Q Type -> Q Type -> DecsQSource

Generates a transitive instance of Iterable between $typA and $typC, assuming existence of Iterable $typA $typB, and Iterable $typB $typC.