Re:LispyScript: A JavaScript With Lispy Syntax And Macros
by lowboy on Friday September 21, 2012 @11:47PM
(#4557065)
I don't see how the lack of (IMO) optional parens would prevent tools from working - they'd just have to be adjusted. Assuming this example from the ParEdit page is well-formed lisp:
(defun paredit-barf-all-the-way-forward ()
(interactive)
(paredit-split-sexp)
(paredit-forward-down)
(paredit-splice-sexp)
(if (eolp) (delete-horizontal-space)))
It doesn't seem that hard to rework a tool to use sig whitespace as indicating parens to have it operate the same over this code: defun paredit-barf-all-the-way-forward ()
interactive
paredit-split-sexp
paredit-forward-down
paredit-splice-sexp
if (eolp) (delete-horizontal-space)
Getting rid of parentheses means you cannot use structured editing tools like Paredit anymore (http://emacswiki.org/emacs/ParEdit). You can't appreciate how slow and clumsy it is to edit code in other languages until you've been using Paredit for a while.
One sometimes valid argument against prefix notation is for expressions primarily involving binary math operations (+ * - / etc.). In some cases it's true, in other cases the Lisp code looks gnarly because people try to write the formula out without introducing intermediate variables. There's macros out there that will parse infix arithmetic (http://cliki.net/Infix); I've never used them so I can't comment on whether they improve code readability or not.