(define filter-numbers {string --> (list number)} File -> (chomp (/. S (input+ number S)) (open File in))) (define chomp {((stream in) --> A) --> (stream in) --> (list A)} Reader Stream -> (trap-error [(Reader Stream) | (chomp Reader Stream)] (/. E (if (eos? (error-to-string E)) (close Stream) (chomp Reader Stream))))) (define eos? {string --> boolean} "error: empty stream" -> true _ -> false)