Safe Haskell | Safe |
---|---|
Language | Haskell98 |
Module with basic infrastructure for function inheritance based on open rercusion.
See the work of William Cook.
We use the following terminology.
- A closed function is an ordinary function.
- A mixin function is an open function that can be inherited from, or that extends another open function.
We obtain a closed function from a base mixin base
and a number of mixin extensions e1
,...,en
as follows:
mixin (en <@> ... <@> e1 <@> base)
Documentation
Mixin identity function.
Identity for mixin composition:
mixinId <@> f == f f <@> mixinId == f