Readable Lisp S-expressions Project

The goal of this “Readable Lisp s-expressions” project is to develop, implement, and gain widespread adoption of more readable format(s) for the S-expressions of Lisp-based languages (such as Common Lisp, Scheme, Emacs Lisp, and Arc). We’ve done this by creating new abbreviations that can be added to existing readers. Curly-infix-expressions add infix expressions (in a Lispy way), neoteric-expressions also add more traditional function call notation, and sweet-expressions also add deducing parentheses from indentation. Here’s an example:

(Awkward) S-expression (Improved) Sweet-expression
(define (factorial n)
  (if (<= n 1)
    1
    (* n (factorial (- n 1)))))
define factorial(n)
  if {n <= 1}
    1
    {n * factorial{n - 1}}
When you program, you spend more time reading code than writing it... a language that makes source code ugly is maddening to an exacting programmer, as clay full of lumps would be to a sculptor. - Paul Graham

More information:

[Problem] - [Solution] - [Tutorial] - [Download] - [Home] - [Join]