{"size": 629, "ext": "rktl", "max_stars_repo_path": "pkgs/racket-benchmarks/tests/racket/benchmarks/shootout/typed/hash.rktl", "max_stars_repo_name": "lkh01/racket", "max_stars_repo_stars_event_min_datetime": "2018-07-05T21:18:24.000Z", "max_stars_repo_stars_event_max_datetime": "2021-06-04T14:48:37.000Z", "max_issues_repo_path": "pkgs/racket-benchmarks/tests/racket/benchmarks/shootout/typed/hash.rktl", "max_issues_repo_name": "lkh01/racket", "max_issues_repo_issues_event_min_datetime": "2017-05-10T07:33:20.000Z", "max_issues_repo_issues_event_max_datetime": "2018-07-19T15:49:46.000Z", "max_forks_repo_path": "pkgs/racket-benchmarks/tests/racket/benchmarks/shootout/typed/hash.rktl", "max_forks_repo_name": "lkh01/racket", "max_forks_repo_forks_event_min_datetime": "2016-04-25T11:47:57.000Z", "max_forks_repo_forks_event_max_datetime": "2017-05-09T14:52:48.000Z"}
{"max_stars_count": 4, "max_issues_count": 9, "max_forks_count": 3, "avg_line_length": 33.1052631579, "max_line_length": 84, "alphanum_fraction": 0.5214626391}
(: main ((Vectorof String) -> Void))
(define (main argv)
  (let*: ([n : Integer (assert (string->number (vector-ref argv 0)) exact-integer?)]
          [hash : (HashTable String Integer) (make-hash)]
          [accum : Integer 0]
          [false : ( -> False) (lambda () #f)])
    (let loop ([i 1])
      (unless (> i n)
        (hash-set! hash (number->string i 16) i)
        (loop (add1 i))))
    (let loop ([i n])
      (unless (zero? i)
        (when (hash-ref hash (number->string i) false)
          (set! accum (+ accum 1)))
        (loop (sub1 i))))
    (printf "~s\n" accum)))

(main (current-command-line-arguments))
