editorial
[rrq/newlisp/coproc.git] / tcltk.lsp
1 #!/usr/bin/newlisp
2
3 (load "coproc.lsp")
4
5 (setf GUI (coproc "wish" true))
6
7 (define (GUI-events)
8   (while (and (setf FS (net-select (list 0 (GUI 3)) "r" -1))
9               (not (member 0 FS)))
10     (let ((cmd (:gets GUI)))
11       (unless cmd (exit 0))
12       (when (starts-with cmd "eval:")
13         (println (eval-string (println (5 cmd))))))))
14
15 (prompt-event GUI-events)
16
17 (println (:pugs GUI [text]
18 frame .top
19 button .top.b -text "whatever" -command {puts "eval: hello"}
20 pack .top.b
21 pack .top
22 [/text]
23 ))
24