ブログ移転しました。新しいサイトはこちら: genkami.github.io
ブログ移転しました。新しいサイトはこちら: genkami.github.io
Scheme 関連の記事が書かれているブログを巡回していてこんな記事を見掛けた。 Scheme に慣れた人ならこのコードで append を使っている部分が気になるのではないだろうか。 私はとても気になる。 そんなわけでどう気になるのか解説してみることにした。 比較的初心者向けの内容だと思う。 Scheme の append は複数のリストをくっつけてひとつのリストにしたものを返す。 最後の引数として渡されたリストのみが返されたリストと共有された状態になる。 つまり、最後の引数以外はコピーされるのだ。 例としてこんなものを考えてみよう。 (define X '(A B C)) (define Y '(D)) (define Z (append X Y)) このとき変数 X, Y, Z はどのような構造になっているのかを図で表すとこうなる。 変数 X の内容はコピーされた上で最後のペアの c
Shiro(2012/04/03 13:25:57 UTC): http://togetter.com/li/283057 からの考察。 現在のGaucheのファイルロードメカニズムは、あらかじめ設定されたload-pathからファイルを探すようになっている。add-load-path を使ってスクリプト内でload-pathに追加することもできるが、add-load-pathはリテラルしか取れないので、静的なメカニズムに近い (スクリプトが固定された時点でadd-load-pathに渡す引数も固定される)。 これは、私自身のUnixとの長い付き合いの中で、こういう想定に基づいた設計だった。 ソフトウェアはconfigure + make + make installするもの スクリプトやモジュールファイルの置かれる位置はconfigure時に指定するもの だから、makeでパスを埋め込ん
らちこ @cryks モジュールがまだちょっと微妙。もうちょっと勉強する。あと run-process は使ったら負けなので使わなかった。次は sys-opentty で仮想端末。 2012-04-03 18:12:35 らちこ @cryks Gauche で適当な機能ごとにモジュール分けするときはどんな方法がいいのかな。define-module / use だとカレントディレクトリ見てくれないから、(add-load-path ".") とかやっちゃってもいいのかしら。初期値に無いってことは作法に反している気がする 2012-04-03 21:20:20
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く