Brent Yorgey wrote:

Hmm... I'm having trouble understanding exactly what you want. In particular, I don't understand what this statement:

"But what I *really* want is to print out the transformation *sequence*."

has to do with the pseudocode that you exhibit later. Could you perhaps clarify a bit more, or give a specific example?

I want to construct a program that prints out something like this:

[\fx -> f(fx)]
[\f -> [\x -> f(fx)]]
[\f -> S[\x -> f][\x -> fx]]
[\f -> S(Kf)[\x -> fx]]
[\f -> S(Kf)f]
S[\f -> S(Kf)][\f -> f]
S(S[\f -> S][\f -> Kf])[\f -> f]
S(S(KS)[\f -> Kf])[\f -> f]
S(S(KS)K)[\f -> f]
S(S(KS)K)I

I can quite happily construct a program which, given the first line, yields the last line. But getting it to print all the intermediate steps is harder. And, like I said, when something is "hard" in Haskell, it usually means you're doing it the wrong way... ;-)

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to