Rubyコミッターが語る Ruby2.4にてFixnumとBignumをIntergerに統合する話 #RubyKaigi #RubyKaigiA
Unifying Fixnum and Bignum into Integer
@tanaka_akr
http://rubykaigi.org/2016/presentations/tanaka_akr.html
"Ruby has three classes to represent integers: Fixnum, Bignum and Integer.
Integer is the abstract super class of Fixnum and Bignum.
続きを読む
joker1007 (アルフォートおじさん)
@joker1007
必要の無いところでクラスへの参照を変にDSLに使うべきではないな。 #rubykaigiA #rubykaigi
2016-09-08 16:49:32
WAKASUGI 5T111111
@5t111111
抽象クラス -> 具象クラスの変更だと確かに prepend の件みたいなのはどっかで踏みそう #rubykaigi #rubykaigiA
2016-09-08 16:49:59
黒曜@Leaner Technologies
@kokuyouwind
CレベルではIntegerに統一する利点は特にない。Cレベルのデータ構造としては依存として残る。内部的には、最下位ビットをFixNumかBigNumかの区別に使っていた。これと符号ビットで2ビット減ったのがFixNumの上限値だった #rubykaigi #rubykaigiA
2016-09-08 16:52:39
Toshio Maki
@Kirika_K2
実装面ではあまり影響なさそうだが、自分の仕事の中で大幅に影響のあるケースがあることに気づいてしまった。 #rubykaigiA
2016-09-08 16:54:26
黒曜@Leaner Technologies
@kokuyouwind
実装どうするのか興味あるところだったけど結構素直だった。そして実装ガイドみたいな雰囲気になってきたけど、extension libraryがCレベルで実装書いてるから対応必要なのか、なるほど。 #rubykaigi #rubykaigiA
2016-09-08 16:55:35
みよひで画伯
@miyohide
akr「どうしてもRuby 2.3と2.4でFixnum/Bignumの区別がしたいという場合はRUBY_INTEGER_UNIFICATION マクロを用意したので、それを使ってください。」#rubykaigiA #rubykaigi
2016-09-08 16:56:07
joker1007 (アルフォートおじさん)
@joker1007
仕方ないのでforkしてgemspecを書き換える仕事が待ってるぞ、という奴だ。 #rubykaigiA
2016-09-08 16:57:22