2006-06-01から1ヶ月間の記事一覧

3.5.1 Streams Are Delayed Lists

今までは"時間"の観点から現実世界をモデル化していたところを、別の視点からやってみましょう、というお話。具体的には(遅延)ストリームです。 前準備 サイトに載ってないコードだけ。 (define the-empty-stream '()) (define (stream-null? s) (eq? s the-…

3.4 Concurrency: Time Is of the Essence

久々に読む。なんか読みにくくて和訳版の本読んでみたけど同じくらいわかりにくかった…。 この節は多くの問題を省略。図を描いたりただ調べるだけのが多いので。 3.41 一つの処理しか行わない手続きを直列化することに意味はない。 3.42 よく分からない。問…

ベルガリアード物語読んだ

おもしろかった。予言の守護者 - ベルガリアード物語〈1〉 (ハヤカワ文庫FT)作者: デイヴィッドエディングス,David Eddings,宇佐川晶子出版社/メーカー: 早川書房発売日: 2005/02/24メディア: 文庫購入: 19人 クリック: 964回この商品を含むブログ (108件) …

角丸の枠を作る

TeX

\usepackage{ascmac}して \begin{screen} ... \end{screen}TeXはよく分からないまま入れたのでファイルの位置がぐちゃぐちゃ。入れ直したい。

ubygems

C:\>ruby -e "hoge" ruby: No such file to load -- ubygems (LoadError) いつの間にこんなことに。困ったな。

3.3.5 Propagation of Constraints

等式を制約として扱うことで解を求める。項どうしが演算、等号で結合されていればそれはそれらの項に対する制約と見なせる。たとえば a + b = c という式なら、どの2変数が決まっても残り1つの変数は自動的に決まる。これを自動化することを考えてる。おもし…

文字列中に他の文字列が出現する回数

$haystack =~ s/$needle/$needle/g こんなのも忘れてた。

3.3.4 A Simulator for Digital Circuits

論理回路をシミュレート。 導線(wire)同士を関数で繋ぐ感じ。 入力側のwireの持つ値(導線の信号)が変化したときに関数を呼び出して、出力側のwireの信号を変化させる。 その際発生する遅延もシミュレートする。 時間軸を一列にとっておいて、after-delayとい…

3.3.3 Representing Tables

テーブル、連想リスト。 3.24 (same-key?を指定できるテーブル) (define (make-table same-key?) (let ((local-table (list '*table*))) (define (assoc key records) (cond ((null? records) #f) ((same-key? key (caar records)) (car records)) (else (as…

3.3.2 Representing Queues

(define (front-ptr queue) (car queue)) (define (rear-ptr queue) (cdr queue)) (define (set-front-ptr! queue item) (set-car! queue item)) (define (set-rear-ptr! queue item) (set-cdr! queue item)) (define (empty-queue? queue) (null? (front-pt…

3.3.1 Mutable List Structure

3.12 (define x (list 'a 'b)) (define y (list 'c 'd)) (define z (append x y)) z ; => (a b c d) (cdr x) ; => (b) (define w (append! x y)) w ; => (a b c d) (cdr x) ; => (b c d) 3.13 (define (last-pair x) (if (null? (cdr x)) x (last-pair (cdr …

3.2 The Environment Model of Evaluation

変数束縛と環境云々。問題は絵を描くのばっかなので理解したことにして省略。

3.1 Assignment and Local State

set!でデータの中身を変更できるようにすると参照透明性が失なわれてデータの同一性が判断できなくなるよ、というお話(かな?) 3.1 (define (make-accumulator acc) (lambda (n) (begin (set! acc (+ acc n)) acc))) 3.2 (define (make-monitored proc) (let…

2.5.3 Example: Symbolic Algebra

はついに怠け心が勝って飛ばすことに。

String#succ x 10 つづき

どこかまでかはかわいいのに、どこかから突然かわいくなくなっちゃう感じ。 うーん、確かにそんな感じですね。。 function iterate (f, s) { return chain([s], { next: function() { return s = f(s) } }) } function right(a, b) { return b } var last = …

String#succ x 10

こっそり var succ = compose(String.fromCharCode, partial(operator.add, 1), methodcaller('charCodeAt')); compose.apply(null, list(repeat(succ, 10)))('a'); // => "k"びみょーっつうか長い。

Hit-a-Hint設定しなおし

バージョンアップしたら動かなくなった。 Hint Options > XPath of the elements to be hinted //a[@href]|//input[@type="text" or @type="submit" or not(@type)]|//textarea|//select|//button|//*[@onclick]こんな感じで。でもなんかバギー。 あとFirebug…