2007-11-01から1ヶ月間の記事一覧

RushCheckにモナドをみた

coarbitaryって何やってるんだろうということを理解するためにinteger.rbのInteger#coarbitaryを見てみました。 無断引用です。まずかったら教えてください。 # this method is needed to use Coarbitrary. def coarbitrary(g) m = (self >= 0) ? 2 * self :…

ランダムテストについて

ランダムテストについていろいろ調査するにあたって、出来るかどうかは別として考えをまとめます。ランダムテストというのはやったことがないのですが、使用する乱数は一様分布じゃなくてある程度分布が制御できるといいのではないかなと思います。例えば、p…

RushCheckを調べてみた

まず始めに、RushCheckすげーーーーー!!! やりたいことはほとんどRushCheckとそのカスタマイズで出来そうです。ただし、調べたいのはRubyのプログラムじゃなくて、Rubyそのものなのでプロセス間通信するなどの工夫が必要そうです。使い方の概要はtakkan_m…

poor man’s rubyの状況とランダムテスト

poor man's rubyはFIXNUMに泣いてもらってFloat(単精度になります)をポインタ領域に押し込むことでFloatを高速化するというruby 1.9.0のパッチです。今のところ、結構動くようになってobject_idも対応できているようです。それでも、minilight(http://www.hx…

デバッガのソースコード

とりあえず、デバッガのソースコードを掲載します。instruction.rb # # instruction.rb - structured bytecode library # module VMLib class InstSeqTree Headers = %w(magic major_version minor_version format_type misc name filename type locals args…

開発日記を始めることにしました

miuraと申します。いろいろなプログラムを書いています。このブログではプログラムの開発の話を書こうと思っています。今、作っているプログラムは ruby 1.9.0のVM:InstructionSequenceを使ったバイトコードパッチ式のデバッガ ruby 1.9のFloatをVALUEに埋め…