;; Register a new user ;; (lambda (uri) (for-each eval (with-input-from-file "garden.scm" read-list)) (let ((query (uri-query uri))) (if (null? query) (serve-query "User name") (let* ((username (symbol->string (caar query))) (hash (string->sha1sum (conc username (number->string (pseudo-random-integer 1000000)))))) (with-output-to-file (conc "accounts/" hash) (lambda () (write (make-garden username)))) (redirect-permanent (update-uri uri path: '(/ "microbotany" "view.scm") query: `((,hash . #t))))))))