fork(1) download
  1. (set! *random-state* (seed->random-state (current-time)))
  2.  
  3. (define (make-character-generator string)
  4. (lambda () (string-ref string (random (string-length string)))))
  5.  
  6. (define vowel (make-character-generator "aeiouy"))
  7. (define consonant (make-character-generator "bcdfghjklmnpqrstvwxyz"))
  8.  
  9. (define name
  10. (let* ((patterns (list (list consonant vowel consonant)
  11. (list consonant vowel consonant vowel)
  12. (list vowel consonant vowel)
  13. (list consonant vowel consonant vowel consonant)))
  14. (patterns-size (length patterns)))
  15. (lambda ()
  16. (apply string
  17. ((lambda (chars) (cons (char-upcase (car chars))
  18. (cdr chars)))
  19. (map (lambda (gen) (gen))
  20. (list-ref patterns (random patterns-size))))))))
  21.  
  22. (display (name))
Success #stdin #stdout 0.03s 4132KB
stdin
Standard input is empty
stdout
Guf