kiyokaのブログアーカイブ

Archive of old blog posts

Nendo 0.5.3 リリース

[Nendo] 0.5.3をリリースしました。(リリースノート: [Nendo.ReleaseNote]) img

リリースの目玉

高階関数の第二引数にEnumerable型を渡せるようになりました。(但し、map filter for-eachのみ) これにより、巨大なIOに対する逐次処理をfor-eachで書けるようになったり、list型だけでなくvector型に対して高階関数を適用できるようになります。 エラーが発生した時、正確な行番号がバックトレースに出るようになりました。 これまでは実行速度を優先して、バックトレース用の情報をあまり格納していませんでした。(未定義変数のエラー時は正確でした)

以下リリースノートです。

version 0.5.3

  • map filter for-each の第二引数に RubyのEnumerable型を渡せるようにした。 例)
    nendo> (map (lambda (x) (+ x 1)) '#( 10 20 30 ))
    #(11 21 31)
    nendo> (define f (.open "VERSION.yml"))
    #<File:0x84b74d8>
    nendo> (map (lambda (x) (+ "# " (x.chomp))) f)
    #("# ---" "# :major: 0" "# :minor: 5" "# :patch: 3")
    
  • 例外が発生したソースファイルと行番号が正確にbacktrace表示されるようにした。 但し、0.5.2から実行速度が後退した(約1/2程度)
  • 以下のバグを修正した。 – 引数ゼロの関数に、1つ以上の引数を渡した時、Nendo::Nilが引数に渡される。 ArgumentError例外で引数の指定個数に謝りがあることを通知するようにした。 – JRuby1.6.xで通らないいくつかのテストケースを修正した。

次の目標

前回と変わらず、例外処理まわりを何とかしたいです。 (参考:2011-07-30Nendo* Nendo 0.5.2 リリース)