10012009 lisp
マクロに関して。
9章でマクロを使ってユニットテストを書いていくんだけど、抽象化の過程がやたらと面白かった。
10012009 lisp
マクロに関して。
9章でマクロを使ってユニットテストを書いていくんだけど、抽象化の過程がやたらと面白かった。
Business English Podみたいな感じの会話がつらつらと、というよりは「履歴書書いて入社までの会話を時系列で」みたいな内容。
英語の勉強というよりは、会話を通したマインドセットの違いのほうが勉強になった。
09012009 lisp
シンタックス、セマンティクス、変数、関数あたりの説明。
ダイナミック変数ってのは要するにperlでいうグローバル変数のようなものか?そしてletがlocalに似た挙動を示すっぽいな。
09012009 lisp
common lispだと
(let ((count 0))
(list
#'(lambda () (incf count))
#'(lambda () (decf count))
#'(lambda () (count)))
同じことをperlでもlispっぽくかける。
#!/usr/bin/env perl
use Perl6::Say;
sub make_counter {
my $c = 0;
return (
sub {$c++},
sub {$c--},
sub {$c}
);
}
my ($inc,$dec,$counter) = make_counter();
say $counter->(); # 0
$inc->();
$inc->();
$inc->();
say $counter->(); # 3
$dec->();
say $counter->(); # 2
07012009 Linux
いままで
bzip2 -dc file.tar.bz2 | tar xvf -
とかやってたけど、
tar xvfj file.tar.bz2
でいいのね。
06012009 CTMCP
メッセージ伝達並列性
コンピュータプログラミングの概念・技法・モデル(IT Architect' Archiveクラシックモダン・コンピューティング6) (IT Architects’Archive CLASSIC MODER)最後のほうにerlangの簡単な説明の節があったが、erlangは触ったことないのでとりあえず
sudo port install erlang
してみた。後で時間があったら触ってみたいところ。
あまり並列処理をガンガンまわすということはやってないので、いまいち興味が、、、、というわけだったので、少し読み飛ばした。
05012009 CTMCP
宣言的並列性に関して
コンピュータプログラミングの概念・技法・モデル(IT Architect' Archiveクラシックモダン・コンピューティング6) (IT Architects’Archive CLASSIC MODER)データフロー変数ってのがなんだか面白そうだったのでググったらみずぴー日記の方がOCamlでやってた。さらにコメント欄が参考になった。
perlだとthreads::sharedとかで変数を共有しといてundefじゃなくなるのを監視してれば未束縛の変数っぽい振る舞いをさせることができんのかな。pythonは全然わからん。
今年はcommon lispを覚えようと目標を立てたので、早速環境を整えてみた。clisp+SLIMEだとwarningがやたら出たり挙動がへんだったりしたのでとりあえずsbclを使うことにした。
そしてNinety-Nine Lisp Problemsを解いていく。
あとはこの二冊をやる予定。
どこかのブログでみつけて面白そうだったので年末に買っておいた。今年はインプット、アウトプットの出入り量をもう少し多くしたいところ。
オズボーンのチェックリストは最初からテンプレートを作っておけばよかろうと、freemindのテンプレートを作った。
