Не думаю, что у вас есть способ избежать опроса файла.
Обратите внимание, что все входные функции Racket учитывают eof
значение, которое должно быть возвращено, когда оно достигает конца входного потока - поэтому все события немедленно возвращают его, когда достигнут конец. По крайней мере, я не вижу ничего похожего на «подождите, пока какой-то ввод готов, а не eof
».
В любом случае, у вас также есть ffi, если вы знаете о каком-то системном вызове, который вызывает обратный вызов вместо опроса файла. AFAICT, исходный код linux для tail
использует inotify, так что вы можете использовать старый пакет с интерфейсом, который из racket называется mzfam . (Но он довольно старый и, возможно, потребует обновления.)