(Arne Babenhauserheide)
2014-02-24: merge merge
diff --git a/.hgsigs b/.hgsigs --- a/.hgsigs +++ b/.hgsigs @@ -6,3 +6,4 @@ 9595c226ac6dfacbba7143aeaadadc2b7b2e9648 ef1e317ebf5a6c1d0c77d402fc2d987417b38955 0 iJwEAAEIAAYFAlLMi1oACgkQ3M8NswvBBUhBRAP/Vq0DIQEz8QPufE6Qhrr3AMsBv9UZlBIQbHLWXOPy+pr2cbUETJ55CfZXxGAtfCMSIZ7BFVn7HT1mlgcbfUKZkMRcP8yBatDeBIzVXOafJOLgCaizsQCDSa6a5VwSMGBLqdD2Cz4w2UeRH97vE/5Q7+JtmqkAn6nrPzqwyVy4QPs= 1d95b99da08b25917847702a382c691b5bd1de69 0 iJwEAAEIAAYFAlLfF2IACgkQ3M8NswvBBUhaPgP7BasnAMXUDcRJRSPdfH0vE2/+lYYpFR2w8s5k/RK134EG5+9nnehOohhB5mVLCxhXP7miGhVNfDZmfR3csOH2fjBmAhpjDcRmn1aqgOPQ+RoWqIV4ZVpaeMPE49OOefpxAvHaWlzajo/fd99Fwckg+VhqXBciWlnHyTpCYSlk8Ac= a41ca7bf033667a8dfeacd48be5caf315fabb020 0 iJwEAAEIAAYFAlL2Z+gACgkQ3M8NswvBBUisDgQAiHKSfcOdlWoin7wpHDVlyKhAxAIg5D9xwAGDj2CIVEu4cpw5HdZ8t8fjyrP6lMsAkHnCVNUlRjprdo7PR4al1uxNmz4H0mQMlDLxG4Sfj2x01w3DDgiNOfV/65lwNY9BNxULCjwBlHN5qzv9toLwZ29SLEZXvshuZBxe8qSfBy8= +a2ae0f4d637ff5d615acc91d82d21259b0ec3b94 0 iJwEAAEIAAYFAlMJPXwACgkQ3M8NswvBBUjSEAP/bvPcy52p1mq4LuEkYxvj3UYnknT6g3yDCCXNEa2vuy6rkekZvbl6h9U2/FM37JEw2sgeqcp2P7epJzlxSpd9jIH+5/xT7R1FViOibLBumZ/5cQoMsthQyyrB2NhQbxtUf6fH5TnqZU/z9jdAZqBLABNaNeufetjGXbYmn4W7zk4= diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -14,3 +14,4 @@ fb1b0fb41bc768485f582f3f5af16478aa6212a1 efd0ee6e65c3948e0c643526063029b691424de8 v0.5.8 bb1c4165b8a6d12929625e6518a5b1c727c75942 v0.5.9 0e1335f015a83c6c6616019189c665b3849269ce v0.5.10 +07ec05365e84d29d24ce5f476654f9542931ed2d v0.5.11 diff --git a/README b/README --- a/README +++ b/README @@ -14,6 +14,8 @@ Wisp: Whitespace to Lisp Wisp turns indentation based syntax into Lisp. The conversion is homoiconic[^h], generic[^g], and backwards-compatible[^b]. It is inspired by [project readable][], but tries to keep itself simple (and stupid: just a preprocessor). More information on the [wisp-website][] and code in the [wisp-repository][]. +For a short presentation, see [Why Wisp?](why-wisp.html) + [wisp-website]: http://draketo.de/light/english/wisp-lisp-indentation-preprocessor "wisp: Whitespace to Lisp: An indentation to parentheses preprocessor to get more readable Lisp" [wisp-repository]: http://draketo.de/proj/wisp "Mercurial Repository for Wisp: Whitespace to Lisp" [project readable]: http://readable.sourceforge.net/ "Readable Lisp S-expressions Project" @@ -49,6 +51,8 @@ Wisp treats braces "{}" the same as pare . v rek {i + 1} v {u + v} +Note that this is full-fledged scheme, with all its capabilities like hygienic macros (programmable syntax!) and full tail recursion. + If you want to use a curly-infix expression starting a line, you have to prefix it with a dot: . {1 + 1} diff --git a/wisp-mode.el b/wisp-mode.el --- a/wisp-mode.el +++ b/wisp-mode.el @@ -82,7 +82,8 @@ ("#[tf]" . font-lock-constant-face) ; #t and #f ("#\\\\[^ ]+" . font-lock-constant-face) ; character literals (";" . 'font-lock-comment-delimiter-face) - ("\\_<[+-]?[0-9]+\\_>\\|\\_[+-]<[0-9]*\\.[0-9]*\\(e[+-]?[0-9]+\\)?\\_>" . font-lock-constant-face) ; numbers + ; TODO: Doublecheck this regexp. I do not understand it completely anymore. + ("\\_<[+-]?[0-9]+\\_>\\|\\_<[+-][0-9]*\\.[0-9]*\\(e[+-]?[0-9]+\\)?\\_>" . font-lock-constant-face) ; numbers ("'()" . font-lock-constant-face) ; empty list ("[ ]'[^ ]+" . font-lock-constant-face) ; 'name (" : \\| \\. " . font-lock-keyword-face) ; leading : or .