Gauche > Archives > 2009/12/13

2009/12/13 00:01:26 UTCkenhys
#
この場合extraを便宜上コンテナとして使うっていう理解で良いですか?
2009/12/13 00:02:29 UTCshiro
#
はい。これはクロージャの無いCでクロージャ的な動作をさせるための定石で、クローズする情報をextraを通じて渡してるわけです。で、今回の場合Cの擬似クロージャ (known_bridge) にSchemeの手続きをクローズされた情報として渡してます。便宜上っていうより、そもそもそういう目的の引数だと推測したんですが。
#
Schemeレベルでextraのような情報を受け渡したければ、Scheme内でクロージャを作ってやればいいので、Scheme APIにextraを見せる必要はありません。
2009/12/13 00:11:29 UTCkenhys
#
おぼろげな理解ではありますが、教えていただいた内容で試してみます。ありがとうございました。(このへんってあまりはまる人っていないんでしょうか
2009/12/13 00:15:01 UTCshiro
#
昔から使われてる手法ですが、あんまりちゃんとした解説って無いかもしれないですね。一度知ってしまえば済むことなので。
2009/12/13 10:55:38 UTCshiro
#
trunk利用者へ: 今、コンパイラの最適化パスをいじってるので、動作が不安定かも。もしおかしな動作をしたらgoshに-fno-post-inline-passオプションを与えて起動してみてください。
2009/12/13 14:26:06 UTChigepon
#
む。要チェックだな>最適化パス