(define-library (chibi memoize) (import (chibi optional) (chibi pathname) (chibi string) (srfi 9) (srfi 38) (srfi 69) (srfi 98)) (cond-expand (chibi (import (chibi) (chibi ast) (chibi system) (chibi filesystem)) (begin (define (i-am-root?) (zero? (current-user-id))))) (else (import (scheme base) (scheme char) (scheme file)) (begin (define (i-am-root?) (equal? "root" (get-environment-variable "USER"))) (define (procedure-name x) #f) (define (procedure-arity x) #f) (define (procedure-variadic? x) #f)))) (export define-memoized memoize memoize-to-file memoize-file-loader make-lru-cache lru-cache? lru-ref lru-ref! lru-set! hash-table-ref!) (include "memoize.scm"))