simple-reflect-0.3: Simple reflection of expressions containing variables

Portabilityportable
Stabilityexperimental
Maintainertwanvl@gmail.com
Safe HaskellSafe-Inferred

Debug.SimpleReflect

Description

Simple reflection of haskell expressions containing variables.

Some examples:

 > sum [1..5] :: Expr
 0 + 1 + 2 + 3 + 4 + 5
 > foldr1 f [a,b,c]
 f a (f b c)
 > take 5 (iterate f x)
 [x,f x,f (f x),f (f (f x)),f (f (f (f x)))]
 > mapM_ print $ reduction (1+2*(3+4))
 1 + 2 * (3 + 4)
 1 + 2 * 7
 1 + 14
 15

Documentation