http://www.perlmonks.org?node_id=1045695


in reply to Re^6: Understanding the Schwartzian transform.
in thread Understanding the Schwartzian transform.

Agreed, but: 1. the OP did not ask for the difference between Guttman-Rosler and Schwartzian transforms, but only if MJD's code he had was a canonical ST. And this example is a canonical ST, which it what I said. The fact that I somewhat summarized for brevity (and because it could be other code for a different probklem and still be a ST) does not invalidate my point and certainly does not make the OP's initial code nor the summary that I made a GR transform. As you said, a GR transform would have omitted the sort block. I reallyt think that the OP question was whether the standard ST consists of the map-sort-map construct.

Replies are listed 'Best First'.
Re^8: Understanding the Schwartzian transform. (cache expensive transform, decorate-sort-undecorate )
by Anonymous Monk on Jul 23, 2013 at 01:11 UTC

    Agreed ... OPs question

    Yes, the original is canonical ST, there is no disputing that (you answered correctly)

    But your shortening (somewhat summarized for brevity ) to  @out = map {} sort {} map {} @in is definitely not the canonical Schwartzian Transform

    because the essence of ST is not the pipeline, pipeline is regular usage of map/grep, its even present in GRT. The essence of ST, the trick of it, the rule of it , [ is the caching ] .

    If you replace the essence with  {BLOCK} its unrecognizable, might as well call it  transform / sort / transform -- nothing Schwartzian about it :) and not very descriptive, unlike decorate-sort-undecorate which describes both ST and GRT