(library (geiser) (export geiser:eval geiser:completions geiser:module-completions geiser:autodoc geiser:no-values geiser:newline) (import (chezscheme)) (define string-prefix? (lambda (x y) (let ([n (string-length x)]) (and (fx<= n (string-length y)) (let prefix? ([i 0]) (or (fx= i n) (and (char=? (string-ref x i) (string-ref y i)) (prefix? (fx+ i 1))))))))) (define (geiser:completions prefix . rest) rest (sort string-ci