USING: accessors arrays continuations debugger eval fry io io.encodings.utf8 io.servers.connection kernel namespaces threads ; IN: eval-server : execute-string ( string -- ) [ 1array [ parse-string call ] with-datastack drop ] [ nip print-error ] recover ; : ( -- threaded-server ) utf8 "eval-server" >>name 9999 >>insecure [ [ execute-string flush ] each-line ] >>handler ; SYMBOL: eval-server : start-eval-server ( -- ) [ eval-server set-global ] [ '[ _ start-server ] in-thread ] bi ; : stop-eval-server ( -- ) eval-server get-global stop-server ; MAIN: start-eval-server