{"size": 940, "ext": "scrbl", "max_stars_repo_path": "scribble-test/tests/scribble/docs/traverse.scrbl", "max_stars_repo_name": "cwebber/scribble", "max_stars_repo_stars_event_min_datetime": "2015-01-11T18:19:42.000Z", "max_stars_repo_stars_event_max_datetime": "2022-03-31T08:45:52.000Z", "max_issues_repo_path": "scribble-test/tests/scribble/docs/traverse.scrbl", "max_issues_repo_name": "cwebber/scribble", "max_issues_repo_issues_event_min_datetime": "2015-03-24T20:53:21.000Z", "max_issues_repo_issues_event_max_datetime": "2022-02-20T22:51:57.000Z", "max_forks_repo_path": "scribble-test/tests/scribble/docs/traverse.scrbl", "max_forks_repo_name": "cwebber/scribble", "max_forks_repo_forks_event_min_datetime": "2015-03-09T12:23:06.000Z", "max_forks_repo_forks_event_max_datetime": "2022-03-07T15:00:13.000Z"}
{"max_stars_count": 161, "max_issues_count": 260, "max_forks_count": 103, "avg_line_length": 22.380952381, "max_line_length": 52, "alphanum_fraction": 0.5914893617}
#lang scribble/base
@(require scribble/core)

@(traverse-element
  (lambda (get set)
   ;; Not delayed, and so result is "not ready, yet"
   (get 'glossary "not ready, yet")))

@(traverse-element
  (lambda (get set)
   ;; Delayed until second traversal:
   (lambda (get set)
    (get 'glossary "BROKEN"))))

@; Same thing, but with blocks:

@(traverse-block
  (lambda (get set)
    ;; Not delayed:
    (para "The glossary is " 
          (get 'glossary "not ready, yet"))))

@(traverse-block
  (lambda (get set)
    ;; Delayed:
    (lambda (get set)
      (para "The glossary is " 
            (get 'glossary "BROKEN")))))

@(traverse-block
  (lambda (get set)
    ;; Adding a `delayed-block' doesn't delay:
    (traverse-block
      (lambda (get set)
        (para "The glossary is "
              (get 'glossary "not ready, yet"))))))

@(traverse-block
  (lambda (get set)
    (set 'glossary "ready")
    (para "Here is the glossary.")))
