Hacker News new | ask | show | jobs
by kazinator 427 days ago

  (log (sqrt (sin (* 2 pi x)))
2 comments

    log (sqrt (sin (2 * pi * x)))
Seems as much right to left to me as the original one. And just 2 deletions (you missed closing the opening parenthesis) and 2 insertions.
Right.

The ergonomic problem people face is that the chaining of functions appears in other contexts, like basic OOP.

Some kids trained on banana.monkey().vine().jungle() go into a tizzy when they see (jungle (vine (monkey banana)))).

Not sure of other lisps, but clojure has piping. I was under the impression in general that composing functions is pretty standard in FP. For example the above can be written:

    (-> (* 2 PI x) sin sqrt log)
Also while `comp` in clojure is right to left, it is easy to define one left to right. And if anything, it even uses less parentheses than the OOP example, O(1) vs O(n).
(2 * pi * x) sin sqrt log