gui/run.ss
(require "../model/buffer.ss"
         "../model/view.ss"
         "../model/require.ss"
         "trace-display.ss")
(require-inspector)

(define buffer (make-buffer))
(define view (make-view buffer (lambda args #t)))

(with-public-inspector
 (define one% (class object% (super-new)))
 (define two% (class object% (super-new)))
 (define two-one% (class two% (super-new)))
 (define two-two% (class two% (super-new))))

(define obj1 (new one%))
(define obj2 (new two%))
(define obj3 (new two-one%))
(define obj4 (new two-two%))
(define obj5 (new one%))
(for-each (lambda (spec) (buffer-add! buffer spec))
          `((new ,obj1 ())
            (new ,obj2 ((car 2) (cdr ,obj1)))
            (new ,obj3 ((car 1) (cdr ,obj2)))
            (call ,obj3 add (2))
            (get ,obj3 car)
            (get ,obj3 cdr)
            (call ,obj2 add (2))
            (get ,obj2 car)
            (get ,obj2 cdr)
            (call ,obj1 add (2))
            (return (,obj1))
            (new ,obj4 ((car 4) (cdr ,obj1)))
            (return (,obj4))
            (new ,obj5 ((car 3) (cdr ,obj4)))
            (return (,obj5))))

(define frame (new frame% [label "Sequence Trace"]))
(define gui (new trace-display% [parent frame] [view view]))

(send frame show #t)