![]() This provides transformM, which we can build applyX (etc.) on top of: it takes a set of functions, and applies them wherever they could match in a data structure, without automatically recursing. This is done using a four(!)-argument typeclass, drawing inspiration from Biplate. The resulting 25,000-line set of instances takes a little while to compile... |
||
---|---|---|
.. | ||
GenNavAST.hs | ||
GenOrdAST.hs | ||
GenTagAST.hs | ||
PregenUtils.hs |