Show enters and exits. Hide enters and exits.
| 00:00:06 | benburkert_ leaves the room. | |
| 00:00:31 | zenspider | evan: rawr indeed |
| 00:01:00 | evan | got a few more hours sleep after arriving back in LA at 11:30 this morning |
| 00:01:33 | zenspider | evan: we thought you were in japan until the end of the week |
| 00:01:40 | rue_XIV enters the room. | |
| 00:01:48 | evan | ah. nope. |
| 00:02:01 | evan | shall I leave so you guys can continue screwing around? :D |
| 00:02:52 | zenspider | hah |
| 00:03:00 | zenspider | I'm too tired to screw around |
| 00:03:12 | evan | you've got no excuse |
| 00:03:17 | evan | i had to travel back in time this morning. |
| 00:03:21 | evan | that takes a lot out of ya |
| 00:03:40 | Yurik enters the room. | |
| 00:03:54 | ezmobius enters the room. | |
| 00:04:31 | nexcastellan | Welcome back, evan! Congratulations on inventing a time machine. |
| 00:04:53 | wyhaines leaves the room. | |
| 00:04:54 | nexcastellan | Is there video of your talk? |
| 00:05:52 | rue leaves the room. | |
| 00:06:22 | evan | :D |
| 00:06:24 | evan | it was recorded |
| 00:06:25 | Defiler | there was live video, but I haven't seen a URL for the archive yet |
| 00:06:38 | Defiler | I stayed up to watch some of it but I missed evan's talk hah |
| 00:06:40 | evan | they're posting the recordings to the crazy japanese youtube site |
| 00:06:44 | Defiler | freaking 3am |
| 00:07:14 | Defiler | How'd the talk go? Did the rubyists over there swear blood feud with us yet? Heh |
| 00:07:19 | evan | hehe |
| 00:07:20 | evan | it's weird |
| 00:07:27 | evan | because they don't really react mid talk |
| 00:07:35 | evan | so all my normal being funny, etc. just falls flat. |
| 00:07:59 | crafterm enters the room. | |
| 00:07:59 | ezmobius | heya evan welcome back, you in the USA now? |
| 00:08:02 | Defiler | Yeah, laughing is different there heh |
| 00:08:14 | evan | the biggest laugh I got was when I said "__METHOD__" which was "underscore underscope <very deep, loud voice>METHOD" |
| 00:08:27 | Defiler | haha that is funny |
| 00:08:29 | evan | because I think it woke people up |
| 00:08:42 | evan | I think it went well. |
| 00:08:46 | evan | japan rocked. |
| 00:09:04 | evan | a whole bunch of us are talking about going to kaigi every year |
| 00:09:26 | binary42 leaves the room. | |
| 00:09:30 | Defiler | Did you see the EY plans about renting an apartment there this year? |
| 00:09:37 | Defiler | and having a bunch of people go over? |
| 00:09:43 | Defiler | I am so down for that business |
| 00:10:06 | ezmobius | hey when do you guys think it would be a good time to get all rbx ey peoples here in SF for another sprint? |
| 00:10:31 | zenspider | ezmobius: this weekend for pride! |
| 00:10:46 | zenspider | (kidding... I'd miss our pride up here) |
| 00:10:50 | ezmobius | :P |
| 00:11:08 | Defiler | any time after july 9th is good for me |
| 00:11:26 | evan | i need to check my calendar |
| 00:11:36 | dary leaves the room. | |
| 00:12:50 | roo leaves the room. | |
| 00:13:21 | evan | ok, if i'm going to survive to go to bed at a normal time tonight, I need to go walk around and get some food. |
| 00:13:24 | evan | bbiab |
| 00:13:28 | drbrain | evan: is there a way to move the platform.conf figure-out-ZLIB_VERSION code into struct_generator? |
| 00:13:37 | drbrain | that way zlib.rb.in would be completely self contained |
| 00:13:40 | drbrain | bah! |
| 00:13:46 | drbrain | (I removed lib/ext/zlib/zlib.c |
| 00:13:57 | evan | i'll answer right after the break.... |
| 00:15:05 | zenspider | ezmobius: how about: next time it WILL NOT be 100F in SF. ugh. |
| 00:15:19 | ezmobius | its usualy not that hot here |
| 00:15:55 | zenspider | I know... just really shitty timing |
| 00:16:21 | zenspider | also, apt needs a fan. that blower doesn't do shit. air was terribly stale |
| 00:18:03 | ezmobius | yeah we really need AC on the upper floors |
| 00:18:05 | benburkert leaves the room. | |
| 00:18:07 | ezmobius | for those hot dfays |
| 00:18:08 | rue_XIV leaves the room. | |
| 00:21:37 | naeu leaves the room. | |
| 00:21:59 | binary42 enters the room. | |
| 00:23:28 | zenspider | I would have been much better off (sleeping) if there was air that moved |
| 00:23:52 | ezmobius | yeah |
| 00:25:56 | yipstar leaves the room. | |
| 00:28:51 | neelance leaves the room. | |
| 00:29:51 | yipstar enters the room. | |
| 00:31:08 | hemulen-away leaves the room. | |
| 00:32:38 | evan | ok, back. |
| 00:32:46 | evan | feeling more alert having got the blood moving a bit. |
| 00:34:16 | Defiler | nice |
| 00:34:46 | Defiler | I've been really having a good time at the gym recently |
| 00:35:02 | Defiler | I think better afterwards |
| 00:35:26 | Defiler | and I'd also like to report that obie has a swank office on the beach |
| 00:36:07 | drbrain | lounge chair + umbrella + extra battery + ice chest? |
| 00:36:34 | evan | feet in the sand? thats the best for dev. |
| 00:36:49 | Defiler | That's basically correct, yeah |
| 00:36:59 | Defiler | You can look down onto the beach |
| 00:37:11 | Defiler | they have a ping pong room |
| 00:43:25 | evan | Defiler: how was that other ruby conf in JAX? |
| 00:44:04 | bhb__ leaves the room. | |
| 00:44:13 | benburkert enters the room. | |
| 00:46:17 | drbrain | evan: how about my zlib.rb.in constant fetching request |
| 00:46:30 | evan | let me look |
| 00:46:37 | evan | i don't recall what we do in that file. |
| 00:46:43 | qrush_ enters the room. | |
| 00:46:59 | drbrain | we've got the @@@ part that figures out the struct size |
| 00:47:06 | evan | ah |
| 00:47:07 | evan | yeah |
| 00:47:11 | evan | i'd rather have it in there |
| 00:47:14 | drbrain | we should also be able to lookup constants in there, IMO |
| 00:47:14 | evan | not in platform.conf |
| 00:47:20 | evan | since this code isn't in kernel. |
| 00:47:34 | drbrain | then we can distribute extensions that are purely FFI |
| 00:47:56 | drbrain | even if they have to do a small bit of C compiling at config time |
| 00:48:07 | evan | well. |
| 00:48:11 | drbrain | ok, I'll put that on my mental to-do |
| 00:48:18 | evan | since this isn't a kernel/ file |
| 00:48:25 | evan | platform.conf is the wrong place. |
| 00:48:35 | drbrain | yeah |
| 00:48:59 | drbrain | ... I'll figure something out to share the code between the two |
| 00:49:08 | evan | which two? |
| 00:49:26 | drbrain | ffi-as-a-library and rakelib/ |
| 00:49:54 | evan | well, we could make the struct generator available in lib/ |
| 00:49:58 | evan | and use it like ruby-inline |
| 00:50:10 | evan | ie, check for a config file, if not there, generate it |
| 00:50:43 | drbrain | don't worry about it, I will do something smrt |
| 00:50:52 | zenspider | normally I'd say woot, but that sounds ick. :P |
| 00:50:53 | anteaya enters the room. | |
| 00:51:12 | evan | zenspider: if you have a better way to figure out struct layout from header files, i'm all ears. |
| 00:51:54 | blowmage enters the room. | |
| 00:52:41 | zenspider | better than using inline at runtime? |
| 00:52:47 | Defiler | evan: It was fun. Talked through the 'caller' stuff with a bunch of people and got it squared away, at least for now |
| 00:53:01 | Defiler | Lots of Ruby devs in Jacksonville apparently |
| 00:53:14 | evan | zenspider: yeah, since i assumed it was that you were "ick"ing at. |
| 00:53:22 | drbrain | I think I'll also switch from .in to .ffi |
| 00:53:27 | drbrain | so we can have a rake task! |
| 00:53:44 | evan | Defiler: oh, matz said the caller line thing is a bug |
| 00:53:44 | zenspider | that is exactly what I'm icking at. I'd vote to stick to compile time |
| 00:53:47 | evan | he'll look at |
| 00:53:53 | zenspider | yay for rake tasks! |
| 00:54:01 | Defiler | evan: Cool. There's another one that I emailed ruby-core about that is even crazier in my opinion |
| 00:54:05 | naeu enters the room. | |
| 00:54:10 | evan | yeah, strictly compile time is why it's setup with a .in file now |
| 00:54:11 | wyhaines enters the room. | |
| 00:54:16 | zenspider | not that file pattern things work very well in rake. :/ |
| 00:54:24 | Defiler | Why not? |
| 00:54:27 | evan | it's backwards. |
| 00:54:30 | evan | mentally, i think. |
| 00:54:36 | evan | anyway. |
| 00:55:11 | Defiler | Isn't it just like a lazy array of filenames? |
| 00:55:17 | Defiler | Shouldn't that work goodlyish? |
| 00:55:34 | zenspider | Defiler: that to me? |
| 00:55:54 | blowmage leaves the room. | |
| 00:56:02 | Defiler | kinda, but it isn't important |
| 00:56:17 | Defiler | I was just wondering what was wrong with rake's file pattern tasks |
| 00:56:37 | bhb__ enters the room. | |
| 00:56:50 | zenspider | Defiler: oh. I think we're talking about two different things... |
| 00:56:56 | zenspider | Defiler: I mean... sec. |
| 00:56:59 | drbrain | they're to => from instead of from => to |
| 00:57:00 | zenspider | rules |
| 00:57:07 | zenspider | rules are pretty weak |
| 00:57:26 | Defiler | oh, rules. yeah |
| 00:57:28 | zenspider | I'm not a big fan of Filelist either, since it is overly complicated for no benefit |
| 00:57:28 | Defiler | those are lame |
| 00:57:39 | headius enters the room. | |
| 00:57:44 | zenspider | drbrain: well, the big weakness is that they're one extension deep only |
| 00:57:51 | zenspider | so you can't write one for, say, ".tar.gz" |
| 00:58:14 | evan | headius: how was Matsue? |
| 00:59:00 | dary enters the room. | |
| 00:59:08 | ezmobius | yes! got my nginx tshirts |
| 00:59:36 | headius | it was great! talked to all the NaCl guys about JRuby, Duby, Hotspot, and Ruby standardization |
| 00:59:44 | twbray enters the room. | |
| 01:00:01 | evan | cool |
| 01:00:16 | drbrain | headius: zlib.rb.in is now C-free, except for figuring out the zlib version which is currently done in our rakelib/platform.rake |
| 01:00:21 | drbrain | no more extension |
| 01:00:27 | headius | drbrain: yeah, I saw that, started playing with loading it today |
| 01:00:37 | headius | for some reason jruby-ffi doesn't seem to like :pointer, so I need to look into that |
| 01:00:53 | headius | I just hardcoded zlib version for now |
| 01:01:22 | drbrain | I doubt you'd find somebody not on 1.2.3 |
| 01:01:58 | drbrain | we were also talking about moving the figure-out-constants stuff into a proper library, I'll be working on that shortly |
| 01:02:05 | drbrain | so it would go in the @@@ section |
| 01:02:39 | zenspider | #define ZLIB_VERSION "1.1.4" |
| 01:02:43 | taf2 enters the room. | |
| 01:02:43 | zenspider | hah |
| 01:03:09 | headius | ok |
| 01:03:40 | headius | other than the pointer thing, which is probably just an oversight, I could see zlib being the first one we could gemify |
| 01:03:46 | headius | gotta run to the next flight, bbl |
| 01:03:52 | drbrain | bye |
| 01:04:07 | evan | laterz. |
| 01:04:16 | evan | btw, ianp's peg/leg library rocks. |
| 01:04:29 | evan | if you have need to parse text in C. |
| 01:05:16 | zenspider | stabs evan |
| 01:05:45 | evan | returns from the dead and throws zenspider into the enternal pit of pointers |
| 01:05:55 | evan | eternal. |
| 01:05:58 | evan | maybe. |
| 01:06:34 | zenspider | pulls out his C shaped knife and cuts a C shaped hole in evan's C obsessed brain... fixing the problem |
| 01:06:50 | Defiler | See? I told you C was the solution |
| 01:06:52 | evan | i'm not sure how I'm C obsessed. |
| 01:06:59 | evan | but SOMEONE has to do it |
| 01:07:04 | evan | and none of you fools have stepped up. |
| 01:07:33 | Defiler | I am shamed. I will cut my belly. |
| 01:08:21 | zenspider | haha |
| 01:08:32 | zenspider | pulls out the popcorn and sits down to watch |
| 01:10:16 | evan | 切腹! |
| 01:10:39 | evan | patterson taught me how to type .jp style |
| 01:11:11 | Defiler | nice |
| 01:12:11 | evan | i had to look that up though |
| 01:12:16 | evan | it's not in apple dictionary |
| 01:13:05 | zenspider | typing japanese on osx is easy-breezy... |
| 01:13:17 | zenspider | no clue WHAT to type, but I can type it regardless |
| 01:13:35 | evan | heh |
| 01:13:47 | evan | you have to know how the japanese word sounds |
| 01:14:07 | evan | then you type it in (hirigana style), then you can convert that to kangi |
| 01:15:30 | zenspider | yeah... I just have zero vocab... |
| 01:16:12 | evan | arigato is about the only thing I can do :) |
| 01:16:28 | zenspider | haha |
| 01:17:03 | Defiler | it is probably under seppuku in the dictionary |
| 01:18:56 | qwert666 leaves the room. | |
| 01:19:05 | evan | now If i could get OS X to let my type hiragana with a dvorak layout... |
| 01:19:10 | evan | s/my/me/ |
| 01:19:22 | jp_tix | evan: macruby has ICU transformations built-in now :) |
| 01:19:28 | evan | i know! |
| 01:19:33 | evan | i saw lrz show it off |
| 01:19:35 | evan | it's rad. |
| 01:19:44 | Defiler | Oh that's a cool trick |
| 01:19:45 | jp_tix | yeah, very nice |
| 01:19:57 | Defiler | I wish they would come mac up our stuff =( |
| 01:20:09 | evan | "arigato".transform("English-Hiragana") |
| 01:20:10 | evan | i think... |
| 01:20:25 | jp_tix | puts "watashiha".transform('Latin-Hiragana') # => わたしは |
| 01:20:32 | jp_tix | :D |
| 01:20:33 | evan | ah, Latin. |
| 01:20:34 | evan | yeah. |
| 01:20:47 | evan | does it it know "wwwwwww" and "888" |
| 01:20:50 | evan | :D |
| 01:21:29 | jp_tix | hmm |
| 01:21:37 | jp_tix | puts "wwwwwww".transform("Latin-Hiragana") # => っっっっっっう |
| 01:21:49 | evan | it was actually awesome to see japanese IRC habits first hand |
| 01:21:53 | evan | like "wwwww" and "888" |
| 01:22:02 | jp_tix | huh? |
| 01:22:10 | evan | wwwwww == lol |
| 01:22:15 | evan | 888 == clapping |
| 01:22:21 | jp_tix | hah, really! :) |
| 01:22:23 | nicksieger enters the room. | |
| 01:22:25 | evan | yeah! |
| 01:22:30 | evan | we had to have Leonard Chin explain it to us |
| 01:22:49 | jp_tix | hehe |
| 01:23:04 | jp_tix | funny stuff |
| 01:23:10 | evan | wwwww is short for some japanese word |
| 01:23:27 | evan | i guess the 88's look like hands clasped? dunno. |
| 01:24:39 | headius leaves the room. | |
| 01:25:51 | drbrain | evan: I think it's laughter |
| 01:25:57 | evan | yeah |
| 01:26:03 | evan | i was trying to recall the word though |
| 01:26:07 | evan | it's got a bunch of w's in it |
| 01:26:07 | drbrain | hahaha |
| 01:26:09 | evan | obviously. |
| 01:28:57 | wyhaines leaves the room. | |
| 01:29:55 | jbarnette leaves the room. | |
| 01:33:02 | edwardam_ enters the room. | |
| 01:33:25 | antares leaves the room. | |
| 01:44:46 | drbrain | hi ko1_! |
| 01:45:13 | ko1 | Hi! |
| 01:45:19 | zenspider | hey! |
| 01:45:21 | ko1 | we finished RubyKaigi |
| 01:45:24 | zenspider | how are you? |
| 01:45:41 | ko1 | fine. and we decide 1.9.1 release plan |
| 01:46:16 | ko1 | we'll release 1.9.0-X every month/25th and 1.9.1 will be released at 2007/12/20 |
| 01:46:39 | evan | ko1_: 有り難う for a great time! |
| 01:46:49 | jtoy enters the room. | |
| 01:46:53 | ko1 | evan: you too! |
| 01:47:04 | naeu leaves the room. | |
| 01:47:19 | ko1 | every japanese rubyist love rubinius! |
| 01:47:25 | evan | hah |
| 01:47:27 | tarcieri | heh |
| 01:47:29 | ko1 | i want to say pls use cruby 1.9 |
| 01:47:48 | evan | i'm sure they love 1.9 too! |
| 01:47:51 | tarcieri | ko1: it's working just fine for the time being |
| 01:48:01 | tarcieri | 1.9, that is |
| 01:48:07 | tarcieri | short of the garbage collection issues |
| 01:48:23 | zenspider | ko1_: and 1.9.1 will be considered production/release? |
| 01:48:24 | ko1 | GC issues? |
| 01:48:39 | tarcieri | ko1: the same ones that are in 1.8 |
| 01:48:45 | ko1 | evan: did you return your home? |
| 01:48:53 | tarcieri | ko1: the garbage collector isn't compacting |
| 01:48:55 | ko1 | zenspider: we hope so |
| 01:48:57 | evan | ko1_: yes, back in LA now. |
| 01:49:08 | zenspider | ko1_: good to know. thank you. |
| 01:49:10 | evan | now to recover from jet lag :) |
| 01:49:20 | zenspider | ko1_: any thoughts on miniunit? :D |
| 01:49:28 | ko1 | tarcieri: ya. simple consevetive m&s gc |
| 01:50:05 | ko1 | zenspider: i'm not sure. please argue kou and so on :) |
| 01:50:18 | ko1 | evan: hehe |
| 01:51:41 | tarcieri | ko1: generational GC is one of the big things in Rubinius that will help my programs, since they're long-running |
| 01:51:55 | twbray leaves the room. | |
| 01:51:56 | zenspider | ko1_: cheater. :P |
| 01:51:59 | tarcieri | and can't be easily restarted without losing valuable things, like open TCP connections |
| 01:52:22 | crafterm leaves the room. | |
| 01:52:35 | ko1 | tarceri: i see. |
| 01:52:59 | zenspider | I'm sorta dissapointed with kou... he agreed to my original plan without any complaints/suggestions |
| 01:52:59 | tarcieri | but other than that YARV is doing great |
| 01:54:11 | ko1 | tarcieri: we have many C extension, so we have big compatible issue to impl. sophisticated GC |
| 01:55:48 | electronx enters the room. | |
| 01:55:54 | qrush_ leaves the room. | |
| 01:55:56 | ko1 | zenspider: kou is clever hacker, especially against APIs |
| 01:56:14 | ko1 | i believe kou than me :) |
| 01:56:29 | electronx | just wandering is rubinius syntax fully compatible with ruby 1.8.7? |
| 01:56:37 | evan | electronx: yes |
| 01:56:38 | ezmobius | nope 1.8.6 |
| 01:56:41 | ezmobius | oh? |
| 01:56:43 | evan | electronx: well |
| 01:56:48 | zenspider | ko1_: agreed... just wish he'd discussed this up front rather than when I want to push |
| 01:56:50 | evan | were there syntax changes in 1.8.7? |
| 01:56:54 | electronx | yep |
| 01:56:55 | evan | we use a parser from 1.8.2 |
| 01:56:56 | ezmobius | yup |
| 01:56:59 | lstoll leaves the room. | |
| 01:56:59 | evan | so no. |
| 01:57:01 | drbrain | actually, 1.8.2, kinda |
| 01:57:03 | zenspider | electronx: 1.8.6, with a couple really tiny edge cases... all considered bugs |
| 01:57:11 | ezmobius | 1.8.7 kinda sucks imho |
| 01:57:29 | electronx | lol |
| 01:57:33 | zenspider | ezmobius: were there actual user facing parser changes? |
| 01:57:35 | drbrain | I like that 1.8.7 added many 1.9 features |
| 01:57:38 | zenspider | I don't know of those |
| 01:57:42 | electronx | 1.8.7 is supposed to pave the way for 2 |
| 01:57:43 | ezmobius | actuyally i dont knwo if there are parser changes |
| 01:57:49 | ezmobius | just breaking api changes in a minor release |
| 01:58:03 | zenspider | right... I know about those |
| 01:58:06 | ezmobius | 1.8.7 will not run any version of rails before 2.1 |
| 01:58:06 | ko1 | 1.8.7 support {|&b|} syntax |
| 01:58:13 | evan | ah, ok. |
| 01:58:24 | electronx | does Merb run on ruby 1.8.7? |
| 01:58:41 | ezmobius | havent tried yet. im staying with my beloved 1.8.6p114 |
| 01:58:55 | zenspider | ko1_: ah! cool. thanks. I'll add some tests to ParseTree for that |
| 01:59:41 | tarcieri | any hope of ever getting ParseTree going on 1.9? |
| 01:59:52 | drbrain | for procs? no |
| 01:59:55 | zenspider | tarcieri: none that I know of |
| 02:00:03 | zenspider | actually... ko1_ ... while you're here |
| 02:00:13 | zenspider | ko1_: is there any way to get a bytecode dump of a proc in 1.9? |
| 02:00:24 | lchin enters the room. | |
| 02:00:32 | ko1 | i can do it. |
| 02:00:32 | zenspider | ko1_: http://blog.zenspider.com/2008/06/dear-lazyweb-proc-disassembly.html |
| 02:00:40 | zenspider | haha |
| 02:00:46 | zenspider | yes... but can _I_? :P |
| 02:01:17 | ko1 | some issues |
| 02:01:21 | zenspider | even with C... that'd be fine |
| 02:01:28 | ko1 | for example, some procs are written in C |
| 02:01:33 | evan | lchin: hey Lenny! |
| 02:01:36 | zenspider | *nod* |
| 02:02:12 | zenspider | ko1_: I'm thinking of people writing DSL-style blocks/procs and generating from it |
| 02:02:20 | lchin | hi |
| 02:02:42 | ko1 | zenspider: i'm not sure "bytecode is enough to do as DSL?" |
| 02:03:20 | ijcd leaves the room. | |
| 02:03:25 | ko1 | AST is easy to handle. but bytecode is not. |
| 02:03:28 | ko1 | IMO |
| 02:03:29 | wvdschel leaves the room. | |
| 02:03:37 | zenspider | ko1_: ParseTree + ruby2ruby is used a lot in 1.8 to write DSL libraries |
| 02:03:49 | zenspider | ko1_: agreed... but as I understand it, I can't get my ASTs anymore |
| 02:03:54 | ko1 | zenspider: i know. |
| 02:04:01 | zenspider | ko1_: so I was thinking of writing a bytecode disassembler |
| 02:04:43 | ko1 | is it usable? |
| 02:04:57 | ko1 | how about on Rubinius? |
| 02:05:08 | evan | same problem as 1.9 |
| 02:05:11 | zenspider | ko1_: I dunno... I can't get bytecodes for procs. :) |
| 02:05:14 | evan | we don't save the AST for a Proc currently |
| 02:05:17 | zenspider | ko1_: we use AST on rubinius |
| 02:05:18 | evan | zenspider: sure ya can! |
| 02:05:25 | evan | puts proc.block.decode |
| 02:05:35 | zenspider | ah. well... I'll have to do something about that. :) |
| 02:05:52 | evan | we've talked about saving ASTs in the bytecode |
| 02:05:58 | zenspider | evan: we're talking 1.9 |
| 02:05:59 | evan | but we haven't done that yet. |
| 02:06:01 | evan | yeah. |
| 02:06:05 | evan | ko1_ asked about Rubinius |
| 02:06:15 | ko1 | i throw out AST if compilation finihsed |
| 02:06:18 | benburkert leaves the room. | |
| 02:06:24 | ko1 | on YARV |
| 02:06:32 | zenspider | evan: you're interrupting. :P |
| 02:06:40 | benburkert enters the room. | |
| 02:06:50 | evan | zenspider: :P |
| 02:07:03 | zenspider | ko1_: *nod* I know... that's why I was looking at bytecode disassembly |
| 02:07:41 | ko1 | I can hold AST in ISeq, but it's needless most of time. |
| 02:08:18 | zenspider | I gotta run... I'm logging tho... or you can answer on my blog entry |
| 02:08:23 | zenspider | (dinner time) |
| 02:08:29 | ko1 | in fact, i hold all AST on old version of YARV, to achieve re-compilation |
| 02:08:29 | zenspider | we'll be back in an hour |
| 02:08:48 | ko1 | have a good dinner |
| 02:09:08 | ko1 | i have finished morning 2 hours ago :) |
| 02:11:40 | ezmobius leaves the room. | |
| 02:16:37 | dfg59 leaves the room. | |
| 02:17:52 | Yurik leaves the room. | |
| 02:24:54 | electronx leaves the room. | |
| 02:24:54 | nicksieger leaves the room. | |
| 02:24:54 | bhb__ leaves the room. | |
| 02:24:54 | binary42 leaves the room. | |
| 02:24:54 | fbuilesv leaves the room. | |
| 02:24:54 | foysavas leaves the room. | |
| 02:24:54 | loincloth leaves the room. | |
| 02:24:54 | cremes_ leaves the room. | |
| 02:24:54 | shame leaves the room. | |
| 02:24:54 | pastie leaves the room. | |
| 02:24:54 | drbrain leaves the room. | |
| 02:24:54 | goodney leaves the room. | |
| 02:24:54 | mass leaves the room. | |
| 02:24:54 | djwhitt leaves the room. | |
| 02:24:54 | matthewd leaves the room. | |
| 02:24:54 | Vagabond leaves the room. | |
| 02:24:54 | Fobax leaves the room. | |
| 02:24:54 | manveru leaves the room. | |
| 02:24:54 | cout leaves the room. | |
| 02:25:29 | electronx enters the room. | |
| 02:25:29 | nicksieger enters the room. | |
| 02:25:29 | bhb__ enters the room. | |
| 02:25:29 | binary42 enters the room. | |
| 02:25:29 | fbuilesv enters the room. | |
| 02:25:29 | foysavas enters the room. | |
| 02:25:29 | loincloth enters the room. | |
| 02:25:29 | cremes_ enters the room. | |
| 02:25:29 | shame enters the room. | |
| 02:25:29 | pastie enters the room. | |
| 02:25:29 | drbrain enters the room. | |
| 02:25:29 | cout enters the room. | |
| 02:25:29 | Fobax enters the room. | |
| 02:25:29 | Vagabond enters the room. | |
| 02:25:29 | djwhitt enters the room. | |
| 02:25:29 | mass enters the room. | |
| 02:25:29 | goodney enters the room. | |
| 02:25:29 | manveru enters the room. | |
| 02:25:29 | matthewd enters the room. | |
| 02:25:58 | goodney leaves the room. | |
| 02:25:58 | mass leaves the room. | |
| 02:25:58 | djwhitt leaves the room. | |
| 02:25:58 | bhb__ leaves the room. | |
| 02:25:58 | electronx leaves the room. | |
| 02:25:58 | fbuilesv leaves the room. | |
| 02:25:58 | matthewd leaves the room. | |
| 02:25:58 | Vagabond leaves the room. | |
| 02:25:58 | Fobax leaves the room. | |
| 02:25:58 | nicksieger leaves the room. | |
| 02:25:58 | loincloth leaves the room. | |
| 02:25:58 | manveru leaves the room. | |
| 02:25:58 | binary42 leaves the room. | |
| 02:25:58 | cout leaves the room. | |
| 02:25:58 | drbrain leaves the room. | |
| 02:25:58 | shame leaves the room. | |
| 02:25:58 | pastie leaves the room. | |
| 02:25:58 | cremes_ leaves the room. | |
| 02:25:58 | foysavas leaves the room. | |
| 02:26:34 | electronx enters the room. | |
| 02:26:34 | nicksieger enters the room. | |
| 02:26:34 | bhb__ enters the room. | |
| 02:26:34 | binary42 enters the room. | |
| 02:26:34 | fbuilesv enters the room. | |
| 02:26:34 | foysavas enters the room. | |
| 02:26:34 | loincloth enters the room. | |
| 02:26:34 | cremes_ enters the room. | |
| 02:26:34 | shame enters the room. | |
| 02:26:34 | pastie enters the room. | |
| 02:26:34 | drbrain enters the room. | |
| 02:26:34 | cout enters the room. | |
| 02:26:34 | Fobax enters the room. | |
| 02:26:34 | Vagabond enters the room. | |
| 02:26:34 | djwhitt enters the room. | |
| 02:26:34 | mass enters the room. | |
| 02:26:34 | goodney enters the room. | |
| 02:26:34 | manveru enters the room. | |
| 02:26:34 | matthewd enters the room. | |
| 02:26:50 | binary42 leaves the room. | |
| 02:27:41 | dschn leaves the room. | |
| 02:28:12 | dschn enters the room. | |
| 02:29:48 | dschn leaves the room. | |
| 02:30:19 | dschn enters the room. | |
| 02:31:39 | bhb___ enters the room. | |
| 02:31:39 | bhb__ leaves the room. | |
| 02:33:30 | wycats leaves the room. | |
| 02:33:30 | maharg leaves the room. | |
| 02:33:51 | wycats enters the room. | |
| 02:33:51 | maharg enters the room. | |
| 02:34:10 | yipstar leaves the room. | |
| 02:35:12 | dary leaves the room. | |
| 02:35:12 | rudebwoy_ leaves the room. | |
| 02:35:12 | VVSiz leaves the room. | |
| 02:35:12 | zf leaves the room. | |
| 02:35:12 | dgtized leaves the room. | |
| 02:35:12 | ko1_ leaves the room. | |
| 02:35:51 | dary enters the room. | |
| 02:35:51 | rudebwoy_ enters the room. | |
| 02:35:51 | VVSiz enters the room. | |
| 02:35:51 | ko1_ enters the room. | |
| 02:35:51 | zf enters the room. | |
| 02:35:51 | dgtized enters the room. | |
| 02:36:32 | ShayArnett enters the room. | |
| 02:37:08 | dgtized leaves the room. | |
| 02:37:08 | zf leaves the room. | |
| 02:37:08 | VVSiz leaves the room. | |
| 02:37:08 | dary leaves the room. | |
| 02:37:08 | rudebwoy_ leaves the room. | |
| 02:37:08 | ko1_ leaves the room. | |
| 02:37:31 | dary enters the room. | |
| 02:37:31 | rudebwoy_ enters the room. | |
| 02:37:31 | VVSiz enters the room. | |
| 02:37:31 | ko1_ enters the room. | |
| 02:37:31 | zf enters the room. | |
| 02:37:31 | dgtized enters the room. | |
| 02:38:27 | dschn leaves the room. | |
| 02:38:27 | benburkert leaves the room. | |
| 02:38:27 | anteaya leaves the room. | |
| 02:38:27 | evan leaves the room. | |
| 02:38:27 | olabini leaves the room. | |
| 02:38:27 | jero5 leaves the room. | |
| 02:38:27 | rubuildius_ppc leaves the room. | |
| 02:38:27 | TheProkrammer leaves the room. | |
| 02:38:27 | shoe leaves the room. | |
| 02:38:27 | Jzalae leaves the room. | |
| 02:38:27 | c0sin leaves the room. | |
| 02:38:27 | michalw leaves the room. | |
| 02:38:27 | vincentlu leaves the room. | |
| 02:38:27 | nexcastellan leaves the room. | |
| 02:38:27 | tarcieri leaves the room. | |
| 02:38:27 | joachimm leaves the room. | |
| 02:38:27 | dmpk2k leaves the room. | |
| 02:38:27 | squeegy leaves the room. | |
| 02:38:27 | corundum leaves the room. | |
| 02:38:27 | jazen leaves the room. | |
| 02:38:27 | explody leaves the room. | |
| 02:38:27 | tmm1 leaves the room. | |
| 02:38:27 | lchin leaves the room. | |
| 02:38:27 | taf2 leaves the room. | |
| 02:38:27 | cremes leaves the room. | |
| 02:38:27 | anonuser leaves the room. | |
| 02:38:27 | atmos leaves the room. | |
| 02:38:27 | dbussink leaves the room. | |
| 02:38:27 | olafski leaves the room. | |
| 02:38:27 | zenspider leaves the room. | |
| 02:38:27 | dgtized leaves the room. | |
| 02:38:27 | zf leaves the room. | |
| 02:38:27 | VVSiz leaves the room. | |
| 02:38:27 | dary leaves the room. | |
| 02:38:27 | rudebwoy_ leaves the room. | |
| 02:38:27 | ko1_ leaves the room. | |
| 02:38:27 | maharg leaves the room. | |
| 02:38:27 | wycats leaves the room. | |
| 02:38:27 | bhb___ leaves the room. | |
| 02:38:27 | goodney leaves the room. | |
| 02:38:27 | mass leaves the room. | |
| 02:38:27 | djwhitt leaves the room. | |
| 02:38:27 | electronx leaves the room. | |
| 02:38:27 | fbuilesv leaves the room. | |
| 02:38:27 | matthewd leaves the room. | |
| 02:38:27 | Vagabond leaves the room. | |
| 02:38:27 | Fobax leaves the room. | |
| 02:38:27 | nicksieger leaves the room. | |
| 02:38:27 | loincloth leaves the room. | |
| 02:38:27 | manveru leaves the room. | |
| 02:38:27 | cout leaves the room. | |
| 02:38:27 | drbrain leaves the room. | |
| 02:38:27 | shame leaves the room. | |
| 02:38:27 | pastie leaves the room. | |
| 02:38:27 | cremes_ leaves the room. | |
| 02:38:27 | foysavas leaves the room. | |
| 02:38:31 | ShayArnett leaves the room. | |
| 02:38:31 | jp_tix leaves the room. | |
| 02:38:31 | jicksta leaves the room. | |
| 02:38:31 | defn leaves the room. | |
| 02:38:31 | edwardam_ leaves the room. | |
| 02:38:31 | dysinger leaves the room. | |
| 02:38:31 | loop leaves the room. | |
| 02:38:31 | rphillips leaves the room. | |
| 02:38:31 | drfreeze leaves the room. | |
| 02:38:31 | Defiler leaves the room. | |
| 02:38:31 | imajes leaves the room. | |
| 02:38:31 | mjwhitt leaves the room. | |
| 02:38:31 | Maledictus leaves the room. | |
| 02:38:31 | imajes_office leaves the room. | |
| 02:38:31 | kevinclark leaves the room. | |
| 02:38:31 | flori leaves the room. | |
| 02:38:31 | jammi leaves the room. | |
| 02:38:31 | Illocution leaves the room. | |
| 02:38:31 | cyndis leaves the room. | |
| 02:38:31 | wycats_afk leaves the room. | |
| 02:38:31 | Ingmar leaves the room. | |
| 02:38:31 | hoopy leaves the room. | |
| 02:38:31 | mutle_ leaves the room. | |
| 02:38:31 | willl leaves the room. | |
| 02:38:31 | fearoffish leaves the room. | |
| 02:38:31 | xmlhacker leaves the room. | |
| 02:38:55 | dgtized enters the room. | |
| 02:38:55 | zf enters the room. | |
| 02:38:55 | ko1_ enters the room. | |
| 02:38:55 | VVSiz enters the room. | |
| 02:38:55 | rudebwoy_ enters the room. | |
| 02:38:55 | dary enters the room. | |
| 02:38:55 | ShayArnett enters the room. | |
| 02:38:55 | jammi enters the room. | |
| 02:38:55 | wycats_afk enters the room. | |
| 02:38:55 | cyndis enters the room. | |
| 02:38:55 | Ingmar enters the room. | |
| 02:38:55 | loop enters the room. | |
| 02:38:55 | Illocution enters the room. | |
| 02:38:55 | hoopy enters the room. | |
| 02:38:55 | flori enters the room. | |
| 02:38:55 | defn enters the room. | |
| 02:38:55 | rphillips enters the room. | |
| 02:38:55 | jicksta enters the room. | |
| 02:38:55 | drfreeze enters the room. | |
| 02:38:55 | Defiler enters the room. | |
| 02:38:55 | willl enters the room. | |
| 02:38:55 | xmlhacker enters the room. | |
| 02:38:55 | fearoffish enters the room. | |
| 02:38:55 | corundum enters the room. | |
| 02:38:55 | jazen enters the room. | |
| 02:38:55 | squeegy enters the room. | |
| 02:38:55 | explody enters the room. | |
| 02:38:55 | joachimm enters the room. | |
| 02:38:55 | dmpk2k enters the room. | |
| 02:38:55 | tmm1 enters the room. | |
| 02:38:55 | nexcastellan enters the room. | |
| 02:38:55 | vincentlu enters the room. | |
| 02:38:55 | tarcieri enters the room. | |
| 02:38:55 | dbussink enters the room. | |
| 02:38:55 | olafski enters the room. | |
| 02:38:55 | zenspider enters the room. | |
| 02:38:55 | kevinclark enters the room. | |
| 02:38:55 | Jzalae enters the room. | |
| 02:38:55 | shoe enters the room. | |
| 02:38:55 | TheProkrammer enters the room. | |
| 02:38:55 | atmos enters the room. | |
| 02:38:55 | imajes_office enters the room. | |
| 02:38:55 | anonuser enters the room. | |
| 02:38:55 | dysinger enters the room. | |
| 02:38:55 | rubuildius_ppc enters the room. | |
| 02:38:55 | cremes enters the room. | |
| 02:38:55 | Maledictus enters the room. | |
| 02:38:55 | michalw enters the room. | |
| 02:38:55 | jero5 enters the room. | |
| 02:38:55 | olabini enters the room. | |
| 02:38:55 | mutle_ enters the room. | |
| 02:38:55 | c0sin enters the room. | |
| 02:38:55 | mjwhitt enters the room. | |
| 02:38:55 | jp_tix enters the room. | |
| 02:38:55 | imajes enters the room. | |
| 02:38:55 | evan enters the room. | |
| 02:38:55 | anteaya enters the room. | |
| 02:38:55 | taf2 enters the room. | |
| 02:38:55 | edwardam_ enters the room. | |
| 02:38:55 | lchin enters the room. | |
| 02:38:55 | benburkert enters the room. | |
| 02:38:55 | electronx enters the room. | |
| 02:38:55 | nicksieger enters the room. | |
| 02:38:55 | fbuilesv enters the room. | |
| 02:38:55 | foysavas enters the room. | |
| 02:38:55 | loincloth enters the room. | |
| 02:38:55 | cremes_ enters the room. | |
| 02:38:55 | shame enters the room. | |
| 02:38:55 | pastie enters the room. | |
| 02:38:55 | drbrain enters the room. | |
| 02:38:55 | cout enters the room. | |
| 02:38:55 | Fobax enters the room. | |
| 02:38:55 | Vagabond enters the room. | |
| 02:38:55 | djwhitt enters the room. | |
| 02:38:55 | mass enters the room. | |
| 02:38:55 | goodney enters the room. | |
| 02:38:55 | manveru enters the room. | |
| 02:38:55 | matthewd enters the room. | |
| 02:38:55 | dschn enters the room. | |
| 02:38:55 | bhb___ enters the room. | |
| 02:38:55 | wycats enters the room. | |
| 02:38:55 | maharg enters the room. | |
| 02:40:19 | stepheneb enters the room. | |
| 02:40:52 | jero5 leaves the room. | |
| 02:40:52 | rubuildius_ppc leaves the room. | |
| 02:40:52 | olabini leaves the room. | |
| 02:40:52 | shoe leaves the room. | |
| 02:40:52 | evan leaves the room. | |
| 02:40:52 | benburkert leaves the room. | |
| 02:40:52 | anteaya leaves the room. | |
| 02:40:52 | TheProkrammer leaves the room. | |
| 02:40:52 | Jzalae leaves the room. | |
| 02:41:23 | benburkert enters the room. | |
| 02:41:23 | anteaya enters the room. | |
| 02:41:23 | evan enters the room. | |
| 02:41:23 | olabini enters the room. | |
| 02:41:23 | jero5 enters the room. | |
| 02:41:23 | rubuildius_ppc enters the room. | |
| 02:41:23 | Jzalae enters the room. | |
| 02:41:23 | shoe enters the room. | |
| 02:41:23 | TheProkrammer enters the room. | |
| 02:42:05 | antares enters the room. | |
| 02:45:13 | qrush_ enters the room. | |
| 02:46:58 | VVSiz_ enters the room. | |
| 02:49:33 | binary42 enters the room. | |
| 02:51:33 | vincentlu leaves the room. | |
| 02:51:34 | nexcastellan leaves the room. | |
| 02:51:34 | tarcieri leaves the room. | |
| 02:51:34 | joachimm leaves the room. | |
| 02:51:34 | c0sin leaves the room. | |
| 02:51:34 | explody leaves the room. | |
| 02:51:34 | dmpk2k leaves the room. | |
| 02:51:34 | jazen leaves the room. | |
| 02:51:34 | corundum leaves the room. | |
| 02:51:34 | michalw leaves the room. | |
| 02:51:34 | squeegy leaves the room. | |
| 02:51:34 | tmm1 leaves the room. | |
| 02:52:09 | c0sin enters the room. | |
| 02:52:09 | michalw enters the room. | |
| 02:52:09 | corundum enters the room. | |
| 02:52:09 | jazen enters the room. | |
| 02:52:09 | squeegy enters the room. | |
| 02:52:09 | explody enters the room. | |
| 02:52:09 | joachimm enters the room. | |
| 02:52:09 | dmpk2k enters the room. | |
| 02:52:09 | tmm1 enters the room. | |
| 02:52:09 | nexcastellan enters the room. | |
| 02:52:09 | vincentlu enters the room. | |
| 02:52:09 | tarcieri enters the room. | |
| 02:56:12 | cored enters the room. | |
| 02:56:31 | electronx leaves the room. | |
| 02:58:47 | twbray enters the room. | |
| 02:59:28 | twbray leaves the room. | |
| 02:59:52 | jbarnette enters the room. | |
| 03:04:15 | twbray enters the room. | |
| 03:04:27 | VVSiz leaves the room. | |
| 03:06:54 | lstoll enters the room. | |
| 03:10:33 | bhb___ leaves the room. | |
| 03:11:30 | twbray leaves the room. | |
| 03:18:00 | zenspider | ko1_: what'd you have for breakfast? |
| 03:18:16 | zenspider | ko1_: I had korean for dinner... pork bulgogi. nom nom nom |
| 03:21:51 | jbarnette leaves the room. | |
| 03:22:20 | jbarnette enters the room. | |
| 03:22:22 | ko1 | pork "don" |
| 03:22:53 | zenspider | for breakfast?? |
| 03:22:59 | ko1 | ya :) |
| 03:23:08 | zenspider | that'd be more lunchy over here... nom nom nom |
| 03:23:27 | dfg59 enters the room. | |
| 03:23:27 | ko1 | nom? |
| 03:24:09 | zenspider | ko1_: you familiar with cookie monster from sesame street? |
| 03:24:18 | ko1 | i knon |
| 03:24:20 | ko1 | know |
| 03:28:26 | Erlang00t enters the room. | |
| 03:30:07 | zenspider | cookie monster goes nom nom nom when he eats... can't find a good video of it tho |
| 03:30:32 | benburkert leaves the room. | |
| 03:30:56 | Erlang00t leaves the room. | |
| 03:30:56 | zenspider | http://www.youtube.com/watch?v=u7hTkzEwFZ0 kindo nom nom nom-y |
| 03:31:42 | benburkert enters the room. | |
| 03:32:12 | Erlang00t enters the room. | |
| 03:33:02 | benburkert leaves the room. | |
| 03:33:57 | twbray enters the room. | |
| 03:37:15 | cored leaves the room. | |
| 03:37:15 | fbuilesv leaves the room. | |
| 03:37:21 | fbuilesv enters the room. | |
| 03:38:55 | lchin leaves the room. | |
| 03:40:36 | ShayArnett leaves the room. | |
| 03:40:53 | ko1 | nom nom nom |
| 03:41:17 | ko1 | "DON" is one of the fast food in Japan |
| 03:45:57 | lstoll_ enters the room. | |
| 03:49:44 | antares leaves the room. | |
| 03:50:10 | zenspider | ko1_: so, would you recommend I _not_ try to get bytecode for a proc and write a disassembler? |
| 03:50:37 | jbarnette | zenspider: convenient timing, I was just dinking with that |
| 03:50:54 | AndrewO enters the room. | |
| 03:51:07 | ko1 | zenspider: i'm not sure |
| 03:51:49 | ko1 | we need to know "how to use" it. |
| 03:52:00 | ko1 | for which purpose. |
| 03:53:58 | Erlang00t leaves the room. | |
| 03:54:46 | ezmobius enters the room. | |
| 03:55:24 | zenspider | ko1_: same purpose you'd use AST. dynamic runtime manipulation of code |
| 03:55:53 | lstoll leaves the room. | |
| 03:56:18 | zenspider | in 1.8 land, we do things like converting "proc { |x| x + 2 }" into |
| 03:56:32 | zenspider | s(:iter, s(:fcall, :proc), s(:dasgn_curr, :x), s(:call, s(:dvar, :x), :+, s(:array, s(:lit, 2)))) |
| 03:56:47 | zenspider | with that we can write simple processors to convert it into something else |
| 03:56:48 | ko1 | zenspider: as I said, bytecode (BC) seems lacking representation |
| 03:56:57 | zenspider | then use my ruby2ruby processor to convert it back to ruby to be eval'd |
| 03:57:05 | ko1 | I'm sure with AST, but not sure with BC |
| 03:57:28 | twbray leaves the room. | |
| 03:57:33 | wmoxam enters the room. | |
| 03:57:38 | zenspider | ko1_: it won't be idiomatic, but it would be canonical |
| 03:57:38 | ko1 | making BC -> AST ? :) |
| 03:57:48 | zenspider | yes |
| 03:58:36 | zenspider | I can certainly go from "putobject 1; putobject 2; opt_plus" to s(:call, s(:lit, 1), :+, s(:arglist, s(:lit, 2))) |
| 03:58:49 | zenspider | a lot of it will be ugly, but it will be processable with mechanical translation |
| 03:58:50 | ko1 | wow |
| 03:59:16 | ko1 | JVM bytecode -> Java is also difficult |
| 03:59:29 | ko1 | i believe that we don't have complete one. |
| 03:59:42 | ko1 | but simple impl. can be done. |
| 03:59:47 | zenspider | *nod*, but it is done... it goes to UGLY java, but it is still usable |
| 03:59:58 | ko1 | ok |
| 04:00:18 | ko1 | could you propose the API that to handle BC on ruby-core? |
| 04:00:44 | zenspider | handle? or retrieve? |
| 04:00:49 | lstoll_ leaves the room. | |
| 04:00:59 | zenspider | retrieval API is there and seems ok |
| 04:01:06 | ko1 | i can't understand the difference |
| 04:01:25 | ko1 | to see or to modify? |
| 04:01:26 | zenspider | ok. to me handle == process/manipulate |
| 04:01:33 | zenspider | retrieve == plain get |
| 04:01:41 | ko1 | retrieve :) |
| 04:02:01 | zenspider | I don't want to modify the bytecode directly, ever. that'd be scary. :) |
| 04:02:27 | ko1 | i'm planning replacing BC feature |
| 04:02:48 | zenspider | so for retrieval I think #disassemble is a fine API |
| 04:02:50 | ko1 | or replacing an instruction |
| 04:03:02 | ko1 | Proc#disassemble ? |
| 04:03:31 | ko1 | I think VM::InstructionSequence#to_a is fine API |
| 04:03:41 | zenspider | ko1_: alternatively, if there was the ability to change a boolean so that AST isn't dropped after BC compile, that'd solve everything I'd think |
| 04:03:45 | ko1 | so we need VM::InstructionSequence obj from Proc. |
| 04:03:47 | zenspider | works for me |
| 04:03:52 | zenspider | *nod* |
| 04:04:54 | ko1 | global flag? |
| 04:05:03 | ko1 | > hold AST or not |
| 04:05:11 | ko1 | or environment variable? |
| 04:05:23 | ko1 | or command line option? |
| 04:05:41 | zenspider | I'm thinking global flag, so it is activated when require 'parse_tree' |
| 04:05:58 | ko1 | VM::InstructionSequence.hold_nodes = true/false |
| 04:06:11 | zenspider | that would be lovely |
| 04:06:18 | jbarnette | :) |
| 04:06:20 | ko1 | name is issue :) |
| 04:06:22 | wycats leaves the room. | |
| 04:06:34 | zenspider | VM::InstructionSequence.keep_ast = true/false |
| 04:06:41 | zenspider | or dump_ast |
| 04:06:41 | jbarnette | ko1_: VM::InstructionSequence.retain_parse_tree = true |
| 04:06:55 | TheVoice leaves the room. | |
| 04:06:56 | zenspider | save_ast |
| 04:06:56 | jbarnette | or save |
| 04:07:12 | zenspider | any of these would be pretty clear |
| 04:07:28 | ko1 | one another thing |
| 04:07:36 | zenspider | save/hold/keep/dump ast/nodes/parse_tree |
| 04:07:41 | ko1 | we have Ripper, as you know |
| 04:07:59 | ko1 | Ripper can parse Ruby script. can we use it or not for DSL? |
| 04:08:05 | zenspider | yeah, but that doesn't work for procs during runtime |
| 04:08:11 | ko1 | yes |
| 04:08:34 | zenspider | I also have ruby_parser... both work great for static parsing |
| 04:08:39 | ko1 | it's simple way to use Ripper. but we can't use "compiled" code. |
| 04:09:48 | zenspider | yes, but, it doesn't work well for runtime |
| 04:09:53 | jbarnette | ko1_: are you wanting to use Ripper to define a standard DSL for constructing bytecode, or is this unrelated to the VM::InstructionSequence stuff we were just talking about? :) |
| 04:10:18 | ko1 | non |
| 04:10:33 | jbarnette | nom? :) |
| 04:10:38 | jbarnette | nom nom nom |
| 04:11:00 | ko1 | jbarnette: i'm afraid that there are similar features |
| 04:11:41 | ko1 | zenspider: back the topic. we need the API to get ISeq object from Proc |
| 04:12:10 | zenspider | *nod* |
| 04:12:14 | ko1 | how about "VM::ISeq.get(Proc object)" ? |
| 04:12:21 | ko1 | (name is also issue :) |
| 04:12:39 | zenspider | all I've used thus far for ISeq is: VM::InstructionSequence.disassemble(Temp1.new.method(:m)) |
| 04:13:05 | jbarnette | Is there a problem with an instance method on Proc? proc.instructions or something similar |
| 04:13:25 | lchin enters the room. | |
| 04:13:32 | ko1 | all Proc doesn't have ISeq. |
| 04:13:33 | jbarnette | that's much more intrusive, though |
| 04:13:42 | jbarnette | ko1_: absolutely |
| 04:13:48 | zenspider | get/disassemble/bytecodes |
| 04:13:58 | zenspider | ko1_: they can return nil or raise if not |
| 04:14:14 | jbarnette | disassemble is accurate. and a verb :) |
| 04:14:15 | ko1 | getting ISeq is special case. so i don't think it's good method for Proc. |
| 04:14:21 | zenspider | ko1_: or a bogus BC like :cfunc nodes |
| 04:14:30 | jbarnette | ko1_: yes, I was mistaken :) |
| 04:14:56 | ko1 | VM::ISeq.bytecode(Proc obj) is strange |
| 04:15:04 | ko1 | iseq == bytecode |
| 04:15:13 | zenspider | ko1_: I agree |
| 04:15:16 | ko1 | VM::ISeq.retrieve(Proc obj) |
| 04:15:30 | zenspider | ko1_: VM::ISeq.for(proc) |
| 04:15:37 | jbarnette | nice |
| 04:15:54 | zenspider | ko1_: VM::ISeq.for(proc_or_method?) |
| 04:15:56 | ko1 | for shouild be too common, shoudn't? |
| 04:16:25 | ko1 | i agree the argument > proc_or_method |
| 04:16:27 | zenspider | pretty common design pattern in smalltalk |
| 04:16:31 | jbarnette | ko1_: on ISeq it's pretty specific: "give me an instruction sequence for this proc_or_method" |
| 04:17:18 | ko1 | akr pointed out "we shouldn't name short name for special case" |
| 04:17:34 | ko1 | short name for "common case" |
| 04:18:00 | ko1 | so i name ISeq as VM::InstructionSequence |
| 04:18:07 | ko1 | (VM is too short ... ?) |
| 04:18:34 | zenspider | ko1_: is #for going to be special case? I thought "i'm planning replacing BC feature" == new API for common |
| 04:18:51 | twbray enters the room. | |
| 04:18:53 | ko1 | retrieving BC is special case |
| 04:18:59 | jbarnette | ko1_: perhaps VM::ISeq.get_bytecode(proc_or_method) then |
| 04:19:16 | zenspider | ko1_: should we reuse #disassemble? |
| 04:19:22 | lchin | special case = infrequently used? |
| 04:20:06 | ko1 | disassemble is also strange ... ? |
| 04:20:12 | twbray leaves the room. | |
| 04:20:25 | ko1 | i don't think about it, so it should be bad name |
| 04:20:34 | ko1 | lchin: ya |
| 04:20:35 | zenspider | ko1_: not really that strange, not in English CS at least |
| 04:20:55 | zenspider | ko1_: then maybe #to_a you suggested before |
| 04:20:58 | ko1 | disassemble means that "BC to text" |
| 04:21:07 | zenspider | VM::InstructionSequence.new(proc_or_method).to_a |
| 04:21:19 | zenspider | that's fair... true. |
| 04:21:25 | ko1 | we shouldn't use ".new " |
| 04:21:30 | jbarnette | zenspider: that smacks of mutability :) |
| 04:21:35 | ko1 | there is! |
| 04:21:41 | ko1 | only retrieve from Proc. |
| 04:21:41 | zenspider | jbarnette: shut it |
| 04:21:50 | zenspider | to_a is always a copy |
| 04:21:57 | ko1 | yes |
| 04:22:22 | ko1 | i agree: "VM::InstructionSequence.get(...).to_a" |
| 04:22:30 | ko1 | except "get" is too short. |
| 04:23:11 | jbarnette | drbrain suggests "extract" |
| 04:23:14 | drbrain | extract, retrieve, fetch |
| 04:23:31 | zenspider | for class method, I think get is fine. #new is the most common, obviously... #get isn't used elsewhere in ruby so I think it is probably ok |
| 04:24:09 | ko1 | ISeq.search(...) |
| 04:24:18 | ko1 | ... :( |
| 04:24:20 | zenspider | is looking at thesaurus |
| 04:24:21 | jbarnette | :( |
| 04:24:27 | zenspider | search? no. that's not right |
| 04:24:48 | jbarnette | ISeq.from(...) |
| 04:25:04 | ko1 | ISeq.toridasu(...) |
| 04:25:07 | ko1 | in Japanese :) |
| 04:25:08 | jbarnette | +1 |
| 04:25:52 | zenspider | works for me |
| 04:25:55 | lchin | though doesn't that have the implication that it is no longer there after you take it? |
| 04:26:05 | zenspider | at this stage I'm happy with anything you're willing to do. :) |
| 04:27:30 | ko1 | i'll ask Matz |
| 04:27:41 | ko1 | tahnk you |
| 04:28:47 | TheVoice enters the room. | |
| 04:28:57 | zenspider | VM::InstructionSequence.(for|with|on|extract_the_instruction_sequence)(proc_or_method).to_a |
| 04:29:16 | jbarnette | zenspider: alias_method |
| 04:29:21 | zenspider | the problem is that in English signifiers/words for direct objects are very short |
| 04:29:23 | ko1 | hehehe |
| 04:29:54 | zenspider | personally, as an ex-smalltalker, for/with wins |
| 04:30:09 | zenspider | Array with: obj1 and: obj2 .... |
| 04:30:15 | jbarnette | and "from" is pretty much in the same group |
| 04:30:32 | ko1 | ISeq.in(...) |
| 04:30:49 | ko1 | method name golf |
| 04:31:16 | zenspider | ko1_: the other possibility is to invert the responsibility: method_or_proc.to_bc |
| 04:31:23 | zenspider | ko1_: method_or_proc.to_iseq.to_a |
| 04:32:00 | zenspider | but I kinda like having everything related to BC be under the VM namespace. easier to track down |
| 04:32:26 | ezmobius leaves the room. | |
| 04:32:27 | ko1 | I think Proc#to_iseq shoud be bad. it's too common place. |
| 04:32:45 | jbarnette | zenspider: yeah |
| 04:32:54 | zenspider | agreed |
| 04:33:00 | lchin | VM::InstructionSequence#of |
| 04:33:19 | ko1 | ISeq#_ |
| 04:33:42 | ko1 | do you know code golf? |
| 04:33:59 | stepheneb leaves the room. | |
| 04:34:04 | matthewd | To jump in at the end of a discussion that's way over my head... would "iseq from proc" be a particularly special case, within the context of ISeq? |
| 04:34:10 | ko1 | Japanese Rubyist love golf, and 1.9 include goruby. |
| 04:34:11 | zenspider | VM::InstructionSequence.send('', method_or_proc) |
| 04:34:37 | lchin | goruby = ruby's golf library |
| 04:34:57 | jbarnette | matthewd: the set of use cases is IMHO important but very narrow |
| 04:35:04 | ko1 | lchin: not library but interpreter |
| 04:35:06 | zenspider | since we can't name it well, it makes sense not to name it at all |
| 04:35:10 | jbarnette | zenspider: winner! :) |
| 04:35:28 | jbarnette | ko1_: we love Ruby golf too :) |
| 04:35:33 | zenspider | I get 0 char name, so I win, right? |
| 04:35:41 | ko1 | jbarnette: hehe |
| 04:35:42 | jbarnette | zenspider: inevitably |
| 04:36:21 | zenspider | unfortunately, String#* with negative number raises |
| 04:36:44 | ko1 | at RubyKaigi2008, we hold golf competition. |
| 04:37:02 | ko1 | http://jp.rubyist.net/RubyKaigi2008/?Golf_en |
| 04:37:08 | jbarnette | ko1_: how did the Americans do? :) |
| 04:37:10 | ko1 | lchin wrote it |
| 04:37:28 | lchin | i just translated the instructions |
| 04:38:06 | ko1 | golf course: http://golf.shinh.org/ |
| 04:38:20 | jbarnette | ha! |
| 04:38:21 | ko1 | jbarnette: you can attend |
| 04:38:52 | zenspider | is reading the go capture winner |
| 04:39:46 | jbarnette | is trying and failing to read the go capture winner |
| 04:40:22 | ko1 | http://golf.shinh.org/p.rb?putter+golf+for+Ruby+kaigi |
| 04:40:27 | ko1 | putter golf |
| 04:40:39 | zenspider | omg. I can't read that at all |
| 04:40:44 | zenspider | is a bad golfer |
| 04:41:11 | ko1 | you can't? |
| 04:41:22 | lstoll enters the room. | |
| 04:41:47 | ko1 | @lunch |
| 04:43:16 | zenspider | enjoy lunch |
| 04:43:24 | zenspider | do you want me to write core still? |
| 04:43:34 | jbarnette | ko1_: thank you for the golf :) |
| 04:44:41 | jbarnette leaves the room. | |
| 04:46:40 | anteaya leaves the room. | |
| 04:54:02 | ko1 | zenspider: no. thank you |
| 04:54:25 | zenspider | ko1_: thank you |
| 04:56:06 | Yurik enters the room. | |
| 05:05:29 | wyhaines enters the room. | |
| 05:10:14 | AndrewO leaves the room. | |
| 05:12:10 | qrush leaves the room. | |
| 05:12:54 | naeu enters the room. | |
| 05:13:32 | lstoll leaves the room. | |
| 05:13:32 | wmoxam leaves the room. | |
| 05:13:32 | TheProkrammer leaves the room. | |
| 05:13:32 | rubuildius_ppc leaves the room. | |
| 05:13:32 | jero5 leaves the room. | |
| 05:13:32 | olabini leaves the room. | |
| 05:13:32 | shoe leaves the room. | |
| 05:13:32 | Jzalae leaves the room. | |
| 05:13:32 | evan leaves the room. | |
| 05:14:06 | lstoll enters the room. | |
| 05:14:06 | wmoxam enters the room. | |
| 05:14:06 | evan enters the room. | |
| 05:14:06 | olabini enters the room. | |
| 05:14:06 | jero5 enters the room. | |
| 05:14:06 | rubuildius_ppc enters the room. | |
| 05:14:06 | Jzalae enters the room. | |
| 05:14:06 | shoe enters the room. | |
| 05:14:06 | TheProkrammer enters the room. | |
| 05:15:24 | naeu leaves the room. | |
| 05:19:05 | wmoxam leaves the room. | |
| 05:23:46 | elight enters the room. | |
| 05:25:25 | elight leaves the room. | |
| 05:26:40 | c0sin leaves the room. | |
| 05:31:20 | ezmobius enters the room. | |
| 05:32:34 | dfg59 leaves the room. | |
| 05:34:17 | edwardam_ leaves the room. | |
| 05:47:15 | headius enters the room. | |
| 05:48:12 | Erlang00t enters the room. | |
| 05:48:34 | jbarnette enters the room. | |
| 05:52:13 | Erlang00t leaves the room. | |
| 05:53:36 | wyhaines leaves the room. | |
| 05:54:07 | Erlang00t enters the room. | |
| 05:54:52 | dfg59 enters the room. | |
| 05:56:36 | wyhaines enters the room. | |
| 05:59:29 | bitsweat enters the room. | |
| 06:09:34 | twbray enters the room. | |
| 06:10:00 | headius leaves the room. | |
| 06:10:31 | jbarnette leaves the room. | |
| 06:10:37 | jbarnette enters the room. | |
| 06:14:24 | dfg59 leaves the room. | |
| 06:14:31 | dfg59 enters the room. | |
| 06:15:04 | wyhaines leaves the room. | |
| 06:15:51 | antares enters the room. | |
| 06:18:42 | crafterm enters the room. | |
| 06:19:05 | wycats enters the room. | |
| 06:19:16 | Erlang00t leaves the room. | |
| 06:21:21 | thehcdreamer enters the room. | |
| 06:26:52 | Yurik leaves the room. | |
| 06:29:01 | dfg59 leaves the room. | |
| 06:42:34 | jbarnette leaves the room. | |
| 06:50:45 | wycats | what's the command to dump rbx bytecode for a Ruby string again? |
| 06:54:02 | thehcdreamer leaves the room. | |
| 07:03:21 | edwardam enters the room. | |
| 07:12:32 | wycats | I'm getting an error on rbx describe |
| 07:12:39 | wycats | No method 'parse_flags' on Compiler |
| 07:22:32 | Erlang00t enters the room. | |
| 07:25:28 | neelance enters the room. | |
| 07:25:35 | wycats | ah... old rbx |
| 07:27:32 | ezmobius leaves the room. | |
| 07:33:07 | dbussink | morning |
| 07:38:57 | Maledictus leaves the room. | |
| 07:39:05 | trythil enters the room. | |
| 07:39:07 | trythil leaves the room. | |
| 07:39:55 | wycats | heya |
| 07:40:15 | wycats | I just came across: http://rubini.us/static/doxygen/main.html |
| 07:40:16 | wycats | fun stuff |
| 07:41:53 | crafterm leaves the room. | |
| 07:46:43 | tarcieri | nice, that's for the C++ branch? |
| 07:47:00 | neelance leaves the room. | |
| 07:47:21 | brixen | tarcieri: yeah |
| 07:47:26 | tarcieri | heh find_lost_souls |
| 07:50:19 | w1rele55 enters the room. | |
| 07:54:11 | dbussink | wants the c++ branch with llvm goodness :) |
| 07:54:44 | dbussink | that doxygen is pretty old though |
| 07:55:00 | brixen | yeah |
| 07:59:13 | wycats | http://betterruby.wordpress.com/2008/04/01/how-rubinius-sendsites-work-part-2/ -- I've never seen this before |
| 07:59:16 | wycats | :) |
| 07:59:22 | wycats | where does the VM get the receiver? |
| 07:59:28 | wycats | is that in the SendSite? |
| 07:59:59 | drbrain | I think it's on the stack |
| 08:00:09 | drbrain | we wrote some rd |