44 lines
1.2 KiB
Scheme
44 lines
1.2 KiB
Scheme
(require (lib "graphics.ss" "graphics")
|
|
(lib "mztake.ss" "mztake")
|
|
(lifted mzscheme
|
|
make-hash-table
|
|
hash-table-put!
|
|
hash-table-get))
|
|
|
|
|
|
(open-graphics)
|
|
(define window (open-viewport "Debugger" 600 500))
|
|
((draw-viewport window) (make-rgb 0.95 0.95 0.95))
|
|
|
|
|
|
(define/bind (loc "random.ss" 4 6) x)
|
|
|
|
|
|
(define largest-bin 0)
|
|
(define valcount (make-hash-table))
|
|
|
|
|
|
(hold (x-trace . -=> .(printf-b "largest count: ~a" largest-bin)))
|
|
|
|
|
|
(map-e (lambda (x)
|
|
(let* ([new-cnt (add1 (hash-table-get valcount x (lambda () 0)))]
|
|
[color (/ new-cnt (add1 largest-bin))])
|
|
|
|
(when (= largest-bin 250)
|
|
(kill p))
|
|
|
|
(when (> new-cnt largest-bin) (set! largest-bin new-cnt))
|
|
|
|
(hash-table-put! valcount x new-cnt)
|
|
|
|
((draw-solid-rectangle window) (make-posn (* x 6) (- 500 (* 2 new-cnt)))
|
|
6 10 ;; width height
|
|
(make-rgb 0 (* 0.75 color) color))))
|
|
x-trace)
|
|
|
|
|
|
(printf-b "count: ~a" (count-b x-trace))
|
|
|
|
|
|
(set-running! true) |