This is not another I-hate-all-those-parens whinge whinge whinge posting. I use GNU emacs and SLIME, and even long before that I had made my peace with '(' and ')' when I sat at the computer. Contrary, I have found that when writing out even slightly hairy code on paper or at a whiteboard that I did have to count my parentheses to an annoying degree. Perhaps in that context it might be useful to subscript matching parentheses with some symbol and elide the earlier unmatched closing parentheses like this. (Lacking real subscripts, I'll fake it with TeX style.)
Example:
Example:
(defun factorial (n) (if (< n 2) 1 (* n (factorial (1- n)))))
...becomes...(_0 defun factorial (n) (if (< 2 n) 1 (* n (factorial (1- n)_0
Hairy factorial which sadly looks better in a lisp-1 sans funcalls:(_0 funcall
(_1 lambda (r)
(funcall (lambda (f) (funcall f f))
(lambda (f)
(lambda (n) (funcall (funcall r (funcall f f)) n)_1
(lambda (f)
(lambda (n) (if (< n 2) 1 (* n (funcall f (1- n)_0
Any thoughts?