(Arne Babenhauserheide)
2013-04-28: Worked on the readme. Worked on the readme.
diff --git a/Readme.txt b/Readme.txt --- a/Readme.txt +++ b/Readme.txt @@ -1,5 +1,15 @@ -Wisp: Whitespace-Lisp -===================== +Wisp: Whitespace to Lisp +======================== + + defun a : b c + let + : d e + : f + ' g + h i + . j + +becomes (defun a (b c) (let @@ -9,18 +19,10 @@ Wisp: Whitespace-Lisp (h i) j)) -becomes - defun a (b c) - let - : - d e - : - f - ' g - h i - . j +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][]. +[wisp-website]: http://draketo.de/light/english/wisp-lisp-indentation-preprocessor Usage: ./wisp.py infile.wisp > outfile.lisp @@ -36,3 +38,13 @@ Or with bash, extend this to a multiline (finish the input with CTRL-D) (Note: IFS= ensures that initial blanks are kept) + +Also see `./wisp-multiline.sh --help` + +License: GPLv3 or later. + +[^h]: Wisp is homoiconic because everything you write gets turned into lisp which is homoiconic. + +[^g]: Wisp is generic, because it works for any language which uses brackets to start a function call - which is true for most lisps. You simply get rid of the speerwall of parentheses without losing their power. + +[^b]: Wisp is backwards compatible, because you can simply use arbitrary lisp code in wisp: Indentation processing skipps expressions in brackets.