aboutsummaryrefslogtreecommitdiffstats
path: root/toplevel.scm
blob: d000af841425500f1d3e33afdda70d2e390b1fb8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
(load "markov.chicken.so")
(import markov)

(display "Generating table (this may take a while)\n" (current-error-port))
(define table (make-table-from-file "kjv.txt"))
(display "Done generating.\n")

(define (generate-until-word* current collected limits)
  (if (member current limits)
      (reverse collected)
      (generate-until-word* (generate-next-word table current)
                            (cons current collected)
                            limits)))

(define (generate-until-word limits)
  (generate-until-word* (generate-next-word table (car limits))
                        '()
                        limits))


(define (make-a-bible-verse)
  (generate-until-word '("startofverse" "startofchapter" "startofbook")))

(define (make-a-book-of-the-bible)
  (generate-until-word '("startofbook")))

(define (display-a-book-of-the-bible)
  (display (join-verses (make-a-book-of-the-bible))))

(display "Seeding from truly random source...\n")
(seed-from-entropy)
(display "Try (make-a-bible-verse) and (display-a-book-of-the-bible).\n")