トップページ > プログラム > 2016年04月02日 > 4LcO4yg1

書き込み順位&時間帯一覧

13 位/219 ID中時間01234567891011121314151617181920212223Total
書き込み数0000100000001000020000004



使用した名前一覧書き込んだスレッド一覧
はちみつ餃子 ◆8X2XSCHEME
デフォルトの名無しさん
Lisp Scheme Part40 [転載禁止]©2ch.net
【入門】Common Lisp その11【質問よろず】

書き込みレス一覧

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
関数は環境がぞろぞろとくっついてるから、シリアライズは容易でない。
動作中のイメージをまるごと移送するのなら出来なくもないと思うけど……、そんなことがやりたいのか?


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。