
On Mar 18, 2009, at 1:40 AM, wren ng thornton wrote:
Lambdabot (on #haskell) has something similar using a type, Expr, to overload certain names, e.g.
koninkje > foldr f z [1..5] lambdabot f 1 (f 2 (f 3 (f 4 (f 5 z))))
It's a complete hack and isn't as sophisticated as what you're after, but it could serve as a basis for implementation ideas.
This is, I believe, essentially the simple-reflect package on Hackage: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/simple- reflect At least two of lennart's libraries provide related functionality: Traced: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/ traced and Data.Number.Symbolic in numbers: http://hackage.haskell.org/cgi- bin/hackage-scripts/package/numbers Cheers, S.