2009-04-01から1ヶ月間の記事一覧

キーワードメッセージを括弧付きに

SmallTalk R4.1のつくりかた。ロングバージョン キーワードメッセージを括弧付きに、というネタも '12345' copyReplaceAll: '123' with: 'ABC' '12345' copyReplaceAll('123', 'ABC') http://www.smalltalk-users.jp/Home/gao-zhi/dai8kaismalltalkbenkyouka…

引数名と同じスロットを用意するコンストラクタ

関数の引数名と同じスロットを挿入するinitメソッドを作ってみた。 Function.prototype.init = function(obj,arg){ var slot = this.toString().match(/\(([^)]*)/)[1].split(/, /); for(var i=0;i

Britain's Got Talent

スーザン・ボイル - Wikipedia 2009年4月11日、イギリスのオーディション番組「Britains Got Talent」第3シーズンの初回に出場 この番組の模様がYouTubeなどの動画配信サイトに転載されると、1週間で4300万回を超える視聴回数を記録し、海外からも注目された…

Functionコンストラクタの遅さ

関数式と関数宣言で定義された関数は一度しか解析されませんが、Function コンストラクタで定義された関数はそうではありません。 つまり、Function コンストラクタに渡された関数本体を表す文字列が、評価されるたびに必ず解析されます。 関数式は毎回クロ…

引数なしの関数呼び出しと変数参照

JavaScript Scheme Haskell Ruby 2引数 f(x,y) (f x y) f x y f x,y 1引数 f(x) (f x) f x f x 0引数 f() (f) なし f 関数本体 f f f Kernel.method(:f) JavaScriptは後ろに括弧があるかで区別する。 Schemeは括弧でくくられているかで区別する。 Haskellに…

UTF-16にあってUCS-2にないもの

110110xx yyyyyyyy U+D800〜U+DBFF サロゲートペア上位 110111xx yyyyyyyy U+DC00〜U+DFFF サロゲートペア下位 11111110 11111111 U+FEFF バイト順マーク (BOM) なお、U+FFFEはBOM誤判定用に予約されており、UTF-16でも定義されない。

Gofer

Gofer Haskellの教育的バージョン。 GoferはMark Jonesにより開発された。これはHugsに取って代わられた。 http://ja.wikipedia.org/wiki/Haskell 単なる教育用の簡易版かと思っていたら、かなり先進的なプロジェクトだったんじゃないか。 HugsのgもGoferのg…

SmallTalk R4.1

東京のSmalltalk勉強会では、VisualWorksとSqueakの両方を対象に進めているのですが、どうにも微妙な違いが多く、学習の妨げとなっていました。 もっと誰もが簡単に使える、パワフルな処理系はないものか、と思っていたところ、SmallTalk R4.1なるものが存在…