wisp
 
(Arne Babenhauserheide)
2017-11-11: also implement literal array syntax in the converter (guile-wisp.w).

also implement literal array syntax in the converter (guile-wisp.w).

diff --git a/wisp-guile.w b/wisp-guile.w
--- a/wisp-guile.w
+++ b/wisp-guile.w
@@ -478,7 +478,7 @@ Also unescape \\: to :.
                                     string-append (string-drop-right unprocessed 2) 
                                     string-append "(" processed
                                 ; turn " ' (" into " '(", do not modify unprocessed, except to shorten it!
-                                ; same for ` , #' #` #, #,@,
+                                ; same for ` , #' #` #, #,@, #
                           : and (string-prefix? "(" processed) : equal? " ' " lastupto3
                                     ; leave out the second space
                                     linebracketizer instring inbrackets bracketstoadd 
@@ -494,6 +494,12 @@ Also unescape \\: to :.
                                         linebracketizer instring inbrackets bracketstoadd 
                                             . (string-append (string-drop-right unprocessed 2) "`")
                                             . processed
+                          ;; literal array #(...)
+                          : and (string-prefix? "(" processed) : equal? " # " lastupto3
+                                        ; leave out the second space
+                                        linebracketizer instring inbrackets bracketstoadd 
+                                            . (string-append (string-drop-right unprocessed 2) "#")
+                                            . processed
                           : and (string-prefix? "(" processed) : equal? " #` " lastupto4
                                         ; leave out the second space
                                         linebracketizer instring inbrackets bracketstoadd 
@@ -515,7 +521,7 @@ Also unescape \\: to :.
                                             . (string-append (string-drop-right unprocessed 5) "#,@,")
                                             . processed
                           else ; just go on
-                                        linebracketizer instring inbrackets bracketstoadd 
+                                        linebracketizer instring inbrackets bracketstoadd
                                             . (string-drop-right unprocessed 1)
                                             . (string-append lastletter processed)
                         
@@ -538,7 +544,7 @@ The line *must* have a whitespace after 
              line-indent line
              string-append "(" : string-drop (line-content line) 1 ; keep whitespace
              line-comment line
-         let loop : : paren-prefixes : list "' " ", " "` " "#` " "#' " "#, " "#,@, "
+         let loop : : paren-prefixes : list "' " ", " "` " "#` " "#' " "#, " "#,@, " "# "
              ; first check whether we are done checking
              if : null-list? paren-prefixes
                  ; construct the line structure: '(indentation-depth content comment)