(Arne Babenhauserheide)
2014-11-14: with the wisp-reader fix, wisp-scheme.w works completely again. with the wisp-reader fix, wisp-scheme.w works completely again.
diff --git a/.bugs/bugs b/.bugs/bugs
--- a/.bugs/bugs
+++ b/.bugs/bugs
@@ -7,6 +7,7 @@ wisp-mode: export wisp to html fails in
an empty line with : should start with double parens | owner:Arne Babenhauserheide <bab@draketo.de>, open:False, id:2e188ddf44d36e4605030d3c58607ebfa97d189e, time:1390328674.43
wisp-in-wisp: remove the leading . for continuation lines after inferring the brackets. | owner:Arne Babenhauserheide <bab@draketo.de>, open:False, id:2e42e5b64622f0cc383eb8acc3d510912e925bf0, time:1377476687.79
'() gives REPR-QUOTE-... | owner:Arne Babenhauserheide <bab@draketo.de>, open:False, id:30c42de75c137f483245898e2a62af1e65cf19a6, time:1415060388.34
+multiple escaped initial underscores must be unescaped. | owner:, open:True, id:314e45488da4c7c8298c4c64ece03359918d057b, time:1415959749.14
wisp: handle general paren prefixes like quote, quasiquote, etc. | owner:, open:False, id:323ff94b5be635742619467e1cb44f4c0d96f63f, time:1379047798.47
throw an exception when reducing indentation to an unknown indentation level. | owner:Arne Babenhauserheide <bab@draketo.de>, open:False, id:424186bd85f186b7279c5c59e2bd42f847284719, time:1376003568.91
wisp-in-wisp: only parses the first 272 lines, for some reason. | owner:, open:False, id:4cb6c556d7136609e2da9ab3fc045a39847f1ef3, time:1377014682.98
@@ -32,3 +33,4 @@ comments containing a closing parenthesi
breaks on empty files | owner:Arne Babenhauserheide <bab@draketo.de>, open:False, id:e40fa7a93eb2c497dca1af7eed22ad5ed5cfbe7f, time:1390325470.91
wisp-scheme: breaks on lines with only underscores. These should be treated as empty lines. | owner:, open:False, id:e464b5ce49deb14a80f67d50c6d70043ca9bde25, time:1415124488.16
quote as only char in a line gets parenthized instead of becoming a paren-prefix. | owner:Arne Babenhauserheide <bab@draketo.de>, open:False, id:eb7468387e90bb5d13f5a5d81c6f4a704f2ca0fb, time:1390326369.6
+in the REPL output can be delayed by one line: Appears only when submitting the next command. | owner:, open:True, id:f1e42bbd4c17a2dec886c26d9c14e770bcff66d2, time:1415972414.48
diff --git a/wisp-scheme.w b/wisp-scheme.w
--- a/wisp-scheme.w
+++ b/wisp-scheme.w
@@ -591,15 +591,15 @@ Match is awesome!"
syntax-error tocheck "list with the period as only member"
; list with remaining dot.
: a ...
- if : and (member repr-dot a) : not : equal? (quote quote) (car a)
+ if : and (member repr-dot a)
syntax-error tocheck "leftover period in list"
map check a
- ; ; simple pair - this and the next do not work when parsed from wisp-scheme itself. Why?
- ; : 'REPR-DOT-e749c73d-c826-47e2-a798-c16c13cb89dd . c
- ; syntax-error tocheck "dot as first element in already improper pair"
- ; ; simple pair, other way round
- ; : a . 'REPR-DOT-e749c73d-c826-47e2-a798-c16c13cb89dd
- ; syntax-error tocheck "dot as last element in already improper pair"
+ ; simple pair - this and the next do not work when parsed from wisp-scheme itself. Why?
+ : 'REPR-DOT-e749c73d-c826-47e2-a798-c16c13cb89dd . c
+ syntax-error tocheck "dot as first element in already improper pair"
+ ; simple pair, other way round
+ : a . 'REPR-DOT-e749c73d-c826-47e2-a798-c16c13cb89dd
+ syntax-error tocheck "dot as last element in already improper pair"
; more complex pairs
: ? pair? a
let
@@ -736,3 +736,4 @@ define : wisp-scheme-read-string-chunk s
; map primitive-eval : wisp-scheme-read-file "wisp-guile.w" ; actually runs wisp-guile.w with the arguments supplied to this script.
; uncomment the previous line, then run the next line in the shell. If 1 and 2 are equal, this parser works!
; guile wisp.scm wisp-scheme.w > wisp-scheme.scm; guile wisp-scheme.scm wisp-guile.w > 1; guile wisp.scm wisp-guile.w > 2; diff 1 2
+