Hi.
I am using Chicken Scheme and have a lot of frustration with REPL.
The problem is if you start some thread, something like:
(import (srfi-18))
(thread-start! (lambda () (let loop () (thread-sleep! 1) (display 'hi) (newline) (flush-output) (loop))))
It will print hi every second:
#<thread: thread276>
#;1> hi
hi
hi
hi
...
But then if you try to evaluate some variable, for example using geiser-eval-last-sexp, output to the REPL stops. While geiser-show-logs contains multiple repetitions of following message
ERROR: Unexpected queue input:
hi
I've looked at geiser-con--tq-filter, where this error logged... and come to conclusion there is no simple way to make this kind of asynchronous output work. But maybe I am missing something
Hi.
I am using Chicken Scheme and have a lot of frustration with REPL.
The problem is if you start some thread, something like:
```scheme
(import (srfi-18))
(thread-start! (lambda () (let loop () (thread-sleep! 1) (display 'hi) (newline) (flush-output) (loop))))
```
It will print `hi` every second:
```console
#<thread: thread276>
#;1> hi
hi
hi
hi
...
```
But then if you try to evaluate some variable, for example using `geiser-eval-last-sexp`, output to the REPL stops. While `geiser-show-logs` contains multiple repetitions of following message
```console
ERROR: Unexpected queue input:
hi
```
I've looked at `geiser-con--tq-filter`, where this error logged... and come to conclusion there is no simple way to make this kind of asynchronous output work. But maybe I am missing something