Некоторое время назад, изучая Haskell, я влюбился в бесточечную нотацию и в особенно удобное приложение с частичными функциями — знаете, просто укажите аргументы. В Clojure у меня все время partial
. Я думаю, что было бы неплохо иметь специальный синтаксис для частичного в читателе.
Посмотрите на пример кода:
; Notation with points:
(map (+ 10 (* % 2)) [1 2 3])
; With partial:
(map (comp (partial + 10) (partial * 2)) [1 2 3])
; Let #[] syntax means partial application in reader:
(map (comp #[+ 10] #[* 2]) [1 2 3])
Это так приятно! Есть ли что-то подобное? Есть ли возможность определить пользовательский макрос для чтения?