Sometimes I have an expression like (f (g (h x))), except that the f, g, and h represent operations that are a little too short to bother giving names to (or even introducing lambdas) but a little too long to mash together. In a procedural language, you'd maybe write a sequence of operations, something like ...
(let* ([x (F ... x ...)]
[x (G ... x ...)]
[x (H ... x ...)])
x)
(where F ... x ..., say, is supposed to mean "an expression involving x").
Is there some convention on this in Scheme? Would you write the above, or is that rather infra dig.? Would you write it but change subsequent bindings to y, z, ...? Would you just go ahead and define named functions on the grounds that that's cheap in Scheme? Or does everyone just use threading, and write a lambda where necessary?
