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

ガイ・スティールJrが Sun で開発中の新言語は Traits ベース

Derive Your Dreams 経由で。 http://research.sun.com/projects/plrg/fortress0866.pdf Traits are named program constructs that declare sets of methods. They were introduced in the Self programming language, and their semantic properties (and …

LISP の CAR と CDR、特に address と decrement の起源

http://www.iwriteiam.nl/HaCAR_CDR.html OK, so it's decrement. I have never encountered decrement used like this. What does it mean? id:babie:20060426:p9 を拝読していて、私も、「で、decrement って何よ?」と思ったのでググってみたところ、その…

インスタンス特異的メソッドを使ったフィボナッチ数列

id:rubyco:20060419:fib のコメント欄にある mobius さんによる、Ruby の特異メソッドを用いたコードが面白かったので、例によって意訳。 | fibonacci | fibonacci := #(1 1). fibonacci assureUniClass. " インスタンス特異的クラスの作成 " fibonacci clas…

f(f(x)) ==> -x な、実数を返す f を定義せよ…クイズ 3

趣を変えて、歪 の PostScript による変態的な手法と大枠で同じ方針による。 Number >> f | method nn | method := thisContext method. nn := method literals size. method literalAt: nn put: ( (method literalAt: nn) == #negated ifTrue: [#yourself] …

f(f(x)) ==> -x な、実数を返す f を定義せよ…クイズ 2

http://oss.timedia.co.jp/index.fcgi/kahua-web/show/ossz/oneline/2006-04-18 id:sumim:20060418:p1 の続き。nobsun の Haskell による解答を意訳で。 | ff | ff := [:real | real abs caseOf: { [0] -> [real]. [1] -> [real sign * Float infinity]. [Fl…

f(f(x)) ==> -x な、実数を返す f を定義せよ…クイズ

http://oss.timedia.co.jp/index.fcgi/kahua-web/show/ossz/oneline/2006-04-17 | ff | ff := [:xx | xx * 1 i]. ^ #(0.2 -0.2 1.2 -1.2) collect: [:rr | (ff value: (ff value: rr)) real]=> #(-0.2 0.2 -1.2 1.2) 実数を返す関数だからこれじゃダメか…。…

call/cc を使ったコルーチンもどきでフィボナッチ数列

ちまたでは、なにやらフィボナッチ数列が流行っているようなのですが、フィボナッチ数列といえば、以前、Lua について触れたときに、資料で見かけたコルーチンを使ったフィボナッチ数列が印象深かったのに、まだそれを Squeak の Smalltalk で書いていなかっ…

○3つ、△2つ、×1つの目を持つサイコロ2個を振ったときに出る目の組み合わせで一番多いのは…ふんがっ

http://blogs.yahoo.co.jp/takutakutakutaku50/28887753.html 遅レス。 経由で。リンク先の ささださんの inject、sort_by を使った版を直訳ぎみに Squeak の Smalltalk で。 | ss | ((ss := #(○ ○ ○ △ △ ×)) inject: Dictionary new into: [:result :aa | s…

AA 折れ線グラフクイズ 9

id:sumim:20060408:p1 で書き直した Squeak の Smalltalk 版 および Ruby 版を、Gauche(Scheme)を用いた毎度お馴染みの直訳ぎみ+妙な回避策で。 私自身に Scheme 力が足りないのと、push! 、pop! を無理に使ったためか、こんなんなってしまいました。ごめ…

AA 折れ線グラフクイズ 8

http://oss.timedia.co.jp/index.fcgi/kahua-web/show/ossz/oneline/2006-03-14http://oss.timedia.co.jp/index.fcgi/kahua-web/show/ossz/oneline/2006-03-15オーソドックスな解答例(座標をキーにした連想配列に入れておき、あとでスキャン…)はこちら。 i…

AA 折れ線グラフクイズ 7

いろいろな言語の解答を拝見。 辞書(連想配列)に入れておいて、あとでスキャンする…という、シンプルかつオーソドックスな方法の存在に気づきませなんだ…。orz | series data yy yys | series := 'RCRFCRFFCCRFFRRCRRCCFRFRFF'. data := Dictionary new. y…

AA 折れ線グラフクイズ 6

id:sumim:20060406:p5 からの続き。hirofummy さんの Haskell 版を Squeak の Smalltalk で書き直した最後の版を、こんどは Ruby で直訳気味に。 これを Ruby らしく書き直すのに必要な Ruby 力は、恥ずかしながら私には備わっていません。w #!/usr/local/b…

AA 折れ線グラフクイズ 5

hirofummy さんの Haskell 版を直訳気味に。なお、Squeak の Smalltalk では、ブロックを再帰できるようにするために ClosureCompiler を必要とします。ClosureCompiler のインストール方法については、id:sumim:20060210:p1 などを参考にしてください。 | b…

AA 折れ線グラフクイズ 4

BiGram で隣接する二文字を抽出する際に用いるのと同じ機構を使った版 | series dict size stream newline lines yy up down | series := 'RCRFCRFFCCRFFRRCRRCCFRFRFF'. dict := {$R -> $/. $F -> $\. $C -> $_} as: Dictionary. size := series size. stre…

AA 折れ線グラフクイズ 3

Shiro さんの Scheme(Gauche)版 (2006/03/14 21:31:12 PST) を直訳気味に(意訳もしまくり)。 | graph | graph := [:input | | input2plist plist drawrow yy | input2plist := [:in | | r0 | r0 := OrderedCollection new. in inject: 1 into: [:y0 :cmd…

AA 折れ線グラフクイズ 2

歪 で die さんが書いておられる PostScript(GhostScript)版を直訳気味に(一部、意訳ありw)。 | グラフ | グラフ := [:入力文字列 | | 列数 行 現在行 変換テーブル 空白行 行移動 現在列 記号 情報 | 列数 := 入力文字列 size. 行 := OrderedCollectio…

AA 折れ線グラフクイズ

http://oss.timedia.co.jp/index.fcgi/kahua-web/show/ossz/oneline/2006-03-14http://oss.timedia.co.jp/index.fcgi/kahua-web/show/ossz/oneline/2006-03-15 歪 経由で。 an Array2D にマップされた平面へ1文字ずつプロットする版 | series value min max…