(module syntax-browser mzscheme (require (lib "class.ss") (lib "mred.ss" "mred") "private/widget.ss") (provide browse-syntax browse-syntaxes) ;; browse-syntax : syntax -> void (define (browse-syntax stx) (browse-syntaxes (list stx))) ;; browse-syntaxes : (list-of syntax) -> void (define (browse-syntaxes stxs) (let ((w (make-syntax-browser))) (for-each (lambda (stx) (send w add-syntax stx)) stxs))) ;; make-syntax-browser : -> syntax-widget% (define (make-syntax-browser) (let* ([f (new frame% (label "Syntax Browser") (width 600) (height 400))] [w (new syntax-widget% (parent f))]) (send f show #t) w)) )