Index

Show enters and exits. Hide enters and exits.

00:00:18drbrainis there a file I missed?
00:00:26evanmust be.
00:00:27evanone sec.
00:01:18evanug.
00:01:24evantypechecks.gen.cpp is nearly empty.
00:01:26evanthats whats up.
00:03:39edwardam leaves the room.
00:03:47CIA-30* Update for unified Rakefile; e55598b - Eric Hodel
00:05:27drbrainyup
00:05:37drbrainit doesn't have anything from vm/objects.hpp
00:05:47evanright
00:05:49evanbecause you're scan is wrong
00:05:53evani'm fixing that now.
00:05:56drbrainyeah
00:05:59drbrainok
00:08:42rubuildius_amd64Christopher Thompson: c703e87ce; 2629 files, 8609 examples, 28695 expectations, 0 failures, 0 errors
00:12:13drbrainwhy are we looking on objects.hpp there anyhow?
00:12:31drbrainwhy not just Dir['vm/builtin_*.hpp'] ?
00:12:40evanbecause the order matters
00:12:46evanand objects.hpp has them in the right order
00:13:14CIA-30* Use correct list to field_extract; a38df9f - Evan Phoenix
00:13:24evanthere ya go.
00:13:28evanback to normal.
00:13:36drbrainyay!
00:13:48drbrainhow can I get your attention better next time?
00:15:20evancall me.
00:15:23evanon the telephone.
00:15:31evanon ichat video.
00:15:34evanor email.
00:15:56evanor ichat video, rather.
00:16:13drbrainon, or, both work
00:16:20drbrainok, bbiab
00:16:24evank
00:16:25drbrainwalking towards home
00:16:29evank
00:17:43fbuilesv leaves the room.
00:17:44botanicus enters the room.
00:21:21zimbatm enters the room.
00:21:52blakewatters enters the room.
00:29:40zimbatm-work2 leaves the room.
00:31:25nari leaves the room.
00:32:41djwhittbrixen: thanks for fixing up the bot. I pulled your changes too
00:32:48CIA-30* Fix using strlcpy and strlcat, respect CC; 3197850 - Evan Phoenix
00:32:56evanok, C++ works on linux now.
00:33:11vincentlu leaves the room.
00:33:14vincentlu enters the room.
00:33:18evanthough, gcc-4.3 seems to have introduce all kinds of new warnings and errors
00:33:21botanicus leaves the room.
00:33:23evanso you have to use gcc-4.2
00:34:55aotearoa enters the room.
00:39:50rue leaves the room.
00:40:18shoe leaves the room.
00:42:01dysinger leaves the room.
00:43:46brixendjwhitt: cool
00:44:35joachimm leaves the room.
00:47:04shoe enters the room.
00:56:57nari enters the room.
00:57:41ezmobius leaves the room.
01:02:20nari leaves the room.
01:02:34nari enters the room.
01:02:47imajes_ leaves the room.
01:03:35imajes_ enters the room.
01:10:39rubuildius_amd64 leaves the room.
01:11:01rubuildius_ey64 leaves the room.
01:11:35rubuildius_ey64 enters the room.
01:11:42rubuildius_amd64 enters the room.
01:26:22kevwil enters the room.
01:27:08shame leaves the room.
01:27:59kevwil leaves the room.
01:32:01shame enters the room.
01:32:17jicksta leaves the room.
01:40:05twbray leaves the room.
01:44:11c0sin leaves the room.
01:50:00drbrainthere still seem to be some dependencies missing
01:53:54dfg59 leaves the room.
01:54:10blakewatters leaves the room.
01:54:51jbarnette leaves the room.
01:56:57fbuilesv enters the room.
02:03:56lstoll leaves the room.
02:08:11hemulen enters the room.
02:17:15CIA-30* Add task to create a graph of rake dependencies.; 58a47f9 - Eric Hodel
02:19:55drbrain^^ that is super sweet
02:20:00drbrainespecially in LR mode
02:20:16drbraincmd-I, scroll to rankdir in GraphVis
02:20:20drbrainGraphViz
02:20:33drbrainrake "graph[^doc|^stats]" && open rubinius_tasks.dot
02:20:37drbrainis what I'm running
02:21:49ijcd_ leaves the room.
02:22:58evanoh let me try
02:23:05drbrainneeds a filter arg too
02:23:47evanwhats the [] craziness?
02:23:56evanis that how you pass args to tasks?
02:24:01drbrainyes
02:24:13drbrainhttp://rubyforge.org/pipermail/rake-devel/2007-December/000352.html
02:24:38drbrainstats adds a ton of tasks
02:25:04VVSiz_ enters the room.
02:26:58imajes_ leaves the room.
02:27:21jtoy enters the room.
02:27:21drbrainI think there's a way to tell Graph to set rankdir
02:27:26drbrainbut, I'm off to practice now
02:28:42evanok
02:30:07josb leaves the room.
02:35:48blakewatters enters the room.
02:36:04brixenevan: how did you set up the CIA bot?
02:36:20evanregistered at cia.vc
02:36:26evanthen turned the hook on it github
02:36:32brixenah ok, thanks
02:36:42evanbe sure that you register the project as the name it is in github though
02:36:52evansince there is no way to set the name thats set to CIA
02:37:01brixenok
02:37:22evanif you want the same format i'm using, i'll give it to ya
02:40:12brixenyes, please
02:42:01evanhttp://gist.github.com/3379
02:42:05VVSiz leaves the room.
02:42:11evandrop that in the advanced filtering
02:45:21brixenthanks!
02:46:03bitsweat leaves the room.
02:47:40hemulen leaves the room.
02:48:28jazen leaves the room.
02:51:16brixenevan: can I add multiple projects to this filter?
02:51:24brixene.g. both rubyspec and mspec
02:56:26brixenI think I got it
03:01:33zimbatm-work2 enters the room.
03:02:38brixenevan: want to add rubyspec commit to the cia bot here?
03:09:46zimbatm leaves the room.
03:09:54lstoll enters the room.
03:15:50Defilerbrixen: I think that would be a little too noisy, but that's just my opinion
03:17:38jicksta enters the room.
03:27:22lchin enters the room.
03:30:24twbray enters the room.
03:33:06lopex leaves the room.
03:33:45jackdempsey leaves the room.
03:37:20jackdempsey enters the room.
03:38:57lstoll_ enters the room.
03:46:15trythil enters the room.
03:47:42lstoll leaves the room.
03:50:00lstoll enters the room.
03:57:08shayarnett enters the room.
03:59:26trythil leaves the room.
03:59:58lstoll_ leaves the room.
04:01:44blakewatters leaves the room.
04:04:33lstoll_ enters the room.
04:05:45dfg59 enters the room.
04:06:14Yurik enters the room.
04:13:08lstoll leaves the room.
04:15:36lstoll enters the room.
04:24:11benburkert_ leaves the room.
04:25:41lstoll_ leaves the room.
04:35:35josb enters the room.
04:43:05benburkert enters the room.
04:58:50blakewatters enters the room.
05:05:19gnufied leaves the room.
05:05:49gnufied enters the room.
05:20:58shayarnett leaves the room.
05:27:13crafterm enters the room.
05:39:50wmoxam enters the room.
05:41:08nicksieger leaves the room.
05:41:45zimbatm enters the room.
05:51:05nicksieger enters the room.
05:53:21zimbatm-work2 leaves the room.
06:01:11twbray leaves the room.
06:02:00qrush leaves the room.
06:02:36headius enters the room.
06:02:54qrush enters the room.
06:03:29qrush leaves the room.
06:04:00lstoll leaves the room.
06:07:00dfg59 leaves the room.
06:08:13mutle__ leaves the room.
06:18:04mutle enters the room.
06:24:38atmos leaves the room.
06:33:01twbray enters the room.
06:36:39josb leaves the room.
06:37:51wyhaines_ leaves the room.
06:39:07headiusevan: wmeissner brought up a down side of extend FFI
06:39:27headiusit makes other stuff in FFI be at that level too, like FFI::Struct and other more "utility" methods
06:42:05yroc enters the room.
06:46:11evanheadius: true
06:46:27headiushe suggested something like FFI::Library
06:47:11evansure
06:47:22evantotally resonable
06:47:25evanand easier
06:48:07headiusyeah, we can keep the bits separate we want to be exposed within modules then
06:48:12evanyep
07:08:48jgre leaves the room.
07:08:57joachimm enters the room.
07:15:56lchin leaves the room.
07:16:53lchin enters the room.
07:18:28sudoer enters the room.
07:24:03jgre enters the room.
07:24:13gnufied leaves the room.
07:26:53jackdempsey leaves the room.
07:27:45jtoy leaves the room.
07:28:11inspired_ leaves the room.
07:33:00crafterm leaves the room.
07:40:38nicksieger leaves the room.
07:46:35twbray_ enters the room.
07:48:09benburkert leaves the room.
07:52:50jackdempsey enters the room.
08:01:47jackdempsey leaves the room.
08:02:07twbray leaves the room.
08:05:18twbray_ leaves the room.
08:05:49joachimm leaves the room.
08:06:37twbray enters the room.
08:18:13inspired enters the room.
08:21:57zimbatm-work2 enters the room.
08:24:51twbray leaves the room.
08:26:51mutle leaves the room.
08:26:51blakewatters leaves the room.
08:26:51nari leaves the room.
08:26:51zf leaves the room.
08:26:51rudebwoy_ leaves the room.
08:26:51ko1_away leaves the room.
08:26:51fearoffish leaves the room.
08:28:55mutle enters the room.
08:28:55blakewatters enters the room.
08:28:55nari enters the room.
08:28:55rudebwoy_ enters the room.
08:28:55ko1_away enters the room.
08:28:55fearoffish enters the room.
08:28:55zf enters the room.
08:30:52zimbatm leaves the room.
08:37:06Maledictus enters the room.
08:39:59octopod enters the room.
08:49:38sambo82 leaves the room.
08:51:34wvdschel enters the room.
08:56:35lstoll enters the room.
08:56:44lstoll leaves the room.
09:00:54blakewatters leaves the room.
09:07:41sambo82 enters the room.
09:20:29headius leaves the room.
09:25:18rue enters the room.
09:26:09gnufied enters the room.
09:31:20aotearoa leaves the room.
09:31:35Yurik leaves the room.
09:45:47pauldix enters the room.
10:03:28jazen enters the room.
10:03:33michalw enters the room.
10:24:11nitay enters the room.
10:25:23radarek enters the room.
10:25:48nitay leaves the room.
10:51:29fbuilesv_ enters the room.
10:56:32aotearoa enters the room.
10:58:48botanicus enters the room.
11:01:21benny leaves the room.
11:02:09zimbatm enters the room.
11:08:33fbuilesv leaves the room.
11:12:35zimbatm-work2 leaves the room.
11:16:37chris2 enters the room.
11:17:47pauldix leaves the room.
11:18:26sudoer leaves the room.
11:24:58mutle_ enters the room.
11:30:11rubuildius_ey64 leaves the room.
11:30:45rubuildius_ey64 enters the room.
11:40:02mutle leaves the room.
11:43:08thehcdreamer enters the room.
11:44:16thehcdreamer leaves the room.
11:47:21nari leaves the room.
12:00:41rubuildius_amd64 leaves the room.
12:01:01rubuildius_ey64 leaves the room.
12:01:33rubuildius_ey64 enters the room.
12:01:44rubuildius_amd64 enters the room.
12:12:55pauldix enters the room.
12:14:20yugui enters the room.
12:25:53aotearoa leaves the room.
12:27:03nari enters the room.
12:28:12qrush enters the room.
12:42:20botanicus_ enters the room.
12:44:23benburkert enters the room.
12:44:39aotearoa enters the room.
12:46:05botanicus_ leaves the room.
12:55:50lchin leaves the room.
12:56:18yasuhito enters the room.
13:00:04botanicus leaves the room.
13:00:44sambo82 leaves the room.
13:01:44michalw leaves the room.
13:17:59lchin enters the room.
13:20:49lchin leaves the room.
13:25:48benburkert leaves the room.
13:27:33qrush leaves the room.
13:36:10zimbatm leaves the room.
13:36:18hemulen enters the room.
13:38:17wyhaines_ enters the room.
13:41:19BobFunk enters the room.
13:43:22zimbatm enters the room.
13:44:40benny enters the room.
13:45:00aotearoa leaves the room.
13:47:34AndrewO enters the room.
14:00:41rubuildius_amd64 leaves the room.
14:01:02rubuildius_ey64 leaves the room.
14:01:35rubuildius_ey64 enters the room.
14:01:44rubuildius_amd64 enters the room.
14:06:33benburkert enters the room.
14:09:45benburkert leaves the room.
14:13:12michalw enters the room.
14:13:29benburkert enters the room.
14:15:31botanicus enters the room.
14:31:51rue leaves the room.
14:33:04shayarnett enters the room.
14:38:03jackdempsey enters the room.
14:46:08binary42 leaves the room.
14:50:07fbuilesv enters the room.
14:53:04BobFunk leaves the room.
14:55:42rubuildius_amd64 leaves the room.
14:56:01rubuildius_ey64 leaves the room.
14:56:37rubuildius_ey64 enters the room.
14:56:38moofbong enters the room.
14:56:44rubuildius_amd64 enters the room.
14:57:53chris2 leaves the room.
15:03:31inspired leaves the room.
15:07:29jackdempsey leaves the room.
15:08:20fbuilesv_ leaves the room.
15:12:31imajes_ enters the room.
15:14:32DefilerHrm.. do we still need Object#become! ?
15:14:49DefilerWe don't seem to use it.. but presumably it is there for end-users
15:14:59jackdempsey enters the room.
15:15:00DefilerScary, evil end users
15:20:05imajes leaves the room.
15:23:31imajes enters the room.
15:26:19methods enters the room.
15:26:38methodsis rubinius going to be compatible with existing ruby modules /
15:27:11binary42 enters the room.
15:27:24dbussinkthat's our goal
15:27:37methodshow's that work ?
15:30:05imajes_ leaves the room.
15:30:07yroc leaves the room.
15:30:11dbussinkdo you have failing ruby code?
15:30:31dbussinkif you can isolate the problem and file a bug report, that would be very cool
15:30:46dbussinkand if you can write a rubyspec for it, that's even cooler
15:33:18Defilermethods: We are aiming for 100% ruby 1.8 compatibility, currently 1.8.6
15:36:11twbray enters the room.
15:38:56TheProkrammer leaves the room.
15:41:33wyhaines_ leaves the room.
15:42:04TheProkrammer enters the room.
15:43:19rue enters the room.
15:43:43BobFunk enters the room.
15:44:40rueMorning
15:46:02Defilerrue: So.. I need to include grammar.h into 'VM' so that I can do the 'string_to_sexp' primitive
15:46:11DefilerGot an opinion about where that should go?
15:47:43jackdempsey leaves the room.
15:50:27rueDefiler: environment or compiled_file would be logic-flow-wise good places, but ultimately it should be exposed as narrowly as possible
15:50:54rueWe just need syd_parse_file (or something to that effect) right?
15:59:23DefilerLooks like it, yeah. Probably two functions need to be exposed
15:59:44DefilerOne of which returns an Array.. so I guess we will need to make sure it is creating the correct C++-compatible doodad
15:59:55BobFunk leaves the room.
16:00:18BobFunk enters the room.
16:07:04yasuhito leaves the room.
16:08:08nari leaves the room.
16:08:13nari_ enters the room.
16:13:50yroc enters the room.
16:15:41yasuhito enters the room.
16:15:55rueApple mouse optics _suck_
16:16:29rueMy $9 logictech optical reads this desk fine (granted it is pure white laminate) but the Apple mouse does not move at all
16:20:32wmoxam_ enters the room.
16:24:24zimbatm-work2 enters the room.
16:27:50yasuhito leaves the room.
16:35:03zimbatm leaves the room.
16:41:43moofbong leaves the room.
16:42:10moofbong enters the room.
16:47:36twbray leaves the room.
16:48:54jgre leaves the room.
16:49:47blakewatters enters the room.
16:50:09wvdschel leaves the room.
16:52:01yroc leaves the room.
16:52:05bricolage enters the room.
16:52:06nicksieger enters the room.
16:53:15lopex enters the room.
17:01:30Defilerrue: Do you know how to breakpoint (in gdb) on a C++ test?
17:01:52brixenDefiler: I br on the method it will call
17:02:03brixenthe test function symbol should be available
17:02:05brixenI'd think
17:02:11DefilerIt isn't
17:02:18DefilerAt least not in gdb vm/test/runner
17:02:35brixennot even br on the file line #?
17:02:36DefilerAlso, the function it calls is 'at', and breakpointing that would be horrible
17:02:41DefilerRight.
17:02:43brixencompile test/runner
17:02:45DefilerBecause the tests are in hpp files
17:05:12KiranH enters the room.
17:05:22banisterfiend enters the room.
17:05:36banisterfiendhey guys how do i convert a c double to a ruby Num ?
17:05:53banisterfiendthere is a NUM2DBL function, but i can't see a DBL2NUM
17:06:22kotrin enters the room.
17:07:29Defilerbanisterfiend: You should just be able to cast a double as a native_int
17:07:30brixenbanisterfiend: you'll need to make a macro
17:07:43brixenbanisterfiend: see e.g. shotgun/lib/bignum_from_double
17:08:01banisterfiendsorry what's shotgun brixen?
17:08:04brixenwhich will normalize to fa fixnum
17:08:11brixens/fa/a/
17:08:11Defilershotgun/lib/bignum.c line 693
17:08:20atmos enters the room.
17:08:23brixenheh, er yeah
17:08:28banisterfiendwhat is shotgun?
17:08:32DefilerA directory
17:08:35banisterfiendwhere is it?
17:08:40DefilerIn the root of the rubinius checkout
17:08:43banisterfiendi dont have rubinius
17:08:45banisterfiendhehehe
17:08:49banisterfiendi was just told to come here to ask the question
17:08:52banisterfiendbecause noone in #ruby knows
17:08:54DefilerOh haha
17:08:56banisterfiendim just making a c extension
17:09:21banisterfiendjust you guys are supposed to know about c extensions and all that i take it
17:09:34nexcastellanNo, we know about Rubinius.
17:09:35DefilerIsn't there a DBL2NUM?
17:09:39banisterfiendjust seems weird to me that there's a NUM2DBL function but know DBL2NUM
17:09:40banisterfiendno there isn't
17:09:53Defiler"There are also NUM2LONG, LONG2NUM, NUM2ULONG, ULONG2NUM and NUM2DBL, DBL2NUM macros for dealing with long integers and double precision floating point numbers, that work in the exact same way. Note that there are no UDBL variations."
17:10:02brixenDefiler: setting br test_dir.hpp:30 worked like a charm for me
17:10:12brixenDefiler: just need to invoke as gdb vm/test/runner
17:10:17banisterfiendDefiler: i tried DB2NUM and it says it cant recognize the symbol
17:10:20brixencan't do test/runner anymore
17:10:23Defilerbrixen: That's exactly what I did. Odd.
17:11:15brixenbanisterfiend: DB2NUM or DBL2NUM?
17:11:15banisterfiendDefiler: i just grepped ruby.h and DBL2NUM does not exist, but NUM2DBL does!?!
17:11:37Defilerbrixen: http://gist.github.com/3469
17:12:17banisterfiendDBL2NUM
17:12:24brixenbanisterfiend: I'm not finding it either
17:12:24banisterfiend(sorry typo here, but not a typo when i grepped)
17:12:30brixenyeah
17:12:33DefilerYeah, same here. Odd.
17:12:43DefilerI guess you will need to write your own, based on the others. Should be pretty easy
17:13:11DefilerMRI provides rb_dbl2big in bignum.c at least
17:13:16banisterfiendok what file do you think that function is defined in?
17:13:16DefilerSo you can call that
17:13:18banisterfiendruby.c ?
17:13:25DefilerIf it can fit in a fixnum, it will normalize
17:13:26brixenDefiler: that is really odd: com
17:13:29brixencam
17:13:31brixenugh
17:13:31nexcastellanYeah, rb_float_new, perhaps?
17:13:38brixenDefiler: http://gist.github.com/3470
17:13:48Defilerhttp://www.ruby-doc.org/doxygen/1.8.4/group__ruby__big.html#ga16
17:14:02jbarnette enters the room.
17:14:13Defilerbrixen: Can you try it on test_instructions?
17:14:20Defilerbrixen: Maybe there is something odd about that file in particular
17:14:42Defilerhuh. I guess that same error on test_dir.hpp:30
17:14:51DefilerAre you doing something special in the build?
17:15:27dfg59 enters the room.
17:15:38yugui leaves the room.
17:15:47Defilertest_send_stack_with_splat() is what I am trying to deubg
17:15:48Defilerdebug
17:15:51brixennope, but I get your error with test_instructions.hpp
17:15:56brixenyeah
17:16:01brixenthat file is funky somehow
17:16:11Defilergah
17:16:22DefilerI hate this C++ test library
17:16:23DefilerSo hard
17:16:37banisterfienddo you guys recommend using ruby 1.9? or is it still a bit weird?
17:16:48evangood morning.
17:16:57nexcastellanWe personally are targeting Rubinius as 1.8.6 compatible at the moment.
17:17:15nexcastellanAs to whether you should target your extension to 1.8.6 or 1.9, that's really not something we can answer for you.
17:17:27Defilerbanisterfiend: 1.9 is crazy
17:17:30nexcastellanMy limited experience shows that 1.9 is a bit unstable at the moment, as is 1.8.7.
17:17:31CIA-30* Add 'id', 'dup', 'tainted?', 'taint', and 'untaint' primitives to Object; 709aa5d - Wilson Bilkovich
17:18:03banisterfiendDefiler: how is it crazy?
17:18:05Defilerevan: Is there a way to get a breakpoint on a particular test in test_foo.hpp?
17:18:21chris2 enters the room.
17:18:22Defilerevan: http://gist.github.com/3469
17:18:23evansure.
17:18:35gnufied leaves the room.
17:18:38evandon't do it by file:line
17:18:40evando
17:18:46evanb TestBlah::test_whatever
17:19:28brixenhah, yeah that works like a charm
17:19:35brixendamn C++ classes :P
17:19:38evanif you want to stop in an instruction test
17:19:45Defileroh hell yeah
17:19:49evanyou have to specify where it is in instructions.rb
17:20:01brixenyeah, I noticed the #line annotation
17:20:02Defileraah, OK.. hence the #line
17:20:05evanyep
17:20:13evanlargely though
17:20:22evansetting the breakpoint on the test name itself is always easier
17:20:30Defilerevan: talk to me about FASTCTX in the new VM
17:20:49evanthere isn't one.
17:21:27evanyou just reference stuff inside a MethodContext* object directly
17:21:59joachimm enters the room.
17:23:13DefilerWhat should I do about the primitives related to that in shotgun?
17:23:17DefilerKeep the names as they are for now?
17:23:28evanwhich names?
17:23:35evanthe names of the primitive can stay the same
17:23:45evanyou'll need to rewrite the interior of the primitive
17:23:59Defilerfastctx_dup, fastctx_get_field, etc
17:24:03banisterfiendis rubinius like smalltalk
17:24:22evanbanisterfiend: it's organized vaguely like some smalltalk VMs
17:24:25evanif thats what you mean
17:24:28evanDefiler: hm.
17:24:28banisterfiendyes
17:24:31banisterfiendthat's what i mean evan
17:24:33banisterfiendthx
17:24:35evanDefiler: go ahead and write new ones
17:24:43banisterfiendi read an article "turtles all the way down"
17:24:44evanDefiler: just start over, new name, new body.
17:24:48DefilerOK
17:24:50banisterfienddoes rubinius have turtles all the way down evan?
17:25:05evanbanisterfiend: it tries to
17:25:11evanbut we have a VM thats not written in ruby
17:25:15banisterfiendoh ok
17:25:29Defilerevan: given.. $4 = (OBJECT) 0x181fec4
17:25:35evanbut nearly all of the core functionality is in ruby
17:25:42Defiler'as' isn't in scope in gdb for some reason
17:25:50evanDefiler: no, it's not.
17:25:51DefilerHow can I view that as the correct type?
17:25:53evanwhat are you trying to do?
17:26:00DefilerIn this case, it is (probably) a fixnum
17:26:24evanprobably not actually
17:26:28evansince it ends in a 4
17:26:45Defilerohhh it isn't yeah
17:26:48Defilerit's a BlockEnv
17:29:46Defilerevan: Got a sec to look at this test with me, actually?
17:29:53evansure
17:30:03nicksieger leaves the room.
17:30:12Defilervm/instructions.rb 'test_send_stack_with_splat'.. in particular, lines after 2370
17:30:23evanyou trying to fix those broken tests?
17:30:25DefilerYes
17:30:58evan2370, is, for me, past the test
17:31:18Defiler2370 is the call to run(); for me
17:31:47nicksieger enters the room.
17:31:58evanyou've probably added some code
17:31:59evani'm assuming.
17:32:05evananyways
17:32:08DefilerAre you in instructions.rb or test_instructions.hpp?
17:32:10evanwhat am I looking for?
17:32:13evaninstructions.rb
17:32:15DefilerOK
17:32:26DefilerAnyway.. it looks to me like the assertions there, after run();..
17:32:33Defilerare only true before run()
17:32:38Defilere.g. the arguments still being on the stack
17:32:44DefilerIt is the retval that should be on the stack after run(), right?
17:32:53Defiler TS_ASSERT_EQUALS(task->stack->at(0), Object::i2n(3));
17:32:58evanhm.
17:33:06Defileris the line that fails, because stack->at(0) is a BlockEnv, not Fixnum:3
17:34:19evanwhat was my thinking for this..
17:34:42evanyeah, i guess so.
17:35:41DefilerWhy does it inject 'noop' and 'push nil' into the opcode stream, also?
17:36:33hemulen leaves the room.
17:36:35mutle_ leaves the room.
17:36:54evanwhere do you see that?
17:36:58evanoh
17:36:59evanit's not.
17:37:05evanthose are the operands
17:37:18evanthe test setup code puts the opcode in stream[0] by default
17:37:23evanthis opcode takes 2 operands
17:37:26evanso it's setting them.
17:37:43Defileraah
17:45:22botanicus leaves the room.
17:46:44mutle enters the room.
17:46:46Defilerevan: OK.. switching gears.. do you already have a plan for the support that the 'string_to_sexp' primitive needs?
17:47:10evanzenspider was beginning to investigate that
17:47:13evanbut didn't get very far
17:47:18evanso they're still up in the air
17:47:18DefilerDo we need to port 'grammar_runtime' to C++? There is code called by string_to_sexp that allocates Arrays
17:47:27Defilerand that needs to return C++-style Array instances
17:47:32benburkert leaves the room.
17:47:52DefilerAlso, the existing code takes the cstr out of the given string and makes a bstring out of it
17:47:52evanDefiler: http://rubinius.lighthouseapp.com/projects/5089/tickets/643-port-parser-primitive-to-c
17:48:18DefilerAah, nice. I didn't spot that one because I assumed it wasn't assigned
17:48:23DefilerShould I stay away from it then?
17:48:33evandig in.
17:48:40evani'd suggest you start with something smaller though.
17:48:45ijcd enters the room.
17:48:47evansomething you can do in one day
17:48:49DefilerYeah no doubt
17:48:49evanstart to finish.
17:49:01DefilerI don't intend to work on this until all the low-hanging fruit is picked
17:49:22ijcd leaves the room.
17:49:35DefilerWhat do I need to consider before converting a ByteArray to a char*?
17:49:44DefilerIf anything
17:50:33methodsDefiler: so every single gem will just work ?
17:50:54evanDefiler: well, convert how?
17:50:57Defilercast
17:50:59evanif you don't copy the data, if you just reference it
17:51:10evanthen you can only use it in your immediate locality
17:51:26DefilerI will be more specific.. primitive gets a String.. and grammar runtime wants it as a bstring
17:51:41evanlets back off that one for now.
17:51:45evango pick a simplier one.
17:51:48DefilerI am
17:51:55DefilerI just wrote down some questions earlier when I worked on it
17:52:01evanah.
17:52:03DefilerNot actually intending to work on it today
17:52:15evanwell, since bstring copies the data
17:52:16evanyou can do
17:52:18DefilerI'm going to finish object_* prims instead
17:52:23evan(char*)*str
17:52:29evanwhere str is a String*
17:52:38binary42 leaves the room.
17:52:42jgre enters the room.
17:53:02DefilerOK, so we are going to keep bstring around until some future date when the transition to C++ is complete?
17:53:54evanno
17:53:58evanditch bstring entirely
17:54:02evanit adds complexity
17:54:14DefilerOK.. so why did you say 'since bstring copies the data'?
17:54:19evanbecause it does
17:54:24evanwhen you create a bstring, and pass in a char*
17:54:25DefilerOur String * operator is not set up to copy the data currently
17:54:31evanit copies the data at the char* into itself
17:54:39evanbstring copies internally
17:54:59DefilerRight, but if we aren't planning to use it, I will (someday) need to perform that copy manually, right?
17:56:47evanwe should use std::string instead of bstring
17:56:59DefilerRight
17:57:03evanif we feel the need to use a more C++ data structure
17:57:06evandoing
17:57:23evanstd::string thing((char*)*str_object)
17:57:25evanis fine.
17:57:30evanyou can use thing anytime, anywhere
17:57:32DefilerOK cool
17:57:33evanbecause it copies the data.
18:01:35shame leaves the room.
18:01:59twbray enters the room.
18:02:03shayarnett leaves the room.
18:02:43shayarnett enters the room.
18:05:15headius enters the room.
18:05:29blakewatters leaves the room.
18:06:30edwardam enters the room.
18:07:35blakewatters enters the room.
18:09:24octopod leaves the room.
18:11:10edwardam leaves the room.
18:12:58josb enters the room.
18:15:33rueDefiler: Usually you need to give the full namespaced method name to breakpoint
18:15:43rubuildius_amd64 leaves the room.
18:16:01rubuildius_ey64 leaves the room.
18:16:35rubuildius_ey64 enters the room.
18:16:46rubuildius_amd64 enters the room.
18:19:57nakajima enters the room.
18:20:43rubuildius_amd64 leaves the room.
18:21:01rubuildius_ey64 leaves the room.
18:21:33rubuildius_ey64 enters the room.
18:21:46rubuildius_amd64 enters the room.
18:22:40ijcd enters the room.
18:24:22pauldix leaves the room.
18:25:37c0sin enters the room.
18:28:03dgtizedevan: thanks for fixing the strlcat/strlcpy problem
18:28:10evanno prob
18:28:17evani'm surprised that OS X didn't complain about that.
18:29:11dgtizeddidn't it just use the BSD version of those libs?
18:30:02dgtizedhttp://gist.github.com/3484 - I do get unit test failures as well, looks like something is still unhappy with name mangling
18:30:12evandgtized: hm, I don't think so, no.
18:30:28evanarg.
18:30:30evanok
18:31:06wmoxam leaves the room.
18:31:17wmoxam enters the room.
18:31:57wmoxam leaves the room.
18:36:09hemulen enters the room.
18:36:17wmoxam_ enters the room.
18:37:18shame enters the room.
18:41:33headiushey guys
18:41:40headiuswanted your opinion on something
18:42:21headiusmental's been working on some concurrency fixups for the core collection types (starting with array), using lock-free techniques to just guarantee internal structure remains intact
18:42:55headiusthere are cases where we can't make that guarantee, like if two threads step on each others' length changes or something
18:43:15headiusbut we can detect it...and at this point we're introducing a new exception that < ThreadError called ConcurrencyError
18:43:44headiuswe thought about just using ThreadError but this seems to be more accurate
18:43:48ijcd leaves the room.
18:43:49headiusand it's a special case of a "thread error"
18:44:00ijcd enters the room.
18:45:38headiusthoughts?
18:46:51dgtizedso there would just be random occasions where a ConcurrencyError would get thrown?
18:47:08dgtized(obviously not actually random, but from the perspective of how one normally views code like that)
18:47:46headiuswell, essentially it would be saying "you tried to do too many things at once with this array"
18:48:13headiusin general most operations should be ok, but in the rare cases where you're doing a bunch of writes across threads it would raise this
18:48:33headiusfor the most part it's to mask a potential Java exception blowing out a thread completely
18:48:50headiussimilar to raising an error instead of dumping core
18:50:52joachimm leaves the room.
18:51:40brainopia enters the room.
18:52:00dgtizedI don't like needing to wrap every @arr.length in a begin/rescue for ConcurrencyError
18:52:23dgtizedit makes sense to determine the error
18:53:00headiuswell, this isn't really a recoverable condition
18:53:08headiusit's more to show you're doing something you shouldn't
18:54:34headiusthe alternative to just providing minimal safeguards would be making the core collections completely safe, and that means lots of locking
18:55:17dgtizedcan you make an example?
18:57:17benburkert enters the room.
19:00:34chenkai enters the room.
19:01:27headiuswell, two threads lengthening and shortening a string would probably not be a good idea
19:01:31headiusstring/array
19:02:16headiusthis is largely a new area since we're the only ones to tackle concurrent modification so far
19:03:41headiusthough how does rubinius keep multiple threads from mutilating arrays at the same time? context switch seems like it could happen at bad times, since more code is Ruby
19:05:52botanicus enters the room.
19:12:55evanheadius: yeah, thats an arena we haven't spent time in yet.
19:14:43chenkai leaves the room.
19:15:35headiusevan: what do you think of ConcurrencyError
19:15:58headiusafter some measurements, we came to the conclusion that making the core types thread-safe was way too high a perf cost to pay
19:16:18evanhow are you detecting when to raise it?
19:16:24headiuseven the fastest locking mechanisms decreased perf on simple append benchmarks by many times over
19:16:32evansure, that makes sense
19:16:40chris2 leaves the room.
19:16:53headiusomni is likely to include some safe wrappers people can use, so I think that's the way to go
19:17:16headiusyou'd have to ask mental about detection, but basically it's whenever Java would raise an array index error because we've stepped off the end of an array
19:17:40evanah
19:17:43evanwell, we've got that too
19:17:53evansince you'd get an error from a primitive
19:18:03evanif you try and walk off the reservation
19:18:10headiusright, same thing
19:18:44evansure, i've fine with that
19:18:57pauldix enters the room.
19:19:04evani'd almost see it as ConsistenceError though
19:19:10evannot Concurrency
19:19:16evanyou're not really testing Concurrency
19:19:22headiusperhaps...but it's concurrency-caused
19:19:24evanyou're testing that the object is internally consistent
19:19:36evantrue, but i guess i'm thinking it could be accidentally cause by something else
19:19:39evanesp. in the cause of rubinius
19:19:57evansomeone could set the @size of an array to be larger than it's bounds
19:20:02evanunrelated to concurrency
19:20:06headiusperhaps so...I think that's more of a general issue that I'd rather be a hard failure
19:20:15evansure
19:20:16headiusin our case that's not directly mutable anyway
19:20:21evanyeah
19:20:27evanwell, how about 2 classes then?
19:20:40evanConcurrencyError < ConsistenceError
19:22:54antares_ enters the room.
19:23:26headiusI think I'd see them as separate hierarchies...it's not really the consistency we're interested in here, it's the fact that you're concurrently modifying in bad ways
19:24:48headiusthere could be other cases unrelated to consistency that wouldn't necessarily be object consistency
19:25:00headiusI'm going to email ruby-core to see how they react too
19:25:04evanok
19:27:55binary42 enters the room.
19:30:21dysinger enters the room.
19:37:21jgreevan: I submitted a patch that was committed. Can I get a commit bit?
19:37:55evansure, I just need the link to your commit, and your github username
19:39:09jgreThe ticket was: http://rubyurl.com/jtPc
19:39:26jgreand the username ist jgre
19:39:44evanok, one sec
19:40:51evanok, added!
19:41:00evanthanks for the work!
19:42:42jgreyou're welcome
19:52:36benburkert leaves the room.
19:53:31benburkert enters the room.
19:54:14CIA-30* Implement 'object_frozen_p' and 'object_freeze' primitives; 7c0456c - Wilson Bilkovich
20:02:13Defilerevan: The equivalent of cpu_perform_hook in VM is task->active->perform_hook() ?
20:02:55DefilerGot a cpu_perform_hook here that uses state->global->sym_init_copy that I need to port
20:02:59dgtizedwait what is this frozen business, I thought we weren't doing that?
20:03:12DefilerThat is in the C++ branch
20:03:30DefilerWe don't support 'freeze' in the kernel itself yet, though
20:03:35dgtizedah
20:03:42DefilerOr, rather, we don't check it
20:03:47DefilerThough we support setting the flag. Heh
20:03:52dgtizedk
20:04:00dgtizedso we waste the space for it
20:04:24DefilerIt only takes one bit to implement.. the trick is avoiding the need to check it on every method dispatch
20:15:16jbarnette_ enters the room.
20:17:35headiusit's not ever dispatch, just mutations
20:22:22pauldix leaves the room.
20:22:33brainopia leaves the room.
20:22:45evanDefiler: perform_hook is going away
20:22:51evani don't want use to use it at all
20:26:50yroc enters the room.
20:28:04dgtizedDefiler: it's one bit on every object though -- why is it matz wants to keep frozen around anyway?
20:28:18Defilerevan: OK.. so existing primitives that perform a hook should no longer attempt to perform those hooks
20:28:24Defilerdgtized: Who can know the mind of matz?
20:29:13dgtizedDefiler: dunno, but I mean has anyone actually asked him about frozen?
20:29:55DefilerI don't recall ever having a question answered on ruby-core
20:29:59DefilerSo it would need to be someone else
20:31:23jbarnette leaves the room.
20:31:43tarcieri1/cl
20:31:57dgtizedAre those ruby implementation IRC chats still going on?
20:32:19headiusmatz updated the page with a new schedule but I didn't see anyone other than me say they were ok with the dates
20:32:45dgtizedheadius: what does jruby do with freeze?
20:33:00headiuswe honor it
20:33:10dgtizedfully?
20:33:18headiusthere's a bunch of test in the old rubicon for freezing, which we pass
20:33:25headiusas fully as we have tests for, at any rate
20:33:37dgtizedk
20:33:50dgtizedand that does/doesn't take a huge performance hit for you guys?
20:34:00headiusit's minor...a flag check
20:34:23dgtizedoh because it's not in ruby bytecode it's in your library implementation?
20:34:30headiuswe don't have ruby bytecode
20:34:47dgtizedI wonder how ruby1.9 deals with it in bytecode
20:35:00fbuilesvzenspider: ping
20:35:01headiuspretty sure it doesn't, it's a flag there too
20:35:08DefilerIt still uses the 'node state' stuff that 1.8 did it with, I believe
20:35:08headiusit's just an object state
20:35:32headiusit would have to be at the object level because some methods check it and some don't
20:35:41dgtizedI guess the question is, if it's going to stick around, why we can't stick the state checking code in the appropriate primitives?
20:35:55dgtizedThat way it stays out of the bytecode / library
20:35:57headiusthat's where I'd put it
20:36:30headiusif it needs to be exposed to ruby too
20:36:34headiuser
20:36:35dgtizedperhaps with a #ifdef around them so they can be enabled/disabled at compile time for speedup
20:36:35headiusbut it needs..
20:36:54headiusI haven't tried turning them off lately, but they never appeared to be much difference
20:37:05headiusI'm sure there's some
20:37:13headiusbut mutations are usually expensive enough it doesn't compare
20:37:20dgtizedWell if it's a flag then we can check that outside just fine, it's just the cost of checking from bytecode is a lot higher then a simple flag check in C
20:37:52DefilerOne thing's for sure.. we're not going to call Object#frozen? all the time. Heh
20:37:53headiusthat's for sure
20:38:06Defilerbut doing it in the primitives that set fields, etc.. probably wouldn't be hard
20:38:27headiussounds like you're moving away from doing so much in ruby because of the perf issues
20:38:33nicksieger leaves the room.
20:38:37headiusbrixen mentioned changes to math, etc
20:38:52DefilerThe dividing line is much easier to see in the new VM
20:38:58DefilerSo changes are inevitable
20:39:31dgtizedThe vast majority of things are in ruby anyway
20:39:36headiuscan the new vm do conditional logic in the primitives yet?
20:39:54dgtizedheadius: ?
20:40:07DefilerI assume you mean other than 'if'?
20:41:17headiusI remember evan saying something about primitives not being able to affect program flow
20:41:19Defilerevan: I have a MetaClass that I want to make be the metaclass of a newly-created object.. MetaClass::attach allocates a new MetaClass. Should I just implement MetaClass::replace, or do you recommend something else?
20:41:57DefilerProbably what he was talking about is that you can't invoke a Ruby method from a primitive
20:42:25DefilerWhich remains true.. but of course you can do anything you felt like doing in C/C++ from a primitive
20:42:33ijcd_ enters the room.
20:42:58headiusahh, so you still have to either allow execution to continue or raise an exception or something
20:43:19headiusso presumably that means you can't move into primitives any code that would call to_str and friends
20:43:29Defileror just fail the primitive and let the Ruby code under it execute
20:43:55DefilerUnless it's a to_str thing that has a C implementation, I guess
20:44:13headiusmm ok
20:44:29DefilerI'm definitely not the final source on this.. maybe evan will swing in and correct all my lies
20:44:49Defilerbut I haven't seen anything in the new code that would suddenly let you continue dispatching methods before jumping back into the primitive
20:44:52Defilertricky
20:45:28headiusyeah, stackless complicates all of that
20:46:20headiusbtw...lopex is thinking we might need to add a separate 1.8.7 compat mode in JRuby
20:46:26headiusbecause of backward-incompatible changes
20:46:34headiusright now there's only 1.8 and 1.9 modes in JRuby
20:47:30Defiler=(
20:48:09tarcieriheh, ugh :/
20:48:10headius leaves the room.
20:48:33tarcieri1.8_1/2.7
20:49:03dgtizeddo we have any long term plan for when the cpp branch is supposed to merge with head again?
20:49:44evanwhen it's ready.
20:51:52evanDefiler: perform_hook is way to brittle, thats why it's going away
20:51:53dgtizedk -- is it a requirement for V1.0?
20:52:01evandgtized: atm, yes.
20:52:21jbarnette_ leaves the room.
20:52:53dgtizedk
20:54:45twbray leaves the room.
20:56:02shayarnett leaves the room.
20:57:47ijcd leaves the room.
20:59:30dgtizedevan: what are the major hurdles keeping us from hooking it up with the current kernel?
20:59:46ijcd_ leaves the room.
21:00:51evangetting all the primitives wired in
21:01:01evani'm working today on getting it loading the kernelin.
21:01:22imajes_ enters the room.
21:02:36benny leaves the room.
21:03:58dgtizedawesome
21:04:19dgtizedjust seems like the barrier to work on that branch decreases dramatically once it's at least partially wired in
21:09:02mutle leaves the room.
21:11:01yroc leaves the room.
21:13:52jgre leaves the room.
21:17:11Defilerevan: What am I likely to be doing wrong if I compile a .rb file with rbx, and then, when running ./vm/vm the_file.rbc, I get "Runtime exception: Invalid file"
21:17:19DefilerI know you walked me through this once, but I forgot =(
21:17:32evanyou have to use
21:17:43evanruby lib/compiler/mri_compile.rb -frbx-kernel <input> <output>
21:17:47evani've got a shell script i'm using here
21:17:51evanthat i'll commit shortly.
21:17:53Defileroh riiight yeah
21:18:02DefilerYou rafb.net'd that to me a while ago
21:18:02nicksieger enters the room.
21:18:48botanicus leaves the room.
21:27:10mutle enters the room.
21:30:25imajes_ leaves the room.
21:33:54Defilerevan: Am I doing anything dumb here? This should work, right? http://gist.github.com/3523
21:34:11dbussinkevan: dunno if it makes any difference, but maybe this is interesting: http://bstring.sourceforge.net/features.html
21:34:18evandbussink: no
21:34:19evaner
21:34:19DefilerWe are using bstring already. Heh
21:34:20evanDefiler: no
21:34:22evanthat does not work.
21:34:29dbussinkit's of course from the guys of bstring
21:34:37dbussinkbut i read something about ditching it
21:34:39evanbstring is going away
21:34:59DefilerDidn't you send me an Object#show example using a primitive?
21:35:05Defileror am I mis-remembering that example..
21:35:06twbray enters the room.
21:37:21dbussinkevan: what's the main reason? simplification?
21:37:30evanyeah
21:37:32evanfew deps
21:37:41ezmobius enters the room.
21:40:34jbarnette enters the room.
21:40:53Defilerevan: Is there a right way to attach that primitive and see if it melts? Or do I just need to try to explore it via the test suite?
21:41:05evanno
21:41:07evanyou don't do that in ruby
21:41:09evanyou test in C++
21:41:46evanthe primitives, that is.
21:43:08DefilerHuh. I would have sworn you pasted me an example, but oh well
21:43:29evanprimitive functionality is associated directly with the VM
21:43:36evanso that functionality needs to be with the VM tests
21:43:56evansince primitives are just C++ methods, it's easy enough to just write a test for that method
21:44:04evanyou don't need to test the primitive wiring glue
21:44:12DefilerOh, sure.. I already have a test for this
21:44:31Defilerbut I am trying to understand the difference between MetaClass::attach and the version of it I expected to see when I opened the code. Heh
21:45:00nicksieger leaves the room.
21:45:39nicksieger enters the room.
21:45:50evanhuh?
21:46:03evanyou're testing the clone primitive, right?
21:46:27DefilerYes
21:46:36evanso
21:46:41evanwhy are you doing anything with a metaclass?
21:46:49Defilerclone is dup + copy the metaclass
21:46:56evanok
21:47:05evanbut you shouldn't be adding metaclasses are onything
21:47:12DefilerRight
21:47:15evanyou should just inspect the cloned object
21:47:26Defiler void copy_metaclass(STATE, OBJECT other);
21:47:33evanto see it has a metaclass (thats unique) that that metclass is setup properly
21:47:34Defileris in the builtin_object.hpp header, but is not implemented
21:48:13evanhuh. I guess I didn't implement it
21:48:18evanok
21:48:23DefilerI need to implement copy_metaclass, and I am trying to figure out what it needs to look like
21:48:49DefilerMetaClass::attach without the initialization and without the 'no superclass given' case
21:48:53DefilerIs my current belief
21:50:51evanwithout the initialization?
21:50:59tarcieri:( @ Constant::method
21:51:29evanDefiler: fire up ichat
21:51:34evanwe're going video
21:52:00brixentarcieri: elaborate?
21:52:25tarcieribrixen: eh, I just don't like it stylistically
21:52:43evantarcieri: huh?
21:52:47brixenhmm, I don't follow
21:53:00evantarcieri: we're talking about in C++
21:53:01evannot ruby.
21:53:08tarcierioh
21:53:12tarcierimy bad
21:54:30brixentarcieri: oh, yeah, I dislike C::m in ruby too
21:55:24rudebwoy_ leaves the room.
21:57:30evanDefiler: ?
21:59:09DefilerOK. Let me get that configured
22:00:24VVSizhi guys. a short note: >rubinius -e "a = []; a << a; a.hash" | more
22:00:25VVSizAn exception has occurred:
22:00:25VVSiz Maximum amount of stack space used (SystemStackError)
22:01:16VVSizthe same for JRuby and MRI 1.8.6, but in later MRI version this has been fixed
22:01:48rudebwoy enters the room.
22:02:01brixenVVSiz: we have a spec for that?
22:02:05drbrainheh, needs recursion guard all up in there
22:02:26VVSiznot yet (but I have a bug for JRuby to fix, and hence we'll have a spec sooner or later ) :)
22:02:37brixenVVSiz: ok
22:02:43VVSizI'm currently trying to run the latest test_array from MRI 1.9 against JRuby and Rbx.
22:02:51VVSizRbx sigsegvs early
22:03:24VVSizJRuby crashes on [][2**63-1]=2
22:04:25brixenVVSiz: it would be sweet to have 1.9 specific array behavior in 1.9/core/array specs
22:04:31brixenVVSiz: in case you feel inspired ;)
22:04:54VVSizheheh
22:05:05brixenI imagine it will be fun to try to extract said specific behaviors from test_array
22:05:18brixenhas little love for unit tests
22:05:33VVSizI have a TODO list with more than 200 items at the moment :) one more wouldn't hurt!
22:05:50brixenVVSiz: ugh :/
22:06:20brixenVVSiz: why don't you add some tickets to rubyspec then
22:08:17VVSizthat's for sure
22:10:07VVSizbrixen: one more infinite recursion with recursive arrays in rubinius:
22:10:11VVSizrubinius -e "a = []; a << a; a == a"
22:10:23brixenhm, surprised by that one
22:10:46brixenI would have thought we had recursion guard in == for sure
22:10:54VVSizthis one (well, similar one) is actually crashing rbx on test_array from MRI
22:11:38headius enters the room.
22:11:39mutle leaves the room.
22:11:53VVSizhere's the stacktrace/log from that crash: http://pastie.org/245186
22:14:21headius leaves the room.
22:14:55headius enters the room.
22:16:23VVSizthat test_array from MRI is *weird*. It reports 600 assertions for JRuby , 18k assertions for Rubinius, 105k assertions for ruby :)
22:20:19blakewatters leaves the room.
22:20:28drbraindamn, they took auto-refresh out of GraphViz
22:22:35mutle enters the room.
22:23:49AndrewO leaves the room.
22:25:52imajes_ enters the room.
22:26:24imajes_ leaves the room.
22:27:05imajes_ enters the room.
22:29:01sambo82 enters the room.
22:30:17moofbong leaves the room.
22:32:50drbrainok, I filed a bug on that
22:40:27joachimm enters the room.
22:40:35BobFunk leaves the room.
22:41:04BobFunk enters the room.
22:42:12ijcd enters the room.
22:47:58VVSizrubinius -e "p [][2**100]=1"
22:48:05VVSizraises primitive failed (PrimitiveFailure)
22:48:19VVSizbut should be either IndexError or ArgumentError or RangeError :)
22:53:28imajes_ leaves the room.
23:00:10rubuildius_ey64 leaves the room.
23:00:44rubuildius_ey64 enters the room.
23:08:18nicksieger leaves the room.
23:08:38nicksieger enters the room.
23:20:29fbuilesv leaves the room.
23:23:08wmoxam leaves the room.
23:28:11radarek leaves the room.
23:28:15aotearoa enters the room.
23:31:42imajes_ enters the room.
23:38:46Maledictus leaves the room.
23:50:45rubuildius_amd64 leaves the room.
23:51:02rubuildius_ey64 leaves the room.
23:51:35rubuildius_ey64 enters the room.
23:51:47rubuildius_amd64 enters the room.
23:57:01VVSizbrixen: looks like in MRI 1.8.7+, there were plenty of fixes for recursive arrays, and JRuby and Rubinius fail on many Array methods with recursive arrays yet. I'm going to add those cases to the RubySpecs, so prepare to see some crashes with Rbx ;)
23:57:26brixenVVSiz: sure thing
23:57:28brixenthanks for adding them
23:58:31VVSizthe crown of the worst method of the day goes to Array#choice: Choose a random element from an array. :)
23:58:43CIA-30* Introduce 'type()' function that should be used in place of 'obj_type' Turn Object::show into a 'virtually virtual' function a la get_field; 35fcbdc - Wilson Bilkovich
23:58:50imajes_ leaves the room.