有野
有野です。
Scheme自体はSICP+お遊び、程度ですね。
以前SCMにWindowsのCOMを入れる、というのを途中まで実装した事があります。
http://members.tripod.co.jp/k_arino/win32ole.tgz
です。
Tiki:Lispの下の方にうじゃうじゃ書きましたが。
SchemeとOLEはいまいち相性が良く無いですねぇ。
ジェネリックファンクションとかにするべきか…
- 相性が良くないってことは無いと思いますよ。純粋に関数的に書こうとすると
ばりばりに状態を持つインタフェースとぶつかってしまいますが、状態をclosure
の中に閉じ込めるのはSchemeでは昔から行われて来たので…
(define ie (create:win32ole "InternetExplorer.Application"))
(ie 'put 'Visible true)
- みたいなのが「伝統的」なSchemeかもしれないです。
CLOSライクなOO systemが使えればgeneric functionにしてしまう方が見やすいと
個人的には思いますが。--Shiro (2002/05/21 14:13:03 PDT)
- うーむ、一応putとかまでならうまく行くとは思うのですが…ここの908とかが私の考えです(2chで失礼)。相性が悪い、というのは、イベントループ回りがうまいインターフェースを思いつかなかったからです(^^;--有野
- STkでは、低レベルではTkコマンドを一種のクロージャにして、高レベルで
OOPにカプセル化 (propertyがslotに、actionはgeneric functionになる)
してて綺麗でしたね。やっぱりそういう構成がSchemeちっくですかね。
イペントループのほうはOLEの知識が無いんで想像つきませんです --Shiro
EmacsLispが大好きで、会社でPerlで使い捨てスクリプトを書こうとしている人を見つけたら、
とりあえずEmacsLispを薦めています(そして皆に無視される…)
Last modified : 2002/05/22 09:40:58 UTC