;; ;; md5 - Scheme wrapper for Colin Plumb's Public Domain md5 implementation ;; ;; All code in this egg is in the Public Domain (module md5-primitive (;export md5-primitive) (import scheme (chicken base) (chicken type) message-digest-primitive md5-api) (include-relative "message-digest-primitive.types") (: md5-primitive (--> message-digest-primitive)) (define md5-primitive (let ((the-md5-primitive (the (or false message-digest-primitive) #f))) (lambda () (unless the-md5-primitive (set! the-md5-primitive (make-message-digest-primitive context-size digest-length init update final #:block-length block-length #:raw-update raw-update #:name name)) ) the-md5-primitive ) ) ) ) ;md5-primitive