Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- withBinding :: (Context -> Object -> Object) -> Context -> Binding -> Binding
- isLambdaBinding :: Binding -> Bool
- withSubObjects :: (Context -> Object -> Object) -> Context -> Object -> Object
- applyRulesInsideOut :: Context -> Object -> Object
- fastYegorInsideOutAsRule :: NamedRule
- fastYegorInsideOutBinding :: Context -> Binding -> Binding
- fastYegorInsideOut :: Context -> Object -> Object
Documentation
>>>
:set -XOverloadedStrings
isLambdaBinding :: Binding -> Bool Source #
applyRulesInsideOut :: Context -> Object -> Object Source #
Normalize an object, following a version of call-by-value strategy:
- Apply rules in subobjects/subterms before applying a rule at root.
- Do not apply rules under formations with at least one void (empty) binding.
runWithYegorRules applyRulesInsideOut "⟦ x ↦ ⟦⟧, y ↦ ⟦ z ↦ ⟦ w ↦ ξ.ρ.ρ.x ⟧ ⟧ ⟧.y.z.w"
⟦ ρ ↦ ⟦ ρ ↦ ⟦ ⟧ ⟧ ⟧