First, note that your foldl is just reduce . Our language is not much worse than Haskell!
Secondly, not all forms are function calls, but ->> can rewrite all forms. For example, you can use ->> to implement something like Haskell where clauses:
(defn mapcat' [f xs] (->> (apply concat mapped) (let [mapped (map f xs)])))
Not exactly the style that is popular with Clojure programmers, but it serves as an example of something that ->> can do it partial can not.
source share