(define (chomp string)
(substring string 0
;; start at the end of the string and work backward
(let loop ((len (string-length string)))
;; recurse until we have the number of the last
;; non-newline character
(if (and (> len 0)
(lineterm? (string-ref string (- len 1))))
(loop (- len 1))
len))))