#lang racket (require mzlib/thread) (require "db.rkt") (define-namespace-anchor a) (define ns (namespace-anchor->namespace a)) (define (my-eval expr) (eval expr ns)) (define (run-tcp-repl namespace port) (thread (lambda () (run-server port net-repl-connection #f (lambda (port-k max-allow-wait reuse?) (tcp-listen port-k max-allow-wait reuse? "127.0.0.1")) )))) (define (net-repl-connection i o) (let/ec exit (parameterize ([current-input-port i] [current-output-port o] [current-error-port o] [current-namespace ns]) (read-eval-print-loop)) (fprintf o "\nBye...\n") (close-output-port o))) (define-namespace-anchor ns-anchor) (thread-wait (run-tcp-repl (namespace-anchor->namespace ns-anchor) 8890))