- Lisp Scheme Part40 [転載禁止]©2ch.net
366 :はちみつ餃子 ◆8X2XSCHEME [sage]:2016/04/02(土) 04:27:14.45 ID:4LcO4yg1 - 仕様から関連しそうな箇所を抜き出してみた。
> 4.8 定義演算子 > 定義形式によって定義される名前は、最上位有効範囲全体で使うことができるが、 > ISLISP テキスト単位における実行準備された最上位形式は、左から右に順に実行される。 > (略) > (defun function-name lambdaform*) → <symbol> > > defun 形式は、 function-name を、関数名前空間の識別子として定義する。 function-name は、 (lambda > lambda-list form*) と等価な関数オブジェクトに束縛される。 > 8. マクロ > (略) > マクロは、実行準備時に展開される。 いかなる実行時情報も使えない。使用可能な操作は、単純なデー > タ構造の生成及び処理に制限される。すなわち、(端末への入出力のような) 環境への副作用、(記号の属 > 性リストの変更のような)外部的にアクセスできるデータ構造への副作用、及びマクロ形式自身への副作用 > を起こす操作は禁止する。 「4.6 評価モデル」も関連するけど長くなるので要約。 ・ まず実行準備される ・ 実行準備が完了してから実行される ・ 実行準備完了時点でマクロ展開は終わっている ・ 実行準備のための処理は処理系依存 断言できるほどはっきりしてないけど、関数の定義名はマクロ展開時にも見えてて、 関数名と関数オブジェクトを結びつけるのは「実行」だと解釈するのが妥当だと思う。 マクロ定義中にユーザー定義関数を使えないとする解釈を私も支持する。 ただ、全体を通して見ると副作用のない (プログラマが定義した関数を含む) 関数なら使えると想定しているっぽい雰囲気 はあるような気がする。
|
- Lisp Scheme Part40 [転載禁止]©2ch.net
368 :はちみつ餃子 ◆8X2XSCHEME [sage]:2016/04/02(土) 12:56:38.38 ID:4LcO4yg1 - >>367
その URL では見れないよ。 URL 中の番号はあなたがアクセスしたときのセッション番号。 文書に固有の番号ではないので、パームリンクとして使えない。 ダウンロード禁止なだけじゃなく、たぶんサーチンエンジンのクロールも避けてるんだと思う。
|
- Lisp Scheme Part40 [転載禁止]©2ch.net
374 :はちみつ餃子 ◆8X2XSCHEME [sage]:2016/04/02(土) 17:41:26.10 ID:4LcO4yg1 - 日本の法律だと JIS 規格に著作権が認められるかどうかははっきりしない。
総合的には認められないとする説の方が有力らしいんだが、 ISO は規格の著作権を主張してるからそれに加盟してる JISC も倣うしかなくて、 間をとって閲覧だけは無料という曖昧なところでぼやかしてるらしい。
|
- 【入門】Common Lisp その11【質問よろず】
331 :デフォルトの名無しさん[sage]:2016/04/02(土) 17:44:40.57 ID:4LcO4yg1 - 関数は環境がぞろぞろとくっついてるから、シリアライズは容易でない。
動作中のイメージをまるごと移送するのなら出来なくもないと思うけど……、そんなことがやりたいのか?
|