I just don't think your first example is a very good one. It's sort of a randomly, absurdly complicated way of writing 6. The good examples for HOFs all take them as parameters.
As for stepping, even in Scheme, ((lambda ... ...) ...) is not something they have necessarily seen EVEN if they've seen functions-as-values (since I argue those are not the natural first examples), and that's going to appear when stepping. So either the stepper needs to mask such syntax, or they have to be prepared for the truth. I don't think P4P makes things worse. Shriram _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev