wisp
 
(Arne Babenhauserheide)
2017-08-21: merge

merge

diff --git a/.hgsigs b/.hgsigs
--- a/.hgsigs
+++ b/.hgsigs
@@ -27,3 +27,4 @@ 4980dd6c871fcd40c975ea9fa4043011d701b747
 ec20db1b7798914dafd621365aaeab9960781a30 0 iQEcBAABCAAGBQJWA/54AAoJEFyD82SnDaCeQPEH/iO0s0bPsqz+qXWs0uMg/9w3KyM50PcbHOqoF5F4iqx+ve5zuz1OPUuLrwoEHmwmyuht2ARX2xWTXATRC42B3UPLvnRJd4+8yQ8Rqhsi4YFnkvhxPTVkEn/dqDgRWqdN1tx9XY19BWOlYU2Fz0U2GrvSfhOhQUI7qmbu2rvMZyMNyWnLhFWnLE9GUyM7BFt4cJAacldJT/diTaKKjBA3cba1IIHRReWxDj+4HXdClKU7iug2RVkwXPxO1iiN2ntBZ9P1VoSBaqBHwHPDitlu/YTK6ObLmYkmcECUML+T3xnpfKLawIDhoabcX6Q2Hqxo5KqjWbBeQTtiufpYgz3eAek=
 c00f1117a385bd4f550f0bc95d4772e787389735 0 iQIcBAABCAAGBQJXhWU9AAoJEBPvjUUkA8PrL4cP/3DeUMIXd3dphowzvQsGR9d+KibjLfOyUmjI8wNfRk6eIDMHR/GkvN6SoUEvUFP/0H7K+ikyLILaoDWRbsTbaQ+mD+qcmG7Gw7+BO8B1h9AC+NQjUgrHC17IWsV8FtJxd4R39o6h2Xcq2f/vE3E9gw+yxLMw2Ds7H7lL+vlmQ2Crb8vmfg0dXEO6/1SHZqXbQoJ4WrwcabCyPqTn6cPxy4MLwSD/3N3VUHkvWLSeChaHECxdhG69S5OrTQGQNSXbl7dp4JZPyauHlf3WcsYe88FDrt2QC5pzr58ov+u+amNTxBGAk6DqYwI0rIpPPZCFRucwiuWGQRIt17iK516jQLeOYciUBqQAqqLYuvzx+bXOClNbMRfwPV8OtXMUUvCs+88DnKqBMuIrBBdL/rqvjoQbXhIP/wGBYX3QNsX7ZPrBh85ju5rnvXvVzmnV6Znmbuxfjtn+eHVt+wTqpt/WeU1eYwg6kTccxXQKgktPNZHvD3BMDzIPhJIIPetvW8uxvxfMbDerLxMFP6EFg7rsMblpT2ZDW4GFfz3Zmqy+wYbetYDUotxsZZoXiyB4S0svTXFsdtf5W2NPs0Y0WXmeyX5XB7LvvR8bvdBeAfw8ykLBsd5cJmZZfwHAsoURdDd+n7VJ9zF/xuSAU536HMJcTbOy7iqoNLTicj2JMBPxkM0r
 2c750be05d065268b92a1b7bab1a1dd99af30002 0 iJwEAAEIAAYFAleFZUkACgkQ3M8NswvBBUjw4QP9FN5UljfcLwg8bYfpHBsF5e80b1QEahJqtfnNpI3CgF134j9in9j5JZKTCNzd5EfT19Epgqoq5gZk+E0Br7x2EkbtUoArIS13sXdUPZhHpzTDZ8fEaw2pZyFZ24B4WVZf7Uk/Lz8PPji0YxqYZxfTFSRDSZRDKhu0offMLg/3LXY=
+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
diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -34,3 +34,4 @@ 625eec6805f907b9d6338d09c8199e9ed3e79ab1
 e6977cfff0c8e0d2b1b33f724e0e4607ea15f703 v0.8.7
 cb0b13b613cbd3c39f5384ea85a570fee2bb3569 v0.9.0
 2614197d8be8d9c7cdc00b4ce225f74524b66716 v0.9.1
+40595e956e7d267625accf9d5584bae88466b41a v0.9.2
diff --git a/NEWS b/NEWS
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,15 @@
 wisp ():
-- 
+
+wisp 0.9.2:
+- README: note the releases and split usage into setup+usage
+- also add examples argparse, y-combinator, unbiased-std, ild, duel,
+  commandline-handling, cartesian-sets, advent-2016-day-7
+- added datatype benchmarks in examples/benchmark.w
+- ensemble estimation: setup deviations from the covariance matrix
+  by cholesky decomposition
+- enter three witches: i love you (dynamic dialog generation)
+- enter three witches: multiple scenes, whitespace in names, colors
+  and .. as escape for .
 
 wisp 0.9.1:
 - add enter three witches: minimum overhead for a theater script
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -13,7 +13,9 @@ Wisp: Whitespace to Lisp
                 rek {i + 1} v {u + v}                 (rek (+ i 1) v (+ u v)))))
 
 
-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 add parens for indentation). More information is available on the [wisp-website][], and code in the [wisp-repository][].
+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 add parens for indentation).
+
+More information is available on the **[wisp-website][]**, and code in the [wisp-repository][].
 
 For a short presentation, see [Why Wisp?](why-wisp.html)
 
@@ -32,13 +34,31 @@ Requirements
 [GNU Guile 2.x]: http://gnu.org/s/guile "GNU Guile: The official extension language for the GNU operating system."
 [Python 3.x]: http://python.org "Python Programming Language"
 
+Setup
+-----
+
+From the repository:
+
+* Get wisp: `hg clone http://draketo.de/proj/wisp` (needs [Mercurial](http://mercurial-scm.org))
+* Bootstrap: `cd wisp && autoreconf -i && ./configure && make`
+
+From a release:
+
+* Get a release from [bitbucket.org/ArneBab/wisp/downloads/](https://bitbucket.org/ArneBab/wisp/downloads/)
+* Unpack and build: `tar xf [release].tar.gz; cd [release]; ./configure; make`
+
+Install systemwide with `./configure --datarootdir=/usr/share && sudo make install`, then you can run `guile --language=wisp` anywhere. Install in your home folder with `./configure --prefix=$HOME/.local; make install`. Use `guile -c '(import (language wisp spec))'` to get rid of auto-compile errors.
+
+Run tests with `make check`. Distribute your own version with `make distcheck`.
+
+If your Guile is installed in your home, you might need to use `./configure PKG_CONFIG_PATH=$HOME/.local/lib/pkgconfig/` and `make distcheck PKG_CONFIG_PATH=$HOME/.local/lib/pkgconfig/`
+
 Usage
 -----
 
-* Get wisp: `hg clone http://draketo.de/proj/wisp`
-* Bootstrap: `cd wisp && autoreconf -i && ./configure && make`
 * Preprocess files: `guile ./wisp.scm infile.wisp > outfile.scm`
-* Wisp at the REPL: `guile -L . --language=wisp # run this in the wisp-folder`
+* Wisp at the REPL: `guile -L . --language=wisp # in the wisp-folder`
+* The files in examples/ show how to make executable wisp programs.
 
 Wisp and curly infix (SRFI-105)
 -------------------------------
diff --git a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,7 @@
 dnl run `autoreconf -i` to generate a configure script. 
 dnl Then run ./configure to generate a Makefile.
 dnl Finally run make to generate the project.
-AC_INIT([wisp], [0.9.1],
+AC_INIT([wisp], [0.9.2],
         [arne_bab@web.de])
 # Check for programs I need for my build
 AC_CANONICAL_TARGET
diff --git a/wisp-reader.w b/wisp-reader.w
--- a/wisp-reader.w
+++ b/wisp-reader.w
@@ -1,7 +1,4 @@
-#!/home/arne/wisp/wisp-multiline.sh 
-; !#
-;;
-;; Implement wisp in guile
+;; Language interface for Wisp in Guile
 ;;
 ;; -Author: Arne Babenhauserheide