----------------------------------------------------------------------------- -- | -- Module : Debug.SimpleReflect -- Copyright : (c) 2008 Twan van Laarhoven -- License : BSD-style -- -- Maintainer : twanvl@gmail.com -- Stability : experimental -- Portability : portable -- -- 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 ----------------------------------------------------------------------------- module Debug.SimpleReflect ( module Debug.SimpleReflect.Expr , module Debug.SimpleReflect.Vars ) where import Debug.SimpleReflect.Expr import Debug.SimpleReflect.Vars