CCL-Cocoa ブリッジ用に Clozure が提供する「hello world」スクリプトを実行しようとしています。
https://trac.clozure.com/ccl/wiki/CocoaBridge
これらのフォームを含むファイルをロードし、評価 (show-red-window) すると、赤いウィンドウが表示されます。
red-window.ccl
(in-package "CL-USER")
(require "COCOA")
(defclass red-view (ns:ns-view)
()
(:metaclass ns:+ns-object))
(objc:defmethod (#/drawRect: :void) ((self red-view) (rect :<NSR>ect))
(#/set (#/redColor ns:ns-color))
(#_NSRectFill (#/bounds self)))
(defun show-red-window ()
(ccl::with-autorelease-pool
(let* ((rect (ns:make-ns-rect 0 0 300 300))
(w (make-instance 'ns:ns-window
:with-content-rect rect
:style-mask (logior #$NSTitledWindowMask
#$NSClosableWindowMask
#$NSMiniaturizableWindowMask)
:backing #$NSBackingStoreBuffered
:defer t)))
(#/setTitle: w #@"Red")
(#/setContentView: w (#/autorelease (make-instance 'red-view)))
(#/center w)
(#/orderFront: w nil)
(#/contentView w))))
しかし、実行ccl64
して入力すると
(load "red-window.ccl")
(show-red-window)
端末で次の出力を取得します。
#<RED-VIEW <RedView: 0x4cd530> (#x4CD530)>
他に何も起こらないようです。
何か不足していますか?私はCLとココアの両方が初めてです。