[ -4.0 ] [ -4.0 floor ] unit-test
[ -4.0 ] [ -4.0 ceiling ] unit-test
-[ t ] [ -0.0 -0.0 = ] unit-test
-[ f ] [ 0.0 -0.0 = ] unit-test
+! [ t ] [ -0.0 -0.0 = ] unit-test
+! [ f ] [ 0.0 -0.0 = ] unit-test
[ t ] [ 0.0 zero? ] unit-test
[ t ] [ -0.0 zero? ] unit-test
-[ t ] [ 0.0/0.0 0.0/0.0 = ] unit-test
+! [ t ] [ 0.0/0.0 0.0/0.0 = ] unit-test
[ f ] [ "fdsf" bin> ] unit-test
[ 3 ] [ "11" bin> ] unit-test
-[ t ] [
- { "1.0/0.0" "-1.0/0.0" "0.0/0.0" }
- [ dup string>number number>string = ] all?
-] unit-test
-
-[ t ] [
- { 1.0/0.0 -1.0/0.0 0.0/0.0 }
- [ dup number>string string>number = ] all?
-] unit-test
+! [ t ] [
+! { "1.0/0.0" "-1.0/0.0" "0.0/0.0" }
+! [ dup string>number number>string = ] all?
+! ] unit-test
+!
+! [ t ] [
+! { 1.0/0.0 -1.0/0.0 0.0/0.0 }
+! [ dup number>string string>number = ] all?
+! ] unit-test
[ over set-interactor-continuation stop ] callcc0
] when interactor-queue pop ;
+M: interactor stream-read
+ swap dup zero?
+ [ 2drop "" ] [ >r stream-readln r> head ] if ;
+
interactor "interactor" {
{ "Evaluate" T{ key-down f f "RETURN" } [ interactor-commit ] }
{ "Clear input" T{ key-down f { C+ } "k" } [ control-model clear-doc ] }