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


in reply to coding of algorithms is inherently procedural

No. I wouldn't do a good enough job of explaining it, and don't have enough time to try, but the short story is: there are many means of expressing an algorithm that are equivalent in their expressiveness. That's the meat of Church's Thesis (one of the most important things to understand in computer science).

And that's not just pedantry, either. There are definitely fields of algorithms wherein the most natural way of expressing the algorithm is not procedurally. Take proofs by induction, for example: those are much more naturally represented functionally.

I think that maybe what's throwing you off is the definition of algorithm you've got there. That's simply not a good definition of the term, as it says "step by step". A better way of describing an algorithm would center more on the fact that it is a complete and unambiguous description of a way to solve a problem, not that it is "step by step". "Step by step" is sort of begging the question, if you will, of how that algorithm is represented (as "steps", in this case)... and that's really imaterial to what an algorithm is.

------------ :Wq Not an editor command: Wq