SICP 読み (34) 2.2.4 例: 図形言語
成層設計 (stratified design) という言葉が出てくる。これに似た言葉があったはずなんですが、それを思い出せぬ。仕様変更の盛り込みについて、規模的な観点での変更を、という記述もあるが、これはケースバイケースかも。
ただ、これは自分の勘違いなのかもしれませんが、テキストの図 2.9 な出力にはデフォルトな作りではなりませんでした。やれやれデキたよ、と思いつつ本を見たら違うからとてもアセりました。
まだ、square-limit とかそこらマワリをきちんと読んでなかったんで色々とナメ回してみたら↓こんなカンジの作りになっているらしいな、と。
square-limit の図 | | reverse half -----------+----------- half reverse | quater quater | (corner-split) corner-split の図 | painter | bottom | right -----------+----------- | top | corner left | |
実装(図も)ではこうなっているようなんですが、出力は以下みたい。
corner-split の図 | top | corner left | -----------+----------- | painter | bottom | right |
これは corner-split が悪いんではなくって、square-limit のお陰な事が判明。(って今気づいたんですが、below の実装が微妙なのかな? 最初の引数が下ですか? 別途確認必要かも)
上記の通り、規模の少ない修正を、ってコトで以下。
((square-limit (flip-vert p) 4) f)
こうしたらテキストの図の形で出力。
しかし、これってなんか強烈なボケをカマシてる気がしてきたぞ。(とほほ
追記
square-limit 全体の動作については、
(square-limit p 1)
を追い掛けてみると理解しやすい。あ、
(square-limit p 2)
もチェックした方が良いかも。(無論 0 も)
そりゃ良いのですが、ハードコピィな画像をのっけたら壊れるな。ブラウザが悪いの??
再度追記
フォーマットを jpeg にしたら表示される模様。png は NG なのかな。