Index

Show enters and exits. Hide enters and exits.

00:08:52dewd leaves the room.
00:09:40imajes leaves the room.
00:11:48srbaker enters the room.
00:19:13anteaya leaves the room.
00:21:01riffraff leaves the room.
00:24:26srbaker leaves the room.
00:26:55Arjen_ leaves the room.
00:29:17dewd enters the room.
00:41:27dctanner enters the room.
00:42:11trythil_ enters the room.
00:42:11trythil leaves the room.
00:43:07dctanner_ enters the room.
00:43:07dctanner leaves the room.
00:45:47ttmrichter enters the room.
00:47:07benny leaves the room.
00:50:14lstoll leaves the room.
00:56:56twbray enters the room.
01:01:44trythil_ leaves the room.
01:06:44lvmc enters the room.
01:06:52lvmcevan, how are you?
01:06:58evani'm good.
01:08:29ujwalic leaves the room.
01:09:49wycats leaves the room.
01:11:19lvmcevan, any news about mod_rubinius design?
01:12:49evanrue is currently working on it
01:12:54evanyou'll have to talk to him
01:13:18lvmcrue, how are you?
01:14:06twbray leaves the room.
01:18:17agile enters the room.
01:25:05hornbeck leaves the room.
01:29:34trythil enters the room.
01:42:28lstoll enters the room.
01:47:55twbray enters the room.
01:49:23agardiner enters the room.
01:50:47lvmc leaves the room.
01:50:54dctanner_ leaves the room.
01:51:58anteaya enters the room.
02:00:44srbaker enters the room.
02:01:10ezmobius leaves the room.
02:01:33ezmobius enters the room.
02:03:53twbray leaves the room.
02:04:56yugui enters the room.
02:05:26xhanjian_ enters the room.
02:08:35jtoy enters the room.
02:10:01aotearoa enters the room.
02:18:07lopex leaves the room.
02:18:35xhanjian leaves the room.
02:20:13MenTaLguY enters the room.
02:20:24MenTaLguYhello!
02:20:47ezmobiushey there
02:29:35VVSiz_ enters the room.
02:31:21zimbatm leaves the room.
02:47:45VVSiz leaves the room.
03:07:18ezmobius leaves the room.
03:07:25radarek leaves the room.
03:07:39ezmobius enters the room.
03:13:56obvio171 enters the room.
03:14:36agardiner leaves the room.
03:16:29ixx leaves the room.
03:16:33ixx enters the room.
03:22:34srbaker leaves the room.
03:29:44twbray enters the room.
03:30:18trythil leaves the room.
03:30:40obvio leaves the room.
03:31:21twbray leaves the room.
03:31:47lstoll_ enters the room.
03:32:55lstoll leaves the room.
03:33:00dlee enters the room.
03:36:46ruivaldo enters the room.
03:36:52srbaker enters the room.
03:38:52twbray enters the room.
03:41:37jzj enters the room.
03:43:26jzjcan i find the defination of ruby ast nodes?
03:45:31atmos leaves the room.
03:45:34atmos enters the room.
03:48:05hornbeck enters the room.
03:51:01twbray leaves the room.
03:52:41ruivaldo leaves the room.
03:54:41wmoxam enters the room.
03:56:17trythil enters the room.
04:06:48imajes enters the room.
04:10:08VVSiz_ leaves the room.
04:10:33VVSiz_ enters the room.
04:11:23yugui leaves the room.
04:14:36obvio171_ enters the room.
04:15:30ezmobius leaves the room.
04:15:53ezmobius enters the room.
04:17:12ruejzj: You mean a listing or?
04:24:30mernen leaves the room.
04:28:22srbaker leaves the room.
04:28:41jzjrue: im not understandoing some nodes' meaning
04:28:47jzjjust like Negate
04:29:08jzjSnippet
04:32:32obvio171 leaves the room.
04:35:13dewd leaves the room.
04:35:30enebo enters the room.
04:47:00blakewatters enters the room.
04:51:22nicksieger enters the room.
04:52:04twbray enters the room.
04:57:56mernen enters the room.
05:08:16rueevan, ezmobius: I am now at the point where I do not foresee trashing the entire repo every Tuesday so I will start pushing to Github once I finish this input rewrite and the verification code. Looks like you both have accounts there so I will add you once it is there
05:08:39ezmobiusrue: killer, looking forward to seeing it
05:09:09rueThen I will move the rest of the stuff in as I go through it
05:09:59rueMercurial has been pretty nice, definitely dig the "porcelain" layer. But git has so many useful features that in the end it is just not a contender
05:10:45ezmobiusi havent looked much at hg yet
05:11:06ruejzj: Sorry, I wandered out for a bit there. I think the ParseTree tests are actually the best place to look for some of the node definitions
05:11:34ruejzj: I started to document the nodes in the compiler at some point but had promptly forgotten about that until now
05:12:05jzjthanks rue!
05:12:06rueezmobius: Consider it time saved :) With git around, there really is no point
05:14:36rueAlso, LeechBlock is the best FF extension ever.
05:17:26ezmobius leaves the room.
05:23:21atmos leaves the room.
05:23:31be9 enters the room.
05:28:16mernen leaves the room.
05:44:31enebo leaves the room.
05:54:35enebo enters the room.
06:04:28trythil leaves the room.
06:04:51hornbeck leaves the room.
06:34:23wycats enters the room.
06:38:16crafterm enters the room.
06:43:07Yurik enters the room.
06:43:37imajes leaves the room.
06:44:49imajes enters the room.
06:50:21MenTaLguY leaves the room.
06:50:50Yurik leaves the room.
06:50:54Yurik enters the room.
06:52:40Yurik leaves the room.
06:52:44Skip enters the room.
06:52:45Yurik enters the room.
06:54:06jzj1 if /x/ fails
06:54:10jzjin rubinius
06:54:19jzjlacking the node for match
06:54:41rueHm, sec
06:55:20rueIt should be $_, right?
06:55:41evanfails how?
06:56:24Yurik leaves the room.
06:56:27jzjCompiler::Error: Unable to resolve match from Compiler#convert_sexp at lib/compiler/compiler.rb:209
06:56:37Yurik enters the room.
06:56:44evanhm.
06:56:45jzjno defination for Match there
06:57:26evanhuh.
06:57:26evanyep.
06:57:38evanthe compiler doesn't handle the match node
06:57:42evani don't even know what it's supposed to do
06:57:58rueIt matches against $_
06:58:10rueWell, should :)
06:58:27evanlo
06:58:28evanso
06:58:31evan1 if /x/
06:58:32evanis the same al
06:58:38evan1 if /x/.match($_)
06:58:43evans/al/as/
06:58:56wmoxam leaves the room.
06:58:59rueYep
06:59:13rueI can write it in unless you are halfway there already :P
06:59:31evanplease go for it.
06:59:56ruejzj: Also, completely forgot to mention it before and you may already know but `shotgun/rubinius describe <file.rb>` will give you the sexp
07:02:57dctanner enters the room.
07:05:49jzjrue: i know this :)
07:10:39aotearoa leaves the room.
07:19:31dctanner leaves the room.
07:21:20ezmobius enters the room.
07:21:22EugZol leaves the room.
07:21:44gnufied enters the room.
07:25:59blakewatters leaves the room.
07:28:03benny enters the room.
07:29:28yugui enters the room.
07:32:40rueevan: The compiler asm format tests seem a bit frail.. have you given any thought to them?
07:32:56evanwhich?
07:33:01evanspec/compiler?
07:35:46enebo leaves the room.
07:35:51enebo_ enters the room.
07:36:26rueevan: Yeah
07:36:32evanfrail how?
07:36:40evanthey're precise.
07:37:09imajes leaves the room.
07:39:15rueYeah.. I dunno, it is a vague feeling. I might just be happier with verifying that sexp_a produces a certain set of nodes and then separately that node_a produces a certain bytecode stream
07:39:33rueNot sure, though, so I wondered if you had had any ideas in the area
07:40:05evanno
07:40:11evansexp verification is bad.
07:40:31evana had tests long ago that did that
07:40:34evanthey were super brittle
07:40:52evani like the format of the current ones
07:40:56evanbeing decoupled from the sexp
07:41:04evanmildly.
07:41:06rueI am not sure what you mean
07:41:15rueOr do you mean s/sexp/AST/
07:41:23evannot having the tests verify sexp form
07:41:27evanactually driving the compiler
07:41:32evanand verifying what the compiler did
07:41:42evanthey are compiler tests afterall
07:41:43rueWell, there is no need to do that.. since we already have the sexp
07:42:13evanyou have to drive the compiler
07:42:17evanand verify what it does in some way
07:42:24evanthe way we do currently I think works well.
07:42:28ruenodes.rb does manipulation also, it is not just an object rep of the sexp
07:42:32evangot a better way?
07:42:43evanrue: course. so?
07:43:05rueSo it would not be sexp verification to ensure that some sexp produces some AST branch
07:43:43evanwho said anything about sexp verification?
07:43:55rueYou, about 1:32 ago :P
07:44:03evani said we didn't need it.
07:44:12rueYeees, but I never suggested we did
07:44:18evani'm totally confused.
07:44:18gnufied leaves the room.
07:44:30evani'll just assume you like how they are currently then.
07:44:51rueOK, I said that I thought it might be a possibility that we could spec the sexp -> AST behaviour, and then the AST->bytecode behaviour
07:45:04rueAnd you said "no, sexp verification is bad"
07:45:19evanrue: ok, but why?
07:45:22evanwhat would that buy us?
07:45:41evanfrom a unit test standpoint, sure.
07:46:03evanbut if you consider the Node tree to be an internal datastructure of the compiler (which it is), then it's 'private' data
07:46:12rueSlight more tolerance and composability to the specs
07:46:37evantolerance to what?
07:46:45rueFormat changes
07:46:46evanif you want to, go ahead and implement it.
07:46:55evani just don't see the need currently
07:47:02evanbut perhaps i'm overlooking something
07:47:07evanformatting of what?
07:47:16rue'S a minor point, I just happened to be in there right now
07:47:43rueFor example, it could be beneficial to be able to say that :match produces the same code as :match2 and leave it at that.
07:48:07evani don't think it does.
07:48:10evanbut even so
07:48:16evanwhy not use a spec shared behavior
07:48:16rueOn the other hand, it is a bunch of work to rewrite or augment. Which is why I was asking whether you had thought about it since chances are that if you had not, it is not a priority
07:48:33evanyeah, i guess i don't see it as a priority
07:48:49evanthe way their tested now, the Node tree is tested as a byproduct of driving the compiler
07:48:58evanbut i guess i could see your point
07:49:11evansplit it up into testing that a certain sexp generates a certain Node tree
07:49:21evanthen test that a certain Node tree gives the compiler a certain way
07:49:38evani think that by and large, there would be little duplication like with match and match2
07:49:51rueYeh, there is relatively little
07:50:37rueAlright, I will stick it in the long-term file. I do not see any /problems/ with the current ones per se, they are just very precise
07:51:09rueIf we shuffle it to a bit more composeable, it would probably make it easier to add a few to make sure no corner cases are being missed
07:57:58rueevan: Oh, hm. push_const handles the lookup, right?
08:00:04rueAh, current context only. Some of these use find_const, some push_const
08:00:17yugui leaves the room.
08:01:56evanfind_const takes an object to look for the constant in
08:02:01evanA <= push_const
08:02:13evanB::A <= find_const
08:04:41twbray leaves the room.
08:05:01rueHm, reason I ask is that regexp is compiling to push_const :Regexp which would then be bad if we are in MyModule::Regexp ?
08:07:42evanyeah
08:07:44evanthats probably a bug
08:07:47evanit should be
08:07:48evanpush_cpath_top
08:07:51evanfind_const :Regexp
08:10:58enebo_ leaves the room.
08:13:40dlee leaves the room.
08:14:25Maledictus enters the room.
08:16:40yaroslav enters the room.
08:19:53ezmobius leaves the room.
08:21:50thehcdreamer enters the room.
08:23:57rueOK
08:23:59Arjen_ enters the room.
08:25:38rueWhat about this nil test? It looks like we omit the regexp construction if the variable is nil (although it is also used for literals), but it does not omit the nil =~ whatever check.. is there something preventing just dropping a nil on the stack and calling it good?
08:26:19evanthats because a regexp is constructed the first time it's seen
08:26:22evanbut not again
08:26:28evanthe first time through, the literal is nil.
08:26:39evanthe regexp is constructed and saved back into literals
08:28:09rueAh! I see, misread the intention
08:28:57evanperhaps that should be eliminated
08:29:14evanmoved to some once-per-script initialization method
08:29:17evanthats run up front
08:29:24evanbut thats for another day
08:30:07rueOr, wait.. did I?
08:31:26ruehttp://pastie.org/191634
08:33:24rueI realise that is not the best example but /x/ =~ "blah" uses the same order
08:33:56evansomething is not correct
08:33:57evanthe
08:33:59evanpush_literal nil
08:34:02evanis invalid bytecode.
08:34:12sudoer enters the room.
08:34:25evandecode might be confused.
08:34:32crafterm leaves the room.
08:34:33evanoh wait.
08:34:36evanno, thats correct
08:34:43evandecode is confused.
08:34:53evani'm changing that in the decode output
08:35:06evanthats telling you that it's going to push a literal in a slot, which currently holds nil
08:35:19evanthe output should tell you which number literal, not just the current value in that literal
08:35:24evanthats why it's confusing.
08:36:02jzj leaves the room.
08:36:45evanwell
08:36:47evani'm headed to bed.
08:36:49evanite.
08:36:58rueNites
08:37:10rueThat clarifies that bit too, thankew
08:37:33evannp
08:37:34evannite.
08:40:30TheVoice enters the room.
08:41:20mkrauskopf enters the room.
08:41:43jtoy leaves the room.
08:42:23mkrauskopf leaves the room.
08:42:38mkrauskopf enters the room.
08:43:15rubuildius_ppc leaves the room.
08:43:19rubuildius_ppc enters the room.
08:53:51wycats leaves the room.
08:57:16mutle enters the room.
08:59:04brainopia enters the room.
09:00:52rubuildius_ppcMarnen Laibow-Koser: 206cea31c; 2097 files, 6821 examples, 24581 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/191640
09:27:44lstoll_ leaves the room.
09:33:16qwert666 enters the room.
09:51:07yaroslav leaves the room.
09:57:45chris2 enters the room.
09:59:02mutle leaves the room.
09:59:16mutle enters the room.
10:06:33GMFlash leaves the room.
10:08:51yaroslav enters the room.
10:21:25benny leaves the room.
10:21:36benny enters the room.
10:30:01TheVoice leaves the room.
10:32:35lstoll enters the room.
10:33:34brainopia enters the room.
10:39:07Erlang00t enters the room.
10:39:48boyscout2 commits by Eero Saynatkari
10:39:49boyscout * Compiler support for the :match node, implicit $_ match in conditionals.; 8b9f71b
10:39:50boyscout * Spec for :match node, implicit Regexp matches against $_.; 398d5de
10:45:24flori enters the room.
10:47:45rubuildius_amd64Eero Saynatkari: 8b9f71ba3; 2097 files, 6821 examples, 24558 expectations, 0 failures, 0 errors; http://rafb.net/p/qujGch28.html
10:53:12w1rele55 enters the room.
11:01:59rueGeez, will someone give Guy Decoux commit rights to Ruby already :P
11:02:43mkrauskopf leaves the room.
11:05:09rubuildius_ppcEero Saynatkari: 8b9f71ba3; 2097 files, 6823 examples, 24584 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/191662
11:22:56webmat enters the room.
11:23:07webmat leaves the room.
11:24:05webmat enters the room.
11:25:37boyscout2 commits by Eero Saynatkari
11:25:38boyscout * Method call parsing spec from Jim Kingdon with minor addition.; 503aae7
11:25:39boyscout * Load pp in mspec if needed.; 37d4825
11:27:59sudoer leaves the room.
11:31:49benny leaves the room.
11:35:22Erlang00t leaves the room.
11:37:44rubuildius_amd64Eero Saynatkari: 503aae7cd; 2097 files, 6822 examples, 24565 expectations, 0 failures, 0 errors; http://rafb.net/p/qa7q4314.html
11:40:44rubuildius_ppcEero Saynatkari: 503aae7cd; 2097 files, 6824 examples, 24591 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/191670
11:44:54Skip leaves the room.
11:52:48Skip enters the room.
12:02:28benny enters the room.
12:27:49flori leaves the room.
12:28:34flori enters the room.
12:28:37radarek enters the room.
12:40:27chris2 leaves the room.
12:41:08radarek__ enters the room.
12:43:03Fishy5 enters the room.
12:43:31webmat enters the room.
12:44:11radarek_ enters the room.
12:44:27ctennis leaves the room.
12:54:02benny leaves the room.
12:54:19Fishy5 leaves the room.
12:54:41radarek leaves the room.
12:57:45radarek__ leaves the room.
13:02:38wdperson enters the room.
13:14:37hornbeck enters the room.
13:18:44vertiginous enters the room.
13:21:23rueplays a cheery jaunt
13:21:37dbussinklalalalala
13:22:01dbussinkjust read headius is going be at the ruby on rails event in amsterdam here on june 10th
13:22:47ArjenWhat ruby on rails event?
13:24:23dbussinkrubyenrails 2008
13:24:32dbussinkhttp://2008.rubyenrails.nl/
13:24:52_mutle enters the room.
13:26:52mutle leaves the room.
13:26:52twbray enters the room.
13:27:22radarek_ leaves the room.
13:28:10Arjendbussink, yikes, I'm in that picture!
13:28:22dbussinkhehe, where are you?
13:28:42ArjenBehind Dr. Nic. Blue shirt, red ribbon.
13:29:56ArjenMost right, i'd say.
13:30:25radarek enters the room.
13:30:47dbussinkfirst one left of him?
13:31:54ArjenNo, 2nd. Without the glasses.
13:32:50dbussinkthe only who did shave in this picture probably :p
13:33:37twbray leaves the room.
13:35:01boyscout1 commit by Adam Gardiner
13:35:02boyscout * Add column headers to debugger output; e7d0e8e
13:35:14ArjenHehe.
13:35:36Arjendbussink, impressive line-up though. Maybe I'll go.
13:35:56dbussinki'll probably go, just hanging around a bit
13:36:18anteaya leaves the room.
13:36:35Arjendbussink, yeah me too.
13:37:06ArjenGood reminder though, I haven't received my last year's prize yet...
13:38:04radarek leaves the room.
13:40:43mkrauskopf enters the room.
13:41:12rueMhehee.. you Dutch think your language is indecipherable, but my cunning use of German, English and Swedish has cracked the code!
13:43:00rubuildius_amd64Adam Gardiner: e7d0e8e10; 2097 files, 6822 examples, 24565 expectations, 0 failures, 0 errors; http://rafb.net/p/I59xJ614.html
13:43:30obvio leaves the room.
13:43:47vertiginous leaves the room.
13:49:22rubuildius_ppcAdam Gardiner: e7d0e8e10; 2097 files, 6824 examples, 24591 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/191695
14:01:44_mutle enters the room.
14:02:38mutle leaves the room.
14:06:46radarek enters the room.
14:08:28AndrewO enters the room.
14:09:11binary42 leaves the room.
14:14:04twbray enters the room.
14:21:04twbray_ enters the room.
14:22:57twbray_ leaves the room.
14:26:10dbussinkrue: hehe, that helps :)
14:26:28binary42 enters the room.
14:26:47dbussinkrue: i can read scandinavian languages reasonably, only the pronunciation sound like complete jibberisch to me
14:27:56rueYep, the combination of the three is pretty effective. I imagine Danish would be the best
14:30:10dbussinkdifference between swedish / danish is not that big
14:32:11twbray_ enters the room.
14:36:00marnen enters the room.
14:36:12boyscout2 commits by Marnen Laibow-Koser
14:36:13boyscout * Define BigDecimal#ver.; 098decd
14:36:14boyscout * BigDecimal#new: Make space between '-' and 'Infinity' unparsable, as per spec.; f6f1fe6
14:36:31GMFlash enters the room.
14:40:51wmoxam enters the room.
14:40:57twbray_ leaves the room.
14:41:35twbray leaves the room.
14:46:04Yurik leaves the room.
14:47:46rubuildius_amd64Marnen Laibow-Koser: 098decdf5; 2097 files, 6824 examples, 24572 expectations, 0 failures, 0 errors; http://rafb.net/p/OV76jg45.html
14:51:02marnen_ enters the room.
14:51:34rubuildius_ppcMarnen Laibow-Koser: 098decdf5; 2097 files, 6826 examples, 24598 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/191716
14:53:06Spakman leaves the room.
14:53:33fbuilesv enters the room.
14:56:15boyscout1 commit by Adam Gardiner
14:56:16boyscout * Add support for output types to Debugger::Output; f08736a
14:56:30flori leaves the room.
14:56:30qwert666 leaves the room.
14:57:18Spakman enters the room.
14:58:20flori enters the room.
14:58:23marnen leaves the room.
15:01:04wmoxam leaves the room.
15:05:49imajes enters the room.
15:07:48rubuildius_amd64Adam Gardiner: f08736a5d; 2097 files, 6824 examples, 24572 expectations, 0 failures, 0 errors; http://rafb.net/p/igXdiJ33.html
15:11:24rubuildius_ppcAdam Gardiner: f08736a5d; 2097 files, 6826 examples, 24598 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/191725
15:14:55qwert666 enters the room.
15:15:03rphillips enters the room.
15:20:22qwert666 leaves the room.
15:23:48wmoxam enters the room.
15:27:35jtoy enters the room.
15:40:11Skip leaves the room.
15:44:02agile leaves the room.
15:52:31dctanner enters the room.
15:56:19dctanner leaves the room.
15:57:47dlee enters the room.
15:59:36therealadam enters the room.
16:00:19Skip enters the room.
16:03:37ttmrichter leaves the room.
16:08:29benstiglitz enters the room.
16:08:39enebo enters the room.
16:09:10dmpk2k leaves the room.
16:30:39yaroslav leaves the room.
16:30:46dctanner enters the room.
16:30:57marnen_ leaves the room.
16:31:50marnen_ enters the room.
16:32:55srbaker enters the room.
16:35:53srbaker leaves the room.
16:38:31fearoffish leaves the room.
16:38:52fearoffish enters the room.
16:40:47fearoffish leaves the room.
16:40:53wdperson leaves the room.
16:41:06fearoffish enters the room.
16:42:32wdperson enters the room.
16:42:57lstoll leaves the room.
16:43:37lstoll enters the room.
16:48:35marnend'oh...I learned some very interesting things from writing this BigDecimal library...for example, did you know that 31 / 3 = 103.3333? :D
16:48:50rueWell, irrationally
16:50:12sudoer enters the room.
16:52:41marnen_ leaves the room.
16:53:33agile enters the room.
16:54:20boyscout1 commit by Federico Builes
16:54:21boyscout * One more case for YAML.load specs; 7db8c2b
16:59:39jlindley enters the room.
17:02:20atmos enters the room.
17:02:49rubuildius_amd64Federico Builes: 7db8c2b56; 2097 files, 6825 examples, 24574 expectations, 0 failures, 0 errors; http://rafb.net/p/jrtQxS90.html
17:03:12atmos leaves the room.
17:03:18atmos enters the room.
17:03:40atmos leaves the room.
17:03:48atmos enters the room.
17:05:36sudoer leaves the room.
17:05:41TheProkrammer...
17:05:43TheProkrammerhttp://github.com/why/unholy/tree/master
17:06:39dbussinkis it me, or is it very weird that i can't do BigDecimal(31)
17:06:57dbussinkdoesn't seem to fit with the principle of least surprise to me
17:08:25jtoy leaves the room.
17:09:55rubuildius_ppcFederico Builes: 7db8c2b56; 2097 files, 6827 examples, 24600 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/191781
17:10:04Arjen_ leaves the room.
17:11:57thehcdreamer_ enters the room.
17:13:00srbaker enters the room.
17:14:45lstoll leaves the room.
17:16:43DefilerYeah, I would expect Float#to_bigdecimal to exist, as well
17:16:56DefilerI guess it is because Decimal isn't a core class like Bignum
17:17:09rueHm, weird.
17:17:34rueTheProkrammer: I would have been happy if he had written a parser
17:17:38srbaker leaves the room.
17:18:34radarek_ enters the room.
17:19:19Yurik enters the room.
17:19:56thehcdreamer leaves the room.
17:21:14dbussinkDefiler: something we should extend after we've established world domination ;)
17:24:20lopex enters the room.
17:25:15nicksieger leaves the room.
17:25:17mutle leaves the room.
17:28:02benny enters the room.
17:30:38flori leaves the room.
17:31:10radarek leaves the room.
17:31:21atmos leaves the room.
17:31:21therealadam leaves the room.
17:31:21w1rele55 leaves the room.
17:31:21rubuildius_amd64 leaves the room.
17:32:32flori enters the room.
17:32:34atmos enters the room.
17:32:34therealadam enters the room.
17:32:34w1rele55 enters the room.
17:32:34rubuildius_amd64 enters the room.
17:33:22enebo leaves the room.
17:36:03evanmorning.
17:36:03hoopy_ enters the room.
17:36:43dbussinkevening
17:38:43thehcdreamer_ leaves the room.
17:39:36rueAfternoon
17:43:42dctanner leaves the room.
17:51:22hoopy leaves the room.
17:52:01joachimm leaves the room.
17:55:17RyanTM enters the room.
17:58:22wycats enters the room.
18:02:01radarek_ leaves the room.
18:02:42radarek enters the room.
18:04:35trythil enters the room.
18:06:38boyscout1 commit by Federico Builes
18:06:39boyscout * Adding more specs for REXML::Element; 2f3a4cc
18:09:55boyscout1 commit by Marnen Laibow-Koser
18:09:56boyscout * Fix some bugs in BigDecimal#/. More may yet lurk.; d932230
18:10:13marnen enters the room.
18:13:34zimbatm enters the room.
18:14:20kamal_farizi had a brief chat with monty from gemstone about maglev
18:14:22TheVoice enters the room.
18:14:25kamal_farizat barcamp portland
18:15:02evanoh? when was that?
18:15:15kamal_farizthis past weekend
18:15:57kamal_farizhe contributed the info that they only had to add 6 additional bytecodes to their vm
18:16:02kamal_farizto get ruby running
18:17:18lstoll enters the room.
18:17:28evani'd suffix that statement with "to get SOME ruby running"
18:17:55rubuildius_amd64Marnen Laibow-Koser: d9322306e; 2103 files, 6845 examples, 24662 expectations, 0 failures, 0 errors; http://rafb.net/p/w5gYQU85.html
18:18:06kamal_farizprobably true
18:18:17kamal_farizthey haven't got mspec running yet
18:18:28kamal_farizbut webrick is
18:20:10evaninteresting.
18:20:17evanmspec is less complicated than webrick.
18:20:33Defilerwebrick is really friendly when you don't have perfect eval yet, though
18:20:39evantrue
18:20:43kamal_farizthey are targeting to have webrick running for railsconf
18:20:50kamal_farizbut not rails itself
18:20:54Defilerwhereas mspec relies on precise instance_eval
18:21:04evani didn't think it did anymore
18:21:11evani thought we were just using block.call
18:21:21DefilerWe had to go back to it due to the constant behavior
18:21:26Defileras I recall
18:21:50DefilerI haven't looked recently, though
18:22:15evanweird.
18:22:21evanwhen I run the compiler specs under MRI
18:22:25macournoyer enters the room.
18:22:28evani get a bunch of extra output
18:22:29evanit's odd.
18:22:40evani wonder if I just did that.
18:24:28anteaya enters the room.
18:25:30evanoop, it was me.
18:25:31evan:)
18:26:47DefilerI like the idea of returning to a state where we can bootstrap
18:26:50Defiler(easily)
18:27:05DefilerI think it frees us up to make more drastic changes if we want
18:27:20evanthats my thinking too
18:27:31evanwe've had too many bootstrap problems
18:27:41evanrelated to bootstraping using a broken rubinius
18:27:46evanwhich should clear those up
18:27:50brixenDefiler: we're not using instance_eval in mspec (yet)
18:28:00evanbut since we have to run eval and such, we're not going to neglect the compiler running inside rubinius either
18:28:08DefilerYeah. Throwing away MRI compatibility doesn't gain us anything but 'street cred'
18:28:15evanwhich was the original reason I abandoned MRI bootstrapping
18:28:28evanwell, we'll be able to bootstrap on any ruby now.
18:28:28DefilerYeah, 99% of the time we will be self-hosting
18:28:39rubuildius_ppcMarnen Laibow-Koser: d9322306e; 2103 files, 6847 examples, 24688 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/191825
18:28:40rubuildius_ppcFederico Builes: 2f3a4cc14; 2103 files, 6846 examples, 24623 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/191824
18:30:37imajes_ enters the room.
18:31:17dmpk2k enters the room.
18:31:18imajes leaves the room.
18:33:15Defilerdef cookie_time is my favorite Merb method so far
18:33:42manveruDefiler: oh, did i mention that ramaze runs on rubinius now?
18:33:52evanmanveru: oh? yay!
18:33:54manveruthanks again :)
18:33:54DefilerCool
18:33:55evanunder webrick?
18:33:59manveruwebrick and mongrel
18:34:04evandouble awesome!
18:34:08evanmanveru: could you blog that news?
18:34:19manveruthough mongrel has to be modified... fastthread.so doesn't like rubinius
18:34:30manveruso i took out that require and it worked
18:34:32evanthats expected.
18:34:36manveruwell, not yet
18:34:42manverurubinius is missing abbrev.rb
18:34:42evanit never will
18:34:42DefilerYeah, we should make a lib/fastthread.rb that is a no-op for us
18:34:47evanyeah
18:34:47manveruso it doesn't work out of the box
18:34:59evanoh, we can add abbrev.rb back in
18:35:00Defilermanveru: abbrev.rb works, so we can move it to lib now. I have that locally, but haven't checked it in
18:35:02evani removed it because I thought it was dead
18:35:13manverui use abbrev a lot :)
18:35:21evanhm, maybe i'm thinking of something else.
18:35:31manveruand it's a quite small lib
18:35:49evanyeah, i must be thinking of something else.
18:36:06manveruafter putting abbrev.rb from 1.8 into lib/ it worked
18:36:13evanyay!
18:36:29evanmanveru: would you put abbrev.rb into the right place in the rubinius tree and commit it?
18:36:54manverusure
18:37:12manveruthough i still need access :)
18:37:20evanoh?
18:37:28evanhook me up with an ssh key
18:37:30evanand i'll fix that.
18:38:16manveruevan: http://manveru.net/id_dsa.pub
18:39:28evanok, added
18:39:34manveruthanks
18:42:30evanthank you.
18:43:53wycats leaves the room.
18:44:37benny leaves the room.
18:48:40atmos leaves the room.
18:50:22antares enters the room.
18:52:09boyscout1 commit by Michael Fellinger
18:52:10boyscout * Adding lib/abbrev.rb; 7059fd4
18:52:22manveruyay, my first commit ^^;
18:52:57evanand there was much rejoicing
18:53:26dbussinklet's do the hamster dance!
18:53:55scooprlet the hamPsterdance die.
18:54:17dbussinkscoopr: hehe
18:56:25fbuilesvpastie: hi
18:56:43pastiehttp://pastie.org/191846 by fbuilesv.
18:57:10fbuilesvWith that in /etc/hosts our TCPSocket.gethostbyname is getting different answers from MRI's implementation
18:57:32dbussinkfbuilesv: i think i've written that
18:57:50dbussinkfbuilesv: this is that i've used getaddrinfo internally and not the gethostbyname c call
18:57:57dbussinkwhich is kinda semi deprecated
18:58:06dbussinkso that could result in differences in certain cases
18:58:27fbuilesvdbussink: getaddrinfo always returns korobushka.local for me with taht hosts, on MRI or rbx
18:58:41dbussinkfbuilesv: hmm, and gethostbyname?
18:58:44fbuilesvfbuilesv: so I was wondering how the MRI impl does gethostbyname to get "localhost" instead of that
18:59:01fbuilesvI don't fully get what make_hostent_internal's doing
18:59:02evangetaddrinfo gives you multiple entries
18:59:04evanas I recall
18:59:14evanso perhaps it loops through them, looking for localhost
18:59:27fbuilesvevan: yes, but it returns korobushka.local twice
18:59:34evanhm, interesting.
18:59:42evanwhere is the rubinius code that is returning it twice?
19:00:03dbussinkgethostbyname is a different c call
19:00:10dbussinkthat apparently behaves different in this case
19:00:12fbuilesvevan: socket.rb but it will return it too for MRI, they change in the last parameter
19:02:48rubuildius_amd64Michael Fellinger: 7059fd4f9; 2103 files, 6845 examples, 24662 expectations, 0 failures, 0 errors; http://rafb.net/p/MIKWoK58.html
19:04:26dbussinkbut i'm off now, will be back later
19:05:23manveruhmm
19:05:50rby_ enters the room.
19:06:10manveruevan: seems like the scope bug is still around...
19:06:17evanwhich?
19:07:07manveru1.times{ bar = 1 }; p bar
19:08:01evani looked
19:08:06evansomething broke in the parser.
19:08:15evanbecause check out the sexp for that under rubinius
19:08:20evanit has bar as an lvar
19:08:27evanon the end
19:08:51benburkert leaves the room.
19:09:04manveruwell, just wanted to ask if that's a known bug
19:09:08rubuildius_ppcMichael Fellinger: 7059fd4f9; 2103 files, 6847 examples, 24688 expectations, 0 failures, 0 errors; http://pastie.caboo.se/paste/191855
19:09:24evanno
19:09:25manverusearching for a ticket didn't yield anything
19:09:30evanit's just been exposed in the last few days
19:09:32evanplease open a ticket
19:09:39evaninclude the sexp output in the ticket
19:09:45manveruuhm
19:09:45evanand the expected sexp output
19:10:02manveruand... how am i supposed to know either?
19:10:15evanit should be a :vcall node.
19:10:24evanopen up rubinius and do
19:10:33evan"10.times { bar = 1 }; bar".to_sexp
19:10:36evanto get the current sexp
19:11:01manverubtw, is there some kind of irb for rubinius?
19:11:06evanjust start it
19:11:12evanit starts irb by default.
19:11:30manveruoh, it just takes a while to start
19:11:34evanirb is big.
19:11:39evanit's not instant
19:11:41evana few seconds.
19:11:47rueHuh. strncmp() is adding two characters
19:12:55manveruand what's the expected sexp?
19:13:26evaninstead of [:lvar, :bar] on the end, it should be [:vcall, :bar]
19:13:41wycats enters the room.
19:15:35rueDid you say it parsed correctly through IRB?
19:15:50evanyeah, oddly.
19:15:52benny enters the room.
19:16:20rueBut -e fails; are those still in the same loop?
19:16:40rueI know there is the depth issue between eval and non-eval but that does not seem to be the problem
19:17:53evansame loop?
19:17:57evanit's not eval related
19:18:05evanbecause the sexp is wrong coming out of the parser
19:18:10evanthats where it needs to be addressed
19:18:27evanit works in irb because the statements are parsed seperatel
19:18:46evanbecause you do '10.times { bar = 1 }' <enter>
19:18:48evanthen 'bar'
19:18:54evanso the parser is invoked twice
19:18:58evanthats why irb works.
19:19:09rueAh, I thought you meant the same line with colon
19:19:15evanno
19:21:02manveruwell, have fun: http://rubinius.lighthouseapp.com/projects/5089-rubinius/tickets/522-local-variables-in-blocks-lea k-their-existence
19:21:23benburkert enters the room.
19:33:08ShayArnett enters the room.
19:33:11rueAwky, MRI, be back in a bit
19:33:50ShayArnett leaves the room.
19:34:02ShayArnett enters the room.
19:37:18tomy_ enters the room.
19:39:30anteaya leaves the room.
19:40:05imajes leaves the room.
19:40:32anteaya enters the room.
19:49:50marnen leaves the room.
19:49:57GMFlash leaves the room.
19:50:29twbray enters the room.
19:50:48knowtheory enters the room.
19:52:09knowtheorySo! Anybody catch why's attempt to compile ruby into python? http://hackety.org/2008/05/05/sneakingRubyThroughGoogleAppEngine.html
19:52:14evanyep
19:52:20evanshould be interesting
19:52:30evanhe's right, that the bytecode formats are very similar
19:52:34evanditto for rubinius
19:52:35knowtheoryYeah, you think that any mass'll build up behind it?
19:52:41evanbut the execution model is pretty different
19:52:41imajes enters the room.
19:52:44evanas is the core library
19:53:02knowtheoryyeah, it's one of those things that seems like a missing piece of all the stuff that's been happening
19:53:04evanyou could write code that looks like ruby, but runs with python's execution model
19:53:07evanbut thats not ruby.
19:53:17knowtheoryNo indeed not
19:53:29evanthats pretty much what _why is doing.
19:53:43evanunless he plans to translate the rubinius kernel to python
19:53:50evannow THAT would be interesting.
19:54:05knowtheoryRight well if you begin with a trivial example it's hard to evaluate what real examples will look like
19:54:10tarcierithat'd be insane
19:54:31evaninsane is clearly one of _why's middle names
19:54:34evanso I don't put it past him.
19:54:36tarcieriheh
19:55:01tarcieriwould like to see that done for Tamarin/SWF bytecode
19:55:11tarcierisomething like HotRuby, but uhh, usable?
19:55:18evandoes anyone know if AppEngine uses pypy?
19:55:35tarcierisounds like it does from what _why's saying
19:55:50evanhe might just be guessing
19:55:52evanlike everyone else.
19:56:10tarcieriheh
19:56:30knowtheoryyeah i think you'd have to get a googler on the line to actually answer that question
19:56:41lopexheh, googling for google app engine pypy, gives why_'s page as first one
19:56:53evanheh
19:57:16evanbecause last I heard, pypy wasn't mature or fast enough for that
19:57:23evanso I'm doubting google would hitch their wagon to that
19:57:41evanunless they've got their own internal pypy that they're not releasing
19:57:42knowtheorynot without pouring some google dev into it
19:58:07knowtheoryalthough that doesn't much sound like them (although they could be holding back on releasing it until further testing or something)
19:58:07tarcieriwell they do have Guido and all...
19:58:37evanbut guido has stated many times he's not working on pypy
19:59:00lopexand they have infninite amount of money
19:59:17knowtheoryguido's off to python3k land isn't he?
19:59:24evanknowtheory: last I heard, yeah.
19:59:45evanbut since they have an expert in the CPython runtime
19:59:55evani'd doubt they would NOT use that knowledge.
20:01:50evanbut, it's all speculation
20:01:54evani know zilch.
20:02:32knowtheorySo, how 'bout i quiz you about somethig you know more about? ;)
20:02:41evansure! :)
20:02:49tarcieriI bet the next language App Engine will support is Java
20:02:56tarcieriin which case, just use JRuby... problem solved
20:02:56wycats_ enters the room.
20:03:05evantarcieri: probaby via their android runtime though
20:03:10knowtheoryWell, like i said, headius's post makes me more interested in contributing to rubinius
20:03:16evanwhich post?
20:03:26tarcierievan: Urgh... you really think so?
20:03:31knowtheorythe long one a couple days ago, to which you wrote your retort
20:03:55knowtheoryi'm trying to figure out whether i should just be trying to help add to specs or something else
20:04:01tarcieriI don't see why they'd need Android for something hosted
20:04:30knowtheorypoking through the bug tracker atm as well
20:05:51knowtheoryRather, my question is, what background knowledge and reading should one do before looking for things to actually help with?
20:05:59knowtheoryis reading through bits of the spec going to be useful?
20:09:03evanknowtheory: ah! ok.
20:09:04evanyeah
20:09:11evanreading through the spec is useful
20:09:20evanto understand the behavior of methods
20:09:27evanyou could run the specs and fix some failures
20:12:52brixenknowtheory: if you go here and look at the right sidebar, there is some "howto" docs: http://rubinius.lighthouseapp.com/projects/5089-rubinius/overview
20:13:06tomyevan: I have a question about inlline method caching.
20:13:12evantomy_: hit me.
20:13:21brixenknowtheory: there's also a "stuff to read" paage if you want some theory :)
20:13:35tomyHow do you deal with instance methods. You can't just look at the class.
20:13:43knowtheorybrixen: thanks man, i'm poking through the spec overview and associated docs atm :)
20:13:52brixenknowtheory: cool
20:14:49knowtheorybut yes, i'd very much like some theory. I caught wilson's interview with infoq, which i found quite intresting. I think he mentioned the blue book in it.
20:14:53tomyWhat I mean is class Foo implements a method bar, and a and b are instances of this class but 'a' reimplments bar on it's instances
20:15:12tomyInstance singular
20:15:33evantomy_: in that case
20:15:43evanyou actually don't use Foo in the cache
20:15:46evanyou use a's metaclass
20:15:57evanas the cache validator
20:16:38tomySo metaclasses are indexed just like classes?
20:16:52evanindexed?
20:17:17tomyI have been playing with PICs in llvm using a switch statement for various method dispatches
20:17:27anteaya leaves the room.
20:17:43evanooooooh
20:17:48GMFlash enters the room.
20:17:52evanok.
20:18:01tomyI was switching on a class ID, but obviously my naive assumptions about ruby have bitten me
20:18:06evanso, you store the objects metaclass in the PIC
20:18:22evanor rather, you compare the objects metaclass against the classes stored in the PIC
20:18:34evantomy_: ruby has no class id's
20:18:51evanbut if it did, yes, metaclasses would have a unique class id
20:19:02tomyOkay, is the meta class only created when needed? IE, in my example the b instance wouldn't have a metaclass
20:19:12qwert666 enters the room.
20:19:16evanyou use whatever object is located directly in the klass slot of the object as the PIC key
20:19:24evanyes, the metaclass is allocated lazily
20:19:41evantomy_: are you trying to generate llvm for ruby?
20:19:50tomyOh, doh, so the metaclass is inserted between the original class and the instance.
20:19:54anteaya enters the room.
20:19:55evanyep
20:20:01evanbefore
20:20:03evanobj.class == Foo
20:20:04evanafter
20:20:18evanobj.class == #<MetaClass superclass=Foo>
20:20:27tomyI'm just playing with dynamic dispatch in a mini language to better understand things and to try some ideas.
20:20:32evansweet
20:20:34tomyUsing llvm.
20:20:35evani'd love to talk
20:20:42evani was thinking about llvm all weekend.
20:21:17tomyI have been playing with treating all methods with the same name as one method with a switch on class type
20:21:33tomyAnd reordering on the fly
20:21:59evaninteresting.
20:22:13evanso you've flip'd the class/method relationship
20:22:33evanthats similar to a scheme that ianp and I talked about
20:22:43evanwhen you move method binding semantics into the selector
20:23:02tomyExactly
20:23:02evanyou let the selector know everyone that implements it, and how to find the implementation
20:23:37evanwhich has nice properties base on the fact that the field of selector names is wide and shallow
20:23:40evanusually
20:23:45evans/base/based/
20:23:47tomyYes
20:24:02evanhow is it coming?
20:24:03tomyWider than classes in the stats I have produced
20:24:12fbuilesv leaves the room.
20:25:59tomyWell, it still a little dynamic language without too much notion of classes, but when I read you were rewriting the VM in C++ I became interested, since you pretty much have to do llvm in C++
20:26:20tomythough I have thought about writing Ruby bindings for the llvm api
20:27:04twbray leaves the room.
20:28:30scooprI was thinking doing pure-ruby llvm-ir generator, but that's on my forever-projects-list
20:28:50evantomy_: yep
20:29:02evantomy_: i'm interested in LLVM ruby bindings as well
20:29:06evanyou should check out Rice
20:29:19evanit's a framework for writing ruby extensions in C++
20:29:36evanit might be easier to generate a Rice extension that glues in LLVM
20:29:41tomyYou'd still want all those backend optimization tools. I toyed with the same idea.
20:30:04evani've been thinking about LLVM use not in a standalone sense
20:30:07tomyI just saw Rice the other day. I've started playing with it. It looks well done.
20:30:21evanie, not turning ruby into pure ir that can run in an empty environment
20:30:43evanbut rather, ir that highly depends on running in an environment
20:30:48evanthats not at all standalone
20:30:58evanbut still lets you leverage llvm for optimizations and code generation
20:31:01tomyMore like just being able to compile methods on demand?
20:31:05evanyeah
20:31:32evani'm thinking enough code to take a rubinius bytecode CompiledMethod object and generate an LLVM Function that performs the same duties
20:31:49evanbut that Function object would be highly intertwined with the environment
20:32:04evani'm thinking that generating standalone ir is really too big of a job.
20:32:25evaneven the JVM doesn't do that.
20:32:37VVSiz_ enters the room.
20:32:37evanthe internal JIT is tied to that running of the JVM
20:33:10tomyYeah, that might be true. But the part that interests me is the data flow analysis (SSA) that could be used to determine that "a + 3" was always going to be an integer add.
20:33:49evansure
20:34:04tomyLook for example at the bm_app_fib.rb.
20:34:23mapar enters the room.
20:34:24tomyAt least a big win on microbenchmarks :-)
20:34:50evan:)
20:35:01evanthe key is how to put the guards in
20:35:17evanso that the guards don't cost you so much to execute that you waste the optimization
20:35:56tomyYeah. I was reading something the other day that muddied that for me. Putting guards in for the programmer that changes something in the debugger, sigh.
20:37:00hornbeck leaves the room.
20:37:24hornbeck enters the room.
20:37:57tomyDoes the kernel make heavy use of "eval". Is it possible to determine a program is "closed"
20:38:18evanno
20:38:21evanalmost no use of eval
20:38:25evani highly frown upon it.
20:38:43evanthere are eval like features that call into eval
20:38:46evanmodule_eval, class_eval, etc.
20:38:47VVSiz leaves the room.
20:38:54knowtheorytoo "clever", or "magical"?
20:38:55evanbut they are all cordined off
20:39:04evanknowtheory: both
20:39:04tomyOkay
20:39:06evanplus, too dependent
20:39:13evanand never performant
20:41:44tomyevan, is there a way in the MRI to know a method has been overridden in a subclass, even for the built-in classes?
20:41:57evanno
20:42:09evanbut it could be added
20:42:22evanwhen a method is added, the superclass could be notified
20:42:25evanso it can take actions
20:42:32evanbut MRI doesn't do that
20:42:37tomyThat sucks. I want to build statistics rather than speculate.
20:42:41evanMRI has a VERY simple cache clearing strategy
20:42:58evanwhen you add a method of name, say, blah
20:43:06evanit clears the entire cache of all methods named blah
20:43:15evanwithout considering scope or anything
20:43:26tomyUgh.
20:43:31evanyep.
20:43:32evan:)
20:46:16tomyWell, I'm going to continue to play with llvm, and watch your VM work. Maybe I can come up with a jitter.
20:47:28evanare you putting your work anywhere?
20:47:30evani'd love to see.
20:48:12tomyNot yet, but I plan to soon. I think I might have a go at Rice/LLVM, since it would be nice to be able to generate code inside irb.
20:48:22evanagreed.
20:48:34tomyAnd play with llvm classes with compiling.
20:48:52tomywithout compiling.
20:49:59evanok, lunch time.
20:50:14tomyI only get to spend about an hour a day working on it on my bus commute. The rest of the day is Rails development.
20:50:30tomyI'll let you know when I have something up.
20:54:49ezmobius enters the room.
21:00:37joachimm enters the room.
21:02:42benny leaves the room.
21:05:01chris2 enters the room.
21:11:32ShayArnett leaves the room.
21:20:40enebo enters the room.
21:20:40dctanner enters the room.
21:22:26Maledictus leaves the room.
21:22:52enebo leaves the room.
21:27:03xhanjian enters the room.
21:32:26dewd enters the room.
21:32:27qwert666_ enters the room.
21:35:46rueBack
21:36:50xhanjian1 enters the room.
21:37:04evanyo
21:39:36xhanjian_ leaves the room.
21:49:22xhanjian leaves the room.
21:49:47qwert666 leaves the room.
21:50:07rueHuu, interesting. XML parser with parsing speed "approaching strlen over the same data"
21:50:18ruehttp://rapidxml.sourceforge.net/
21:50:30evanyeah, i saw that
21:50:31evanpretty cool.
21:50:32rueIn a header file too :P
21:50:42evanyeah, it doesn't copy the data either.
21:50:53evanit references the input char* via pointers only
21:51:09rueWonder if anyone would notice if we secretly killed REXML, took its skin and put the cyborg inside?
21:51:26evanpeople use the internals sometimes
21:51:38evanbut if you made it lazily allocate objects
21:51:42evani'll bet no one would notice.
21:52:20rueEh, people who use internals should disappear too
21:52:30djwhittrapidxml doesn't support sax as far as I could tell
21:52:58djwhittor any kind of even based parsing for that matter
21:53:01djwhitt*event
21:55:32rueCould fake it
21:55:58djwhittsure, but wouldn't that mean you'd have to read everything into memory?
21:55:59rueOR erase everybody's memory so no-one remembers there is such a thing as SAX... decisions, decisions
21:56:50evanbitchin
21:56:57evanadded stack depth calculate to the compiler
21:56:58evanit was easy too
21:57:02evanthanks to agardiner
21:57:05rueNice
21:57:20ShayArnett enters the room.
21:57:21ruedjwhitt: Yeah, or at least the branch in question
21:57:39DefilerWe should just make the VM docs output executable code
21:57:43Defilerrather than vice versa
21:57:58rueHeh, that would be fun
21:58:07evanwow, i wonder if this is right....
21:58:14evanthere are some big methods
21:58:16evanlots of opcodes
21:58:23evanwith like a stack depth of 9.
21:58:35evani guess that makes sense
21:58:48evanthe stack only gets deeper with nested statements
21:58:51evannot with method length
22:00:19be9 leaves the room.
22:01:25twbray enters the room.
22:04:03mapar leaves the room.
22:07:50binary42 leaves the room.
22:14:44ctennis enters the room.
22:19:01qwert666_ leaves the room.
22:27:11twbray leaves the room.
22:30:55srbaker enters the room.
22:31:12jlindley leaves the room.
22:43:13imajes leaves the room.
22:45:56macournoyer leaves the room.
22:46:07srbaker leaves the room.
22:47:00mkrauskopf leaves the room.
22:49:57srbaker enters the room.
22:55:29twbray enters the room.
23:01:42twbray__ enters the room.
23:03:06bitbang enters the room.
23:09:09imajes enters the room.
23:13:22imajes leaves the room.
23:13:33srbaker leaves the room.
23:14:47wmoxam leaves the room.
23:16:58trythil leaves the ro