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

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

(define obj1 (new object%))
(define obj2 (new object%))
(define obj3 (new object%))
(define obj4 (new object%))
(define obj5 (new object%))
(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-gui% [parent frame] [view view]))

(send frame show #t)