ddc-core-simpl-0.2.0.1: Disciple Core language simplifying code transformations.

Safe HaskellSafe-Infered

DDC.Type.Transform.AnonymizeT

Synopsis

Documentation

anonymizeT :: (Ord n, AnonymizeT c) => c n -> c nSource

Rewrite all binders in a thing to be of anonymous form.

class AnonymizeT c whereSource

Methods

anonymizeWithT :: forall n. Ord n => [Bind n] -> c n -> c nSource

Rewrite all binders in a thing to be of anonymous form.

The stack contains existing anonymous binders that we have entered into, and named binders that we have rewritten. All bound occurrences of variables will be replaced by references into this stack.

pushAnonymizeBindT :: Ord n => [Bind n] -> Bind n -> ([Bind n], Bind n)Source