ClozureCLはCocoaプログラミングができていまうのであった.以下が暫定のまとめ.
-
- Cocoa関数(メソッド)を呼ぶときは#/をつける.Lispなので,関数・メソッド名が先頭です.
- Cocoaのメソッド定義は,objc:defmethodを使う.
- マニュアルにはsend関数を使うように書いてあるが,これは使えないみたい.
- Cocoaのクラスを直にCLOSから継承したりもできる.
- 構造体はMCL時代におなじみのrletを使う(みたい).
- MCLと同じく,メモリ空間を使うときは,ccl::stack-blockを使う.MacPtrとかはないので,ちょっと使い方は微妙に変わってるかも.
RubixのOpenGL画面はリサイズできないので,CocoaでOpenGLを使う例を元に画面をリサイズできるようにいろいろ試した.NSOpenGLViewのサブクラスにメソッドreshapeを定義してオーバーライドなど.しかし,何故かうまくいかない....