Alex Shinn
foof****@synth*****
2003年 2月 26日 (水) 19:03:06 JST
>>>>> "Shiro" == Shiro Kawai <shiro****@lava*****> writes: Shiro> From: Alex Shinn <foof****@synth*****> >> (define-command (do-something (host <string> "www.yahoo.com") >> (port <number> 80)) ...) Shiro> これは面白いです。CommonLispのユーザインタフェース規格CLIMで Shiro> は、マクロで「コマンド」を定義しておくと自動的に、グラフィカ Shiro> ルインタフェースではメニューやショートカットキーで起動され、 Shiro> コマンドラインインタフェースではコマンド文字列を打ち込むこと Shiro> で起動されるようになるらしいです。(規格を読んだだけで使ったこ Shiro> とはないのでが)。 少し抜き読みましたが、分り難いです。まだいいCLIMのコマンドの例を探してい ます。 Gimpでも、「スクリプト」と言うコマンドがあります。例えば: (define (my-dummy-function a b) (print "Do nothing")) (script-fu-register "my-dummy-function" _"<Toolbox>/Xtns/Script-Fu/My Stuff/Dummy..." "Do nothing" "Joey User" "Joey User" "August 2000" "" SF-ADJUSTMENT _"Width" '(400 1 2000 1 10 0 1) SF-ADJUSTMENT _"Height" '(30 1 2000 1 10 0 1)) 関数を定義とコマンドを登録(レジスター?)が別別にします。 Shiro> アプリケーションのフレームワークとしてこういうマクロを持って Shiro> おいても良いかもしれません。 そうですね。だから、アプリケーションのフレームワークの前に、コマンドの情 報(引数のタイプ等)を登録したり内省したりする事の必要があります。それか ら、色々なコマンドシステムを作り上げて、試みられます。最後に、アプリケー ションのフレームワークを決めます。 -- Alex