wisp
 
(Arne Babenhauserheide)
2014-01-11: add syntax justification.

add syntax justification.

diff --git a/docs/why-wisp.org b/docs/why-wisp.org
--- a/docs/why-wisp.org
+++ b/docs/why-wisp.org
@@ -67,11 +67,11 @@
 1. Lisp uses the *most common* non-letter characters.
 2. The *first and last characters* are important for text-recognition.
 
-Let’s call these elegance 1 and elegance 2.
+Let’s call these elegance 1 and elegance 2
 
-Any fix for elegance 2 should preserve elegance 1.
+Any fix for elegance 2 should preserve elegance 1
 
-Elegance 0: generality and homoiconicity: *code is data*.
+Elegance 0: generality and homoiconicity: *code is data*
 
 * On Wisp
 #+html: <br />
@@ -97,7 +97,7 @@ becomes
      2 1 0)
 #+END_SRC
 
-** SRRFI-49 (Indentation-sensitive syntax)
+** SRFI-49 (Indentation-sensitive syntax)
 
 #+BEGIN_SRC scheme
   + 5
@@ -115,7 +115,9 @@ becomes
     . 2 1 0
 #+END_SRC
 
-/Complete representation of arbitrary structures/
+- Complete representation of arbitrary structures
+- Generalize =(. x) ⇒ x= to =(. x ...) ⇒ x ...=
+- Use =. . x= to get a real =. x= after processing
 
 * Why no SRFI-110 (Sweet-expressions (t-expressions))
 
@@ -137,3 +139,89 @@ myfunction
 /This breaks elegance 1/
 
 /Also the problems of SRFI-49 are preserved/
+
+* Wisp syntax 1/4: Indentation
+
+#+BEGIN_SRC scheme
+display 
+  + 3 4 5
+newline
+#+END_SRC
+
+becomes
+
+#+BEGIN_SRC scheme
+(display 
+  (+ 3 4 5))
+(newline)
+#+END_SRC
+
+* Wisp syntax 2/4: Continue Argument list
+
+#+BEGIN_SRC scheme
++ 5
+  * 4 3
+  . 2 1
+#+END_SRC
+
+becomes
+
+#+BEGIN_SRC scheme
+(+ 5
+  (* 4 3)
+  2 1
+#+END_SRC
+
+* Wisp syntax 3/4: Double Parens
+
+#+BEGIN_SRC scheme
+let 
+  : x 1
+    y 2
+    z 3
+  body
+#+END_SRC
+
+becomes
+
+#+BEGIN_SRC scheme
+(let
+  ((x 1)
+   (y 2)
+   (z 3))
+  body)
+#+END_SRC
+
+* Wisp syntax 4/4: Resilient Indentation
+
+
+#+BEGIN_SRC scheme
+let 
+_ : x 1
+__  y 2
+__  z 3
+_ body
+#+END_SRC
+
+becomes
+
+#+BEGIN_SRC scheme
+(let
+  ((x 1)
+   (y 2)
+   (z 3))
+  body)
+#+END_SRC
+
+
+* Wisp syntax justification
+
+#+html: <small>
+http://draketo.de/light/english/wisp-lisp-indentation-preprocessor#sec-4
+#+html: </small>
+
+/I do not like adding any unnecessary syntax element to lisp. So I want to show explicitely why the syntax elements are required to meet the goal of wisp: indentation-based lisp with a simple preprocessor./
+
+- =.= Continue argument list
+- =:= Double parens
+- =_= Survive HTML