(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!',