(defun compose (f g)
(lambda (x)
(funcall f (funcall g x))))
(defun flip (f)
(lambda (x y)
(funcall f y x)))
(defun reduced (f)
(lambda (x)
(reduce f x :from-end t)))
(defun curry (f x)
(lambda (y)
(funcall f x y)))
(defun mapped (f)
(lambda (xs)
(map 'list f xs)))
(setf (symbol-function 'sum-of-squares) (compose (reduced #'+) (mapped (curry (flip #'expt) 2))))
Point-free style in Lisp works but the syntax is disgusting and it has terrible performance. It wouldn't be any better in Scheme. Lisp fails because it ultimately gives too much freedom to the programmer: the only way to fix this is to introduce some reader macros and restrict the function manipulators i.e. embedding J inside Lisp and give up a lot of orthogonality.