symantic-base-0.1.0.20210703: Commonly useful symantics for Embedded Domain-Specific Languages (EDSL)
Safe HaskellNone
LanguageHaskell2010

Symantic.Typed.Optimize

Synopsis

Documentation

normalOrderReduction :: forall repr a. Abstractable repr => IfThenElseable repr => SomeData repr a -> SomeData repr a Source #

Beta-reduce the left-most outer-most lambda abstraction (aka. normal-order reduction), but to avoid duplication of work, only those manually marked as using their variable at most once.

DOC: Demonstrating Lambda Calculus Reduction, Peter Sestoft, 2001, https://www.itu.dk/people/sestoft/papers/sestoft-lamreduce.pdf