Я не понимаю разницу между ->
и ->>
в Clojure: из ссылка API, кажется как и последний, было бы правильным способом применить несколько функций последовательно, т.е. (- → xhgf) приведет к f (g (h (x))).
Это связано с тем, как Lisp -образный язык дифференцирует f (x, y) и (f (x)) (y), тогда как Haskell не исправляет? (Использование математической нотации, запятые, предназначенные для обозначения n-арных функций, а не чередующиеся).
Спасибо заранее!
Изменить
Я ошибаюсь, не работаю, кроме простых функций, таких как (def inС# (+ 1%)), где они оба работают.
Вот пример функции, которая не работает с ->
или ->>
,
(defn mkinc [amnt] (fn [x] (+ x amnt)))
(-> 3 (mkinc 2))
; ERROR -- Wrong number of args (2) passed to: sandbox58780$fn--58797$mkinc
((mkinc 2) 3)
; 5