(Arne Babenhauserheide)
2014-12-09: merge merge
diff --git a/examples/ensemble-estimation.w b/examples/ensemble-estimation.w
--- a/examples/ensemble-estimation.w
+++ b/examples/ensemble-estimation.w
@@ -77,10 +77,11 @@ define* : write-multiple . x
;; Start with the simple case: One variable and independent observations (R diagonal)
;; First define a truth
-define x^true : append-ec (: i 10) '(0.5 0.6 7 0.1 0.7 0.9 0.8 0.4)
+define x^seed '(0.5 0.6 7 0.1 0.7 0.9 0.8 0.4)
+define x^true : append-ec (: i (length x^seed)) : list-ec (: j x^seed) : * j : list-ref x^seed i
;; And add an initial guess of the parameters
-define x^b : append-ec (: i 10) '(1 1 1 1 1 1 1 1) ; initial guess
-define P : make-covariance-matrix-from-standard-deviations : append-ec (: i 10) '(0.5 0.1 0.3 0.1 0.2 0.2 0.2 0.2)
+define x^b : append-ec (: i (length x^seed)) '(1 1 1 1 1 1 1 1) ; initial guess
+define P : make-covariance-matrix-from-standard-deviations : append-ec (: i (length x^seed)) '(0.5 0.1 0.3 0.1 0.2 0.2 0.2 0.2)
;; Then generate observations
define y⁰-num 200
diff --git a/wisp-reader.w b/wisp-reader.w
--- a/wisp-reader.w
+++ b/wisp-reader.w
@@ -51,16 +51,17 @@ define wisp-pending-port : make-object-p
; try-pending
-define wisp-pending-sexps '()
+define wisp-pending-sexps : list
define : read-one-wisp-sexp port env
define : wisp-scheme-read-chunk-env
- if : eof-object? : peek-char port
+ cond
+ : eof-object? : peek-char port
read-char port ; return eof: we’re done
- begin
- set! wisp-pending-sexps
- append wisp-pending-sexps : wisp-scheme-read-chunk port
- try-pending
+ else
+ set! wisp-pending-sexps
+ append wisp-pending-sexps : wisp-scheme-read-chunk port
+ try-pending
define : try-pending
if : null? wisp-pending-sexps
wisp-scheme-read-chunk-env
@@ -76,7 +77,7 @@ define-language wisp
. #:compilers `((scheme . ,compile-scheme))
. #:decompilers `((scheme . ,decompile-scheme))
. #:evaluator : lambda (x module) : primitive-eval x
- . #:printer write
+ . #:printer write ; TODO: backtransform to wisp? Use source-properties?
. #:make-default-environment
lambda :
;; Ideally we'd duplicate the whole module hierarchy so that `set!',