mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-18 21:29:19 +02:00
22 lines
776 B
Scheme
22 lines
776 B
Scheme
|
|
(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"))
|