SYMBOL: fuel-status-stack
V{ } clone fuel-status-stack set-global
+SYMBOL: fuel-eval-error
+f fuel-eval-error set-global
+
SYMBOL: fuel-eval-result
f fuel-eval-result set-global
bi
] unless ;
-: fuel-forget-error ( -- ) f error set-global ;
+: fuel-forget-error ( -- ) f fuel-eval-error set-global ;
: fuel-forget-result ( -- ) f fuel-eval-result set-global ;
: fuel-forget-output ( -- ) f fuel-eval-output set-global ;
: fuel-forget-status ( -- )
fuel-forget-error fuel-forget-result fuel-forget-output ;
: fuel-send-retort ( -- )
- error get fuel-eval-result get-global fuel-eval-output get-global
- 3array fuel-pprint flush nl "<~FUEL~>" write nl flush ;
+ fuel-eval-error get-global
+ fuel-eval-result get-global
+ fuel-eval-output get-global 3array
+ fuel-pprint flush nl "<~FUEL~>" write nl flush ;
: (fuel-begin-eval) ( -- )
fuel-push-status fuel-forget-status ;
: (fuel-eval) ( lines -- )
[ [ parse-lines ] with-compilation-unit call( -- ) ] curry
- [ print-error ] recover ;
+ [ [ fuel-eval-error set-global ] [ print-error ] bi ] recover ;
: (fuel-eval-usings) ( usings -- )
[ [ use-vocab ] curry [ drop ] recover ] each