Programming

Web ブラウザの可能性

もう随分前から公開されているものの様ですが、恥ずかしながらつい最近、これを知りました。 Web Development Bookmarklets この中でも特にインパクトがあったのが JavaScript Shell ですね。 これが Bookmarklet でできてしまうのですから、いやはや凄いも…

サブプロセスのタイムアウト

うーん、意図した様に動いてくれません。昔作った C のプログラムをデバッグしなければならず、検証用に Ruby のテストコードを書いて、そこから呼び出そうとしています。当初、Ruby/DL を利用して、公開している API を直接呼び出すことを検討していたので…

やっぱりシンプルに。

上のエントリでも書きましたが、私自身は、テストコードはシンプルであるべき、複雑なテストコードは百害あって一利無し、と思っていますので、実は、上の様なテストコードはなるべく書かない方が良い、と考えています。場合によってはアリ、とは思っていま…

クロージャにしてみる。

ということで、裸の配列を順に参照している部分を、クロージャにしてみようかと。そもそも、配列をそのまま参照することが悪い訳では決して無いです。しかし、今回例示している様な簡単なイテレータならばそれでも良いですが、何やら複雑怪奇なメソッドだっ…

イテレータのテストコード。

久し振りに、仕事絡みで Ruby のコードを書く機会がやってきました。これまでにも仕事絡みで Ruby のコードを書いたことはあるのですが、要求開発のためのプロトタイプ (要求開発に於けるプロトタイピング) だったり、雑務のツールだったりで、余り厳密にテ…

インタプリタを模倣。

上のエントリで、 私は、結構、確認のためだけのコードを書くことが多いので、Makefile など用意せずに compile することが多いです。そのため、make コマンドだけでは物足りません。 などと書いていますが、実は、確認のためだけのコードの場合は、 #ifdef …

クロージャとブロック (追記)

今日になって、昨日の一連のエントリを読み直してみましたが、細かい話ですが注釈を入れさせて貰った方が良さそうな部分を発見してしまいました。それなりに推敲しているつもりですが、私が書く場合は、やはり少し寝かせてからでないとダメですね。昨日のエ…

ふう、疲れました。

ここまで色々とクロージャについての考察を行なって来て、識者の方々にもコメントを頂けましたし、それらを踏まえて一旦は整理しておかねば、と一気に書いてしまいましたが……「簡単にまとめてみました」とか書いてますがとんでもない、私としてはもうとんで…

クロージャとブロック (後編)

前編では、クロージャと、私なりにクロージャと区別している `ブロック' についての比較を、高階関数にブロックをそのまま渡す様なコードについて試みました。そこではクロージャとブロックに明確な差異はありませんでした。しかし、手続きを無名関数として…

クロージャとブロック (前編)

上のエントリでは、これまで考察してきたクロージャについての簡単なまとめを行ないました。そのエントリで最後に書いたブロックにも着目しながら、これまで考察してきたクロージャについて、コードを挙げて検証してみようと思います。さて、上のエントリで…

クロージャについて: 一旦、簡単にまとめてみます。

これまで考察してきたクロージャの件ですが、まだまだ頭の中では発散しているのですけど、一旦、簡単にまとめておきたいと思います。ただ書き散らかしているだけでは意味ない (いや、意味はあると思ってるんですけど。自己矛盾だ。) ですからね。Rui さん、s…

クロージャについて: コメントありがとうございます。

勝手にプレッシャーを感じながら、これまた勝手に識者の方々にコメントをお願いしていたところ、Rui さんに続いて shiro さんからもコメントを頂きました。私の発散した記事を読んで頂いた上で、非常に示唆に富んだコメントを頂きまして、本当にありがとうご…

トラックバックありがとうございます。

何と、結城さんからトラックバックを頂いてしまいました。 メモ。 id:tenyさんのクロージャについて少し考えてみました。 id:tenyさんのクロージャについてもう少し考えてみました。 ということなんですが、これはきっと、higepon さんと同じで、 [gauche][s…

クロージャについて、どんどん発散して行くなあ。

色々考えていることを整理してみたいと思ったのですが、意に反して、どんどん発散してしまいます。こんなときはまだ整理できる段階ではないということで、発散するままに書き連ねてしまうことにしてみました。先のエントリで少し触れましたが、私は、クロー…

クロージャについてもう少し考えてみました。

昨日のエントリに Rui さんからコメントを頂きました。ありがとうございます。 私もなんだか同じイメージを持ってます。静的スコープでオブジェクトの寿命が永遠(無限エクステント)というのがまず初めにあって、その結果クロージャがあるという印象。 私が漠…

クロージャについて少し考えてみました。

クロージャについて色々と考えてみました。以前にも書いたのですが、そもそも Gauche をインストールした目的の一つに、クロージャの動作をもっと理解したいという目的があったので。で、色々と shiro さんが公開されているドキュメントを読み返したり、Gauc…

多値関数の議論

■[雑記/備忘]なぜ、多値関数は人気がないのだろう 次々に興味深い話題が。もう本当に片付けなきゃならないことが山程あるだろうって。最初にこのエントリを読みながら思ったこととしては、 多値を返す事ができる言語としては、Perl, Ruby, Python があるか…

今度は抽象化とかそういうの

僕は、オブジェクトもthisもサッパリ理解できなかった という話になりました。 檜山さんのお書きになるエントリは面白くてためになる、そして凄く刺激される、いつも楽しみにしている、私のお気に入りです。 ;; でも圏論とかは難しくてダメなのでした。その…

プログラマの理解の基盤 (続き)

昨日のエントリで、檜山さんの問い掛けに反応してみたのですが、判ってはいましたが、読み返してみるとやはり中途半端ですね。特に後半の二点について。今日も同じなのかもしれませんが、少しだけ補足しておきたいと思います。 代入文の右と左で使える式の形…

プログラマの理解の基盤

■[雑記/備忘]「常識」というよりは「理解の基盤」と「説明の方法」 檜山さんのところで興味深い話が。昨日のエントリから続いている話ですが、昨日とは異なり、今日の話は読者への問い掛けになってます。昨日のエントリでは、檜山さんが書かれている `プロ…

C の文字列処理

現実逃避がまた。 ■[SWE]ありがちなバグ という記事で、 そのコードを見せてもらった。 static char hoge1[2] = "ER"; static char hoge2[6] = "000000"; で、hoge1 や hoge2 はあちこちで定数的に使われているそうだ。これじゃ期待通りに動くわけないよなぁ…

System.nanoTime() による高精度タイミングサポート。

その MM/Memo で書いたコメントに言及されたというのは、 ナノ秒の取得とナノ秒待機その弐 という keisuken さんのエントリでした。 ・ 719さんのメモ RSS - [Programming] [プログラミング] [Java] [ナノ秒] [nanoTime] 『[Java] ナノ秒の取得とナノ秒待機…