20歳の誕生日&&バージョン2.0おめでとうざいます。

早速llevalでも対応しました。

例はほぼそのままRubyist Magazine - 無限リストを map 可能にする Enumerable#lazyから持ってきたものです。ほぼな理由は元記事のコードは lazy なだけでなく buggy だから。どこが buggy だったのかは同記事をご確認下さい。

以下、LLEvalで動かすようにするにあたってのメモ。

  • configureの指定は--prefix=--disable-dtraceのみ。DtraceはLLEvalと相性が悪くて…LLEvalもDtraceベースで作り直したいところでもあるけど…
  • crubyってなんでただ起動するだけでもSIGSEGVをsigprocmaskしようとするんだろ。あとスタック領域にmmapするのもいかがなもんかと…総じて他の言語実装より砂場でのお行儀がやんちゃな感じ…

無限リストとか、懐かしいですねえ…

Enjoy!

Dan the Occasional Rubyist with too Many Version to Harness