从应用程序调用CLIM UI

时间:2010-10-21 06:24:40

标签: common-lisp clim

为了运行CLIM UI,必须调用泛型函数clim:run-frame-top-level,但是此函数会阻止,直到UI退出。这似乎要求所有应用程序控制都通过CLIM顶级处理。

是否可以以不同方式构建应用程序,以便建立CLIM顶级之外的控制流,并根据需要与应用程序框架进行简单交互?

1 个答案:

答案 0 :(得分:3)

支持CLIM的大多数Common Lisp实现都有一种方法可以将函数作为一个单独的线程运行(通常在Lisp中称为PROCESS)。

在许多Common Lisp实现中,此函数称为PROCESS-RUN-FUNCTION。请参阅Lisp的文档。

CLIM本身具有MAKE-PROCESS功能。这是独立于实现的,适用于多线程Lisp之类的CLIM实现,如Allegro CL,LispWorks,MCL,Genera,......

类似于(CLIM-USER包中的示例)。

(make-process (lambda () (run-frame-top-level ...)))

应该在自己的线程中运行toplevel。

这将允许您运行多个帧,使用REPL进行其他Lisp进程等。