wisp
 
(Arne Babenhauserheide)
2014-11-01: use cond instead of case to avoid checking against each char.

use cond instead of case to avoid checking against each char.

diff --git a/wisp-scheme.w b/wisp-scheme.w
--- a/wisp-scheme.w
+++ b/wisp-scheme.w
@@ -77,27 +77,29 @@ define repr-unsyntaxsplicing ; #,@
 ; additions 
 
 define : match-charlist-to-repr charlist
-         case : reverse charlist ; it is created via cons, so the last item is first.
-           : list #\.
-             . repr-dot
-           : list #\'
-             . repr-quote
-           : list #\,
-             . repr-unquote
-           : list #\`
-             . repr-quasiquote
-           : list #\, #\@ 
-             . repr-unquotesplicing
-           : list #\# #\' 
-             . repr-syntax
-           : list #\# #\, 
-             . repr-unsyntax
-           : list #\# #\` 
-             . repr-quasisyntax
-           : list #\# #\, #\@ 
-             . repr-unsyntaxsplicing
-           else
-             . #f
+         let 
+           : chlist : reverse charlist
+           cond
+             : equal? chlist : list #\.
+               . repr-dot
+             : equal? chlist : list #\'
+               . repr-quote
+             : equal? chlist : list #\,
+               . repr-unquote
+             : equal? chlist : list #\`
+               . repr-quasiquote
+             : equal? chlist : list #\, #\@ 
+               . repr-unquotesplicing
+             : equal? chlist : list #\# #\' 
+               . repr-syntax
+             : equal? chlist : list #\# #\, 
+               . repr-unsyntax
+             : equal? chlist : list #\# #\` 
+               . repr-quasisyntax
+             : equal? chlist : list #\# #\, #\@ 
+               . repr-unsyntaxsplicing
+             else
+               . #f
 
 define : wisp-read port
          let longpeek