blog/content/post/2009/02/07/2009-02-07-00001115.md

4.7 KiB

title author date url wordtwit_post_info categories
『プログラミングGauche』評価モデル kazu634 2009-02-07 /2009/02/07/_1197/
O:8:"stdClass":13:{s:6:"manual";b:0;s:11:"tweet_times";i:1;s:5:"delay";i:0;s:7:"enabled";i:1;s:10:"separation";s:2:"60";s:7:"version";s:3:"3.7";s:14:"tweet_template";b:0;s:6:"status";i:2;s:6:"result";a:0:{}s:13:"tweet_counter";i:2;s:13:"tweet_log_ids";a:1:{i:0;i:4493;}s:9:"hash_tags";a:0:{}s:8:"accounts";a:1:{i:0;s:7:"kazu634";}}
gauche
Lisp

計算機プログラムの構造と解釈』で触れられていた評価モデルについて書かれていたので、自分用の備忘録としてまとめておきます。

置き換えモデル

作用順序評価というものを採用している。作用順序評価は手続き的様式の手続き引数を順に評価してから、手続きを評価するモデル。引数の順番を置き換え可能にできる。

メリット

この置き換えモデルは、シンボルと値の結びつきが変化せず、式が値を返すためだけに使われるという前提の元では、シンプルにプログラムの振る舞いを検証できるわけです。

デメリット

引数を評価する順番が不定のため、引数を評価する順番が重要となる場合には不都合が生じる。

環境フレームモデル

順序や時間という概念を取り扱うことができるモデルの一つは、環境フレームモデルです。

参考

プログラミングGauche

プログラミングGauche