2008-09-01から1ヶ月間の記事一覧

Scheme どう書く?的

整列済みの number のリストがある。'(1 3 4 5 6 12 13 15)このようなリストで数が連続している部分は '(1 2 3) -> '(1 . 3) のように両端のみを書くような記法を導入する。最初の例のリストであれば以下のようになる。'(1 (3 . 6) (12 . 13) 15)このような…

Re:Schemeはツンデレ

Schemeはツンデレより。個人的には、ツンデレっていうより「ささやかな優しさ」って感じですね。 僕が「○○作りたいなぁ」ってボソッとつぶやいたのを隣でこっそり聞いていたすきぃむちゃん。僕が席を離れてる間に机の上に○○を作るための道具一式を置いておい…

SRFI 42でFizzBuzzとフィボナッチ

SRFI 42は、下のようにいろんなデータでのループに使うことができる。 gosh> (list-ec (: x 1 10) x) (1 2 3 4 5 6 7 8 9) gosh> (list-ec (: c "ABCDE") #`"char-,c") ("char-A" "char-B" "char-C" "char-D" "char-E") gosh> (list-ec (: x '#(1 2 3) '#(4 …

Brainfuckコンパイラ

id:mzpさんがBrainfuckインタプリタを作っていたので、なんとなくBrainfuckからSchemeへのコンパイラを作ってみた。こんな感じになってます。 (define (char->symbol c) (string->symbol #`",c")) (define (inst-name->cont name k) (lambda (x) (k `((,(cha…