(module hyde-atom (translate/atom) (import chicken scheme) (use hyde atom rfc3339 environments) (define (translate/atom) (let ((env (page-eval-env))) (for-each (lambda (binding) (apply environment-extend! (cons env binding))) `((make-atom-doc ,make-atom-doc) (make-author ,make-author) (make-category ,make-category) (make-content ,make-content) (make-contributor ,make-contributor) (make-entry ,make-entry) (make-feed ,make-feed) (make-generator ,make-generator) (make-icon ,make-icon) (make-link ,make-link) (make-logo ,make-logo) (make-rights ,make-rights) (make-source ,make-source) (make-subtitle ,make-subtitle) (make-summary ,make-summary) (make-title ,make-title) (make-rfc3339 ,make-rfc3339) (rfc3339->string ,rfc3339->string) (seconds->rfc3339 ,seconds->rfc3339) (utc-time->rfc3339 ,utc-time->rfc3339) (time->rfc3339 ,time->rfc3339))) (write-atom-doc (eval (read) env)))) (translators (cons (list "atom" translate/atom '(ext . atom) '(layouts)) (translators))) )