Show enters and exits. Hide enters and exits.
| 00:01:21 | seydar enters the room. | |
| 00:04:13 | ljulliar leaves the room. | |
| 00:05:16 | pth enters the room. | |
| 00:05:57 | nexcastellan | Anyone know why I'd get "superclass mismatch"? |
| 00:07:51 | brixen | next you're trying to reopen a class and inherit from a different class |
| 00:07:58 | brixen | er nexcastellan |
| 00:08:07 | brixen | where do you see this? |
| 00:08:14 | nexcastellan | In our own code. |
| 00:08:30 | nexcastellan | It works in MRI but that doesn't necessarily mean our code is correct. |
| 00:08:34 | brixen | heh |
| 00:08:46 | headius | but doesn't work where? |
| 00:08:46 | nexcastellan | I'll take a look tomorrow and see if we have already defined the class. |
| 00:08:47 | headius | rubinius? |
| 00:08:51 | nexcastellan | Rubinius, yes. |
| 00:09:08 | brixen | could be some corner case we don't handle right |
| 00:09:09 | headius | some app-specific class or something core? |
| 00:09:14 | brixen | or might be a bug in MRI |
| 00:09:58 | eventualbuddha leaves the room. | |
| 00:10:07 | nexcastellan | Some app-specific class. I should be able to figure out tomorrow if it's a fault in MRI or in Rubinius. For what it is worth, the bugs I'm finding now aren't necessarily flaws in Rubinius. :) |
| 00:10:37 | headius | tarcieri: why do all the VM-level methods accept an ID...why aren't those just methods on the VM objects |
| 00:10:52 | headius | I'm not sure I understand the purpose of the magic "id" when you get VM objects back directly |
| 00:11:20 | headius | or is the collection of VMs accessible by siblings too? |
| 00:11:24 | nexcastellan | Ahh! Seems to be a class-inside-a-module conflicting with a class-with-same-name-not-inside-a-module. But I'll look more tomorrow. |
| 00:11:25 | nexcastellan | Night, all. |
| 00:11:46 | headius | nexcastellan: ahh, const lookup stuff |
| 00:11:57 | nexcastellan | Yeap. |
| 00:12:01 | nexcastellan | Night. :) |
| 00:12:14 | pth leaves the room. | |
| 00:13:36 | tarcieri | headius: How do you get to the VM object from another VM? |
| 00:13:36 | headius | also more of an organizational question...seems like the behavior should all be in the VM instance rather than in the class |
| 00:13:45 | kli enters the room. | |
| 00:13:55 | tarcieri | headius: It's a bit trickier than that... |
| 00:13:57 | headius | tarcieri: so you would pass an ID to the child VM so it could find a sibling? |
| 00:14:04 | tarcieri | headius: yes |
| 00:14:22 | tarcieri | headius: the VM ID needs to be something you can send in an inter-VM message |
| 00:14:32 | headius | mmm I see |
| 00:14:46 | headius | I've been implementing these as children can't see each other |
| 00:14:57 | headius | and each new VM can have its own set of sub-vms |
| 00:15:17 | tarcieri | I see |
| 00:15:32 | headius | certainly can make it a global set though |
| 00:16:12 | wmoxam leaves the room. | |
| 00:17:31 | heissund1ettig enters the room. | |
| 00:19:51 | jackdempsey enters the room. | |
| 00:26:01 | headius | hmm |
| 00:26:18 | headius | is there no way to get current VM's ID? |
| 00:27:00 | tarcieri | Rubinius::VM_ID |
| 00:27:04 | tarcieri | you might have a look at VMActor |
| 00:27:08 | headius | where is it |
| 00:27:12 | tarcieri | since it actually ties all this stuff together into something cohesive |
| 00:27:15 | tarcieri | rbx/lib/vmactor.rb |
| 00:28:14 | headius | hey, docs |
| 00:28:33 | tarcieri | yay! |
| 00:29:01 | dfg59 leaves the room. | |
| 00:29:14 | tarcieri | what I'd really like to do is get something a bit more cohesive than VMActor exists now... |
| 00:29:21 | heissundfettig leaves the room. | |
| 00:29:22 | headius | so you can't actually get at VM objects given an ID |
| 00:29:25 | tarcieri | like, have VMActor automatically start an RPC server |
| 00:29:32 | tarcieri | nope |
| 00:29:42 | tarcieri | you have to do it all through the singleton methods |
| 00:29:58 | headius | maybe I'll just put the queue in the global list then |
| 00:30:04 | headius | ahh, though you can join |
| 00:30:06 | headius | nevermind |
| 00:37:53 | boyscout | 1 commit by Ryan Davis |
| 00:37:54 | boyscout | * Removed llvm and step numbers; 0a1ea41 |
| 00:40:26 | hemulen leaves the room. | |
| 00:41:14 | heissundfettig enters the room. | |
| 00:41:27 | kli leaves the room. | |
| 00:44:22 | nathansobo | tarcieri: what do you think about revactor and doing distributed communication with XMPP? |
| 00:44:34 | nathansobo | i guess that's pretty heavy |
| 00:44:48 | nathansobo | but has the advantage of existing infrastructure for the routing maybe? |
| 00:44:51 | mass | use google protocol buffers! :D |
| 00:45:00 | mass | and umm.. dns for routing |
| 00:45:00 | tarcieri | nathansobo: at one point I had xmpp4r monkeypatched to use Revactor |
| 00:45:13 | tarcieri | nathansobo: then I abandoned XMPP altogether :/ |
| 00:45:16 | nathansobo | dns for routing |
| 00:45:18 | nathansobo | good thinking |
| 00:45:29 | nathansobo | presence isn't accounted for |
| 00:45:29 | tarcieri | nathansobo: we really don't need anything as complex as XMPP |
| 00:45:31 | nathansobo | maybe? |
| 00:45:45 | tarcieri | nathansobo: we just use buffered asynchronous message channels |
| 00:45:55 | nathansobo | between the servers |
| 00:46:06 | tarcieri | yeah, in our case, between our colo facility and EC2 |
| 00:46:14 | edwardam | what's this about XMPP ? |
| 00:46:32 | nathansobo | i was thinking about representing every actor as an xmpp entity |
| 00:46:44 | nathansobo | so you could message it |
| 00:47:00 | nathansobo | using that to support messaging between actors |
| 00:47:12 | rubuildius_amd64 | Ryan Davis: 0a1ea415a; 2585 files, 8510 examples, 28537 expectations, 0 failures, 0 errors |
| 00:47:26 | nathansobo | the problem is that the servers themselves are the "clients" |
| 00:47:32 | edwardam | nathansobo_: you know that at ey we're building some stuff on top of XMPP already. |
| 00:47:36 | nathansobo | not the indiivdual actors |
| 00:47:45 | edwardam | s/\./\?/ |
| 00:47:46 | nathansobo | yeah, actor-pattern-esque stuff? |
| 00:48:18 | edwardam | nathansobo_: http://en.oreilly.com/velocity2008/public/schedule/detail/4714 |
| 00:48:33 | tarcieri | Vertebra sounds awesome |
| 00:49:03 | nathansobo | so with vertebra |
| 00:49:05 | rubuildius_ey64 | Ryan Davis: 0a1ea415a; 2585 files, 8510 examples, 28537 expectations, 0 failures, 0 errors |
| 00:49:20 | nathansobo | would it be reasonable to message an indidual actor on another slice? |
| 00:49:25 | nathansobo | and wait for a reply? |
| 00:49:28 | nathansobo | sorta like erlang? |
| 00:50:53 | edwardam | is looking for any of the slides and/or recordings from that |
| 00:52:01 | edwardam | http://en.oreilly.com/velocity2008/public/schedule/detail/4714 |
| 00:53:38 | headius leaves the room. | |
| 00:54:00 | headius enters the room. | |
| 00:55:38 | heissund1ettig leaves the room. | |
| 00:55:56 | edwardam | nathansobo_: an actor would expose resources |
| 00:56:04 | edwardam | nathansobo_: those resources would be discovered |
| 00:56:15 | edwardam | nathansobo_: and ops performed on them. The actor would of course need to implement those ops |
| 00:56:43 | edwardam | nathansobo_: it's in the like v.1 stage atm. Very basic with a lot of work left to do. |
| 00:58:09 | ezmobius | nathansobo_: vertebra is kinda like an exploded erlang VM. where we use XMPP instead of native erlang ports and the actors are ruby processes rather then erlang light processes |
| 00:58:19 | mass | c++ is so limiting sometimes |
| 00:58:22 | trythil enters the room. | |
| 00:58:38 | nathansobo | okay that sounds cool |
| 00:58:45 | nathansobo | basically the servers themselves could be actors |
| 00:58:49 | nathansobo | you could send them messages |
| 00:58:55 | nathansobo | with operations to perform on other actors |
| 00:58:55 | ezmobius | yes exactly |
| 00:58:57 | nathansobo | within them |
| 00:59:01 | nathansobo | little actors |
| 00:59:04 | nathansobo | like revactor actors |
| 00:59:06 | ezmobius | nathansobo_: come to the EY office sometime and I'll hsow you how it works ;) |
| 00:59:12 | nathansobo | which could of course message back out to the cloud |
| 00:59:18 | nathansobo | okay that sounds like a good plan |
| 00:59:20 | ezmobius | exactly |
| 00:59:37 | trythil leaves the room. | |
| 00:59:42 | ezmobius | plus add service discovery on top of that so you never need to know the address of an actor explicitely |
| 00:59:49 | ezmobius | you only need to know what resources you want to operate on |
| 00:59:55 | nathansobo | we could def. use your guys advice for scaling grockit in a way that allows us to execute business logic in a distributed way |
| 01:00:12 | nathansobo | and since we're customers, works out :-) |
| 01:00:19 | ezmobius | ;) |
| 01:00:27 | nathansobo | howabout friday? |
| 01:00:29 | ezmobius | sure |
| 01:00:36 | nathansobo | or another time that works for you |
| 01:00:38 | nathansobo | okay sweet |
| 01:00:43 | ezmobius | tomorrow afternoon is cool |
| 01:02:55 | eventualbuddha enters the room. | |
| 01:03:07 | bobw enters the room. | |
| 01:06:48 | headius | tarcieri: http://pastie.org/236132 |
| 01:06:52 | headius | seem like about the right logic? |
| 01:08:11 | heissundfettig leaves the room. | |
| 01:08:18 | headius | for some reason that blows up on rbx doing the send from parent |
| 01:08:48 | headius | ok |
| 01:08:57 | headius | there is no VM#send in rbx |
| 01:09:00 | headius | simple enough |
| 01:09:05 | chad enters the room. | |
| 01:09:20 | headius | or at least it doesn't do what I expected |
| 01:10:52 | heissundfettig enters the room. | |
| 01:13:53 | headius | well here it is with some tweaks to make it work in rubinius: http://pastie.org/236135 |
| 01:14:13 | headius | that code will work in both rubinius and jruby |
| 01:14:40 | imajes enters the room. | |
| 01:14:44 | tarcieri | wow, I broke pastie |
| 01:15:04 | headius_ enters the room. | |
| 01:15:04 | headius leaves the room. | |
| 01:16:15 | headius | oops |
| 01:16:17 | headius | I pasted too much there |
| 01:16:19 | headius | anyway, you get the idea |
| 01:16:41 | headius | about 166 lines of ruby code...though I had to add three lines to JRuby to wire up the IO stuff right |
| 01:17:02 | headius | I need to look at VMActor to understand some of those other methods |
| 01:17:29 | headius | reset_method_cache, encloser_path stuff, perform_hook...beats me |
| 01:23:22 | tarcieri | heh, crazy, you got it going with an identical API? |
| 01:23:25 | tarcieri | that's cool |
| 01:23:53 | hemulen enters the room. | |
| 01:28:14 | headius | yeah, it's not a very complicated API |
| 01:28:27 | imajes leaves the room. | |
| 01:28:34 | headius | I just pulled in a few Java NIO and concurrency classes to help |
| 01:28:45 | tarcieri | cool |
| 01:28:48 | headius | it's using NIO pipes and a LinkedBlockingQueue from util.concurrent |
| 01:29:32 | headius | I don't get the IO behavior for rbx, so I just left mine as is and had child VMs close their end of the pipe when their done |
| 01:29:38 | headius | so you can stdout.read ok |
| 01:29:49 | headius | their/they're |
| 01:32:22 | headius | would be nice to standardize that a bit...buffering, flush on VM exit, close on VM exit, etc |
| 01:32:49 | tarcieri | did anyone ever even try to pseudocode what a "standard" MVM API would look like? |
| 01:33:26 | headius | I think this is it |
| 01:33:34 | headius | though we have had discussions before and after evan put this together |
| 01:33:43 | tarcieri | cool |
| 01:33:49 | headius | they all end up basically the same...he and I agree that a simple message passing mechanism is best |
| 01:33:59 | tarcieri | well, Rubinius::VM may not be the best choice for the name :) |
| 01:34:16 | headius | I just wanted to get this into 1.1.3 since really we already had MVM in JRuby and just needed to put an API on it |
| 01:34:31 | tarcieri | nice |
| 01:34:33 | headius | yeah, it's JRuby::VM in JRuby...but I alias it to Rubinius as well |
| 01:34:39 | headius | we'll need a standard name at some point |
| 01:34:43 | tarcieri | ok |
| 01:35:49 | headius | basically I didn't have anything left to work on for 1.1.3 release today, so I started playing a bit :) |
| 01:37:30 | tarcieri | fun |
| 01:38:07 | mkescher leaves the room. | |
| 01:38:35 | heissund1ettig enters the room. | |
| 01:38:59 | vjmp | any c++ vm developers here? |
| 01:44:59 | Fullmoon_ enters the room. | |
| 01:45:10 | Fullmoon leaves the room. | |
| 01:46:02 | nathansobo_ leaves the room. | |
| 01:46:42 | nathansobo enters the room. | |
| 01:49:15 | vjmp | is there anyone from c++ vm developers, who is interested about bug in builtin_sendsite.cpp? evan? |
| 01:49:28 | heissundfettig leaves the room. | |
| 01:49:47 | ezmobius | evan is at his high school reunion |
| 01:49:53 | ezmobius | but im sure hed like a fix |
| 01:49:56 | ezmobius | maybe file a ticket? |
| 01:50:27 | vjmp | thank you. i'll file. |
| 01:51:00 | benny leaves the room. | |
| 01:54:09 | jtoy enters the room. | |
| 01:59:35 | boyscout | 1 commit by Eric Hodel |
| 01:59:36 | boyscout | * Update to RDoc r56; 0704787 |
| 02:00:13 | drbrain | crap |
| 02:00:16 | drbrain | oops |
| 02:00:22 | drbrain | that was supposed to be 101 |
| 02:01:37 | ijcd_ enters the room. | |
| 02:02:18 | heissundfettig enters the room. | |
| 02:02:45 | ijcd_ leaves the room. | |
| 02:06:29 | hemulen leaves the room. | |
| 02:07:17 | mae | yo |
| 02:07:31 | mae | anyone looked at clojure? |
| 02:08:45 | tarcieri | yes, certainly not in depth |
| 02:09:02 | rubuildius_ey64 | Eric Hodel: 070478773; 2585 files, 8510 examples, 28537 expectations, 0 failures, 0 errors |
| 02:12:12 | rubuildius_amd64 | Eric Hodel: 070478773; 2585 files, 8510 examples, 28537 expectations, 0 failures, 0 errors |
| 02:12:29 | vjmp leaves the room. | |
| 02:15:34 | ijcd leaves the room. | |
| 02:16:22 | c0sin leaves the room. | |
| 02:16:32 | heissund1ettig leaves the room. | |
| 02:18:13 | fbuilesv leaves the room. | |
| 02:24:59 | VVSiz_ enters the room. | |
| 02:25:11 | heissundfettig leaves the room. | |
| 02:26:57 | heissundfettig enters the room. | |
| 02:30:08 | smparkes leaves the room. | |
| 02:30:20 | smparkes enters the room. | |
| 02:34:34 | nathansobo leaves the room. | |
| 02:36:36 | fbuilesv enters the room. | |
| 02:38:06 | headius | mae: clojure looks pretty neat |
| 02:42:17 | VVSiz leaves the room. | |
| 02:43:31 | lopex leaves the room. | |
| 02:47:04 | ezmobius leaves the room. | |
| 02:47:58 | eventualbuddha leaves the room. | |
| 02:49:28 | heissund1ettig enters the room. | |
| 02:50:39 | hemulen enters the room. | |
| 02:57:01 | hemulen leaves the room. | |
| 03:03:49 | lchin enters the room. | |
| 03:03:52 | heissundfettig leaves the room. | |
| 03:08:22 | fbuilesv leaves the room. | |
| 03:18:26 | fbuilesv enters the room. | |
| 03:19:16 | heissundfettig enters the room. | |
| 03:33:20 | heissund1ettig leaves the room. | |
| 03:37:37 | headius | hey, do I need to build the external libs separately or something? |
| 03:37:42 | headius | for cpp vm |
| 03:39:15 | heissundfettig leaves the room. | |
| 03:42:19 | headius | yay, tests running |
| 03:42:55 | heissundfettig enters the room. | |
| 03:44:24 | headius | woah, llvm is in repo now? |
| 03:44:30 | headius | holy lots of code |
| 03:47:17 | headius | hey, so is there any way to run rbx with the cpp vm yet? |
| 03:47:21 | headius | or is it all still entirely standalone |
| 04:09:35 | heissund1ettig enters the room. | |
| 04:17:36 | headius | hmm, cpp vm can't be built by jruby |
| 04:18:01 | headius | depends on parsetree |
| 04:18:27 | tarcieri | JRuby doesn't have ParseTree? |
| 04:19:03 | headius | JRuby doesn't use MRI's parser |
| 04:19:10 | headius | and our AST is increasingly different |
| 04:19:56 | headius | parsetree is very dependent on MRI's AST structure |
| 04:21:50 | Fullmoon_ leaves the room. | |
| 04:23:58 | heissundfettig leaves the room. | |
| 04:29:47 | wmoxam enters the room. | |
| 04:31:46 | trythil enters the room. | |
| 04:34:10 | heissundfettig enters the room. | |
| 04:38:02 | yugui leaves the room. | |
| 04:45:55 | heissund1ettig leaves the room. | |
| 05:01:51 | heissund1ettig enters the room. | |
| 05:06:07 | jackdempsey leaves the room. | |
| 05:15:50 | heissundfettig leaves the room. | |
| 05:17:33 | gnufied leaves the room. | |
| 05:19:15 | jackdempsey enters the room. | |
| 05:19:17 | chad | evan: ping |
| 05:22:14 | tarcieri | evan is apparently at his high school reunion |
| 05:22:45 | jackdempsey leaves the room. | |
| 05:24:01 | benburkert enters the room. | |
| 05:26:34 | heissundfettig enters the room. | |
| 05:28:15 | yugui enters the room. | |
| 05:33:32 | evan leaves the room. | |
| 05:39:39 | heissund1ettig leaves the room. | |
| 05:40:08 | boyscout leaves the room. | |
| 05:40:21 | boyscout enters the room. | |
| 05:44:32 | chad | tarcieri: yea, i thought maybe he was logged in since it's relatively late now |
| 05:48:11 | benburkert leaves the room. | |
| 05:50:13 | heissund1ettig enters the room. | |
| 05:51:53 | benburkert enters the room. | |
| 05:57:55 | jtoy leaves the room. | |
| 05:58:27 | benburkert leaves the room. | |
| 06:02:07 | heissundfettig leaves the room. | |
| 06:06:20 | wmoxam leaves the room. | |
| 06:07:26 | jtoy enters the room. | |
| 06:08:04 | mae1 enters the room. | |
| 06:10:13 | yugui leaves the room. | |
| 06:10:13 | thehcdreamer leaves the room. | |
| 06:10:13 | edwardam leaves the room. | |
| 06:10:13 | mae leaves the room. | |
| 06:10:13 | dmpk2k leaves the room. | |
| 06:11:43 | dmpk2k enters the room. | |
| 06:12:31 | yugui enters the room. | |
| 06:12:31 | thehcdreamer enters the room. | |
| 06:12:31 | edwardam enters the room. | |
| 06:12:31 | mae enters the room. | |
| 06:13:46 | heissundfettig enters the room. | |
| 06:16:10 | headius_ enters the room. | |
| 06:23:14 | headius leaves the room. | |
| 06:23:59 | foysavas leaves the room. | |
| 06:24:15 | mae leaves the room. | |
| 06:25:28 | heissund1ettig leaves the room. | |
| 06:25:51 | mass | dances |
| 06:26:49 | benburkert enters the room. | |
| 06:28:13 | foysavas enters the room. | |
| 06:39:33 | benburkert leaves the room. | |
| 06:40:24 | heissund1ettig enters the room. | |
| 06:54:24 | heissundfettig leaves the room. | |
| 06:59:52 | thehcdreamer leaves the room. | |
| 07:03:05 | heissundfettig enters the room. | |
| 07:07:47 | mkrauskopf enters the room. | |
| 07:09:39 | mkrauskopf leaves the room. | |
| 07:10:07 | mkrauskopf enters the room. | |
| 07:17:26 | heissund1ettig leaves the room. | |
| 07:24:49 | krsh enters the room. | |
| 07:26:43 | heissund1ettig enters the room. | |
| 07:36:29 | ljulliar enters the room. | |
| 07:40:12 | heissundfettig leaves the room. | |
| 07:47:34 | trythil leaves the room. | |
| 07:50:24 | NoKarma enters the room. | |
| 07:51:18 | heissundfettig enters the room. | |
| 07:53:39 | imajes enters the room. | |
| 07:54:31 | imajes leaves the room. | |
| 07:55:00 | imajes enters the room. | |
| 07:57:41 | dysinger leaves the room. | |
| 08:05:09 | heissund1ettig leaves the room. | |
| 08:15:52 | thehcdreamer enters the room. | |
| 08:17:00 | heissund1ettig enters the room. | |
| 08:19:54 | imajes leaves the room. | |
| 08:31:21 | heissundfettig leaves the room. | |
| 08:31:37 | headius_ leaves the room. | |
| 08:32:00 | chad leaves the room. | |
| 08:36:48 | robin_dewd leaves the room. | |
| 08:43:44 | heissundfettig enters the room. | |
| 08:45:23 | gnufied enters the room. | |
| 08:50:08 | imajes enters the room. | |
| 08:50:48 | blakewatters leaves the room. | |
| 08:52:36 | BlackEdder enters the room. | |
| 08:55:21 | Yurik leaves the room. | |
| 08:57:44 | heissund1ettig leaves the room. | |
| 09:07:22 | heissund1ettig enters the room. | |
| 09:08:15 | octopod enters the room. | |
| 09:20:04 | Fullmoon enters the room. | |
| 09:20:11 | ljulliar leaves the room. | |
| 09:20:18 | heissundfettig leaves the room. | |
| 09:20:54 | jtoy leaves the room. | |
| 09:22:37 | mkrauskopf leaves the room. | |
| 09:29:02 | chad enters the room. | |
| 09:34:59 | heissundfettig enters the room. | |
| 09:46:33 | rue | Morning |
| 09:47:57 | heissund1ettig leaves the room. | |
| 09:56:23 | Maledictus enters the room. | |
| 09:58:22 | enebo leaves the room. | |
| 10:00:46 | headius enters the room. | |
| 10:04:43 | heissund1ettig enters the room. | |
| 10:15:44 | headius leaves the room. | |
| 10:17:04 | heissundfettig leaves the room. | |
| 10:23:12 | imajes_ enters the room. | |
| 10:24:27 | headius enters the room. | |
| 10:29:45 | pauldix enters the room. | |
| 10:31:08 | imajes leaves the room. | |
| 10:31:28 | heissundfettig enters the room. | |
| 10:32:31 | joachimm enters the room. | |
| 10:35:31 | foysavas leaves the room. | |
| 10:45:39 | heissund1ettig leaves the room. | |
| 10:46:44 | krsh leaves the room. | |
| 10:58:23 | heissundfettig leaves the room. | |
| 10:58:46 | botanicus enters the room. | |
| 10:59:17 | Fullmoon leaves the room. | |
| 11:00:11 | heissundfettig enters the room. | |
| 11:12:47 | Fullmoon enters the room. | |
| 11:27:44 | heissund1ettig enters the room. | |
| 11:37:22 | benny enters the room. | |
| 11:40:14 | botanicus leaves the room. | |
| 11:40:50 | gnufied leaves the room. | |
| 11:42:08 | heissundfettig leaves the room. | |
| 11:52:25 | heissundfettig enters the room. | |
| 11:57:23 | gnufied enters the room. | |
| 12:04:15 | botanicus enters the room. | |
| 12:05:14 | heissund1ettig leaves the room. | |
| 12:16:23 | jewel enters the room. | |
| 12:16:32 | michalw enters the room. | |
| 12:17:43 | chris2 enters the room. | |
| 12:22:08 | heissund1ettig enters the room. | |
| 12:24:56 | headius leaves the room. | |
| 12:33:09 | heissundfettig leaves the room. | |
| 12:47:52 | heissundfettig enters the room. | |
| 12:52:52 | heissund2ettig enters the room. | |
| 12:55:03 | heissundfettig leaves the room. | |
| 13:01:22 | heissund1ettig leaves the room. | |
| 13:13:23 | heissundfettig enters the room. | |
| 13:25:56 | heissund2ettig leaves the room. | |
| 13:34:55 | joachimm leaves the room. | |
| 13:40:03 | heissund1ettig enters the room. | |
| 13:40:27 | ljulliar enters the room. | |
| 13:49:48 | antares leaves the room. | |
| 13:51:06 | heissundfettig leaves the room. | |
| 14:05:32 | antares enters the room. | |
| 14:06:47 | heissundfettig enters the room. | |
| 14:11:12 | imajes_ leaves the room. | |
| 14:14:04 | Yurik enters the room. | |
| 14:14:39 | trythil enters the room. | |
| 14:16:26 | trythil leaves the room. | |
| 14:19:12 | heissund1ettig leaves the room. | |
| 14:24:12 | hemulen enters the room. | |
| 14:35:30 | heissund1ettig enters the room. | |
| 14:41:44 | lchin leaves the room. | |
| 14:44:07 | Fullmoon leaves the room. | |
| 14:46:41 | moofbong enters the room. | |
| 14:48:35 | rubuildius_amd64 leaves the room. | |
| 14:49:34 | bitsweat leaves the room. | |
| 14:49:36 | rubuildius_amd64 enters the room. | |
| 14:49:52 | heissundfettig leaves the room. | |
| 14:50:08 | joachimm enters the room. | |
| 14:51:14 | wmoxam enters the room. | |
| 14:57:34 | cremes enters the room. | |
| 15:04:09 | heissundfettig enters the room. | |
| 15:10:50 | benburkert enters the room. | |
| 15:13:25 | w1rele55 enters the room. | |
| 15:15:40 | BlackEdder enters the room. | |
| 15:16:02 | w1rele55 leaves the room. | |
| 15:16:16 | w1rele55 enters the room. | |
| 15:17:49 | heissund1ettig leaves the room. | |
| 15:18:46 | wvdschel enters the room. | |
| 15:20:36 | wvdschel | hmmm, the 1.0 milestone was changed to 0.10? |
| 15:20:52 | wvdschel | or did I magically travel back in time? |
| 15:21:44 | heycarsten enters the room. | |
| 15:21:51 | yasuhito enters the room. | |
| 15:23:30 | w1rele55 leaves the room. | |
| 15:32:53 | heissund1ettig enters the room. | |
| 15:33:38 | antares leaves the room. | |
| 15:34:52 | yugui leaves the room. | |
| 15:48:19 | heissundfettig leaves the room. | |
| 15:55:20 | antares enters the room. | |
| 15:58:47 | gnufied leaves the room. | |
| 16:02:40 | heissundfettig enters the room. | |
| 16:08:11 | shame leaves the room. | |
| 16:10:34 | blakewatters enters the room. | |
| 16:16:05 | heissund1ettig leaves the room. | |
| 16:26:44 | antares | wvdschel: 0.10 is what comes after 0.9 |
| 16:26:59 | wvdschel | antares, right |
| 16:27:05 | Fullmoon enters the room. | |
| 16:30:21 | heissund1ettig enters the room. | |
| 16:32:07 | heissundfettig leaves the room. | |
| 16:36:30 | benburkert leaves the room. | |
| 16:37:05 | rue | Sadly, the 0.09 nomenclature has not taken hold |
| 16:37:53 | nexcastellan | I thought 0.A came after 0.9. ;-) |
| 16:39:53 | rue | No, 0.: |
| 16:41:28 | nexcastellan | Rue wins. |
| 16:41:32 | joachimm leaves the room. | |
| 16:47:19 | lopex enters the room. | |
| 16:48:21 | robin_dewd enters the room. | |
| 16:57:30 | brixen | dbussink: ping |
| 16:57:59 | heissundfettig enters the room. | |
| 17:10:31 | heissund1ettig leaves the room. | |
| 17:13:25 | vjmp enters the room. | |
| 17:13:50 | Maledikt enters the room. | |
| 17:14:28 | vjmp leaves the room. | |
| 17:15:11 | vjmp enters the room. | |
| 17:17:36 | Fullmoon leaves the room. | |
| 17:18:44 | binary42_ enters the room. | |
| 17:19:30 | binary42 leaves the room. | |
| 17:24:40 | heissund1ettig enters the room. | |
| 17:25:41 | hemulen leaves the room. | |
| 17:28:26 | Maledictus leaves the room. | |
| 17:33:11 | NoKarma leaves the room. | |
| 17:35:15 | thehcdreamer leaves the room. | |
| 17:36:46 | heissundfettig leaves the room. | |
| 17:46:07 | edwardam leaves the room. | |
| 17:51:24 | heissundfettig enters the room. | |
| 17:59:55 | shame enters the room. | |
| 18:02:10 | heissund1ettig leaves the room. | |
| 18:04:31 | madsimian enters the room. | |
| 18:05:58 | madsimian leaves the room. | |
| 18:07:43 | pauldix leaves the room. | |
| 18:11:56 | vjmp enters the room. | |
| 18:17:02 | ljulliar leaves the room. | |
| 18:17:05 | heissund1ettig enters the room. | |
| 18:18:34 | headius enters the room. | |
| 18:19:00 | headius leaves the room. | |
| 18:19:32 | headius enters the room. | |
| 18:21:37 | jewel leaves the room. | |
| 18:24:54 | ijcd enters the room. | |
| 18:26:38 | edwardam enters the room. | |
| 18:29:29 | heissundfettig leaves the room. | |
| 18:31:21 | hemulen enters the room. | |
| 18:32:59 | mass | evan, see this? http://lists.cs.uiuc.edu/pipermail/llvm-announce/2008-July/000029.html |
| 18:33:12 | mass | interesting the JVM/.Net/PHP topics |
| 18:35:35 | tarcieri | heh |
| 18:35:45 | tarcieri | building a JIT compiler for PHP in 2 days! |
| 18:38:09 | mass | in PHP! |
| 18:38:14 | mass | they left that part out |
| 18:38:43 | c0sin enters the room. | |
| 18:41:10 | tarcieri | for PHP in PHP |
| 18:41:15 | tarcieri | ? |
| 18:41:18 | tarcieri | lulz |
| 18:41:50 | Arjen_ enters the room. | |
| 18:44:36 | pth enters the room. | |
| 18:44:53 | octopod leaves the room. | |
| 18:45:43 | heissundfettig enters the room. | |
| 18:47:44 | yasuhito leaves the room. | |
| 18:48:33 | twbray enters the room. | |
| 18:55:18 | pth | Anyone here at/going to Ruby Fringe? |
| 18:56:47 | heissund1ettig leaves the room. | |
| 19:00:58 | lopex leaves the room. | |
| 19:01:51 | pauldix enters the room. | |
| 19:04:45 | rue | I thought we ARE the fringe? |
| 19:06:54 | pth | So not a bad place to ask (or should I have just said who is in Toronto and going to Fail Camp tonight///.) |
| 19:10:12 | Fullmoon enters the room. | |
| 19:14:26 | heissund1ettig enters the room. | |
| 19:15:47 | rue | pth: I have a vague recollection that someone was going |
| 19:15:55 | rue | I am not, a bit far |
| 19:16:17 | tarcieri | Zed is going, heh |
| 19:16:21 | shame leaves the room. | |
| 19:16:21 | tarcieri | making a bunch of music for it |
| 19:17:07 | shame enters the room. | |
| 19:17:32 | pth | Toronto was a nice train ride from home, so I am here - the hotel is about 3 miles from Fail Camp, I am walking have not decided if I should take my laptop or not (17" seems like a good idea most of the time) |
| 19:17:33 | dfg59 enters the room. | |
| 19:21:48 | rue | pth: s/good/bad/ :) |
| 19:23:10 | pth | I do not get out much :-) |
| 19:26:35 | dysinger enters the room. | |
| 19:26:52 | heissundfettig leaves the room. | |
| 19:31:25 | dfg59 leaves the room. | |
| 19:32:46 | pth leaves the room. | |
| 19:36:24 | Fullmoon leaves the room. | |
| 19:36:56 | ezmobius enters the room. | |
| 19:38:55 | rue | Sweet, Things is available for the iPhone |
| 19:38:58 | rue | ezmobius: Sec? |
| 19:39:05 | ezmobius | heya |
| 19:42:10 | thehcdreamer enters the room. | |
| 19:43:17 | heissundfettig enters the room. | |
| 19:46:53 | chris2 leaves the room. | |
| 19:56:11 | heissund1ettig leaves the room. | |
| 20:08:40 | ezmobius leaves the room. | |
| 20:12:00 | heissund1ettig enters the room. | |
| 20:16:42 | dbussink | brixen: back now |
| 20:17:38 | rue | A fine time to be back |
| 20:19:10 | enebo enters the room. | |
| 20:19:26 | dbussink | of course it is |
| 20:20:04 | dbussink | is Juha Pohjalainen in here somewhere? |
| 20:22:10 | rue | It depends, I guess.. where are you? |
| 20:22:34 | ezmobius enters the room. | |
| 20:24:48 | heissundfettig leaves the room. | |
| 20:27:47 | wmoxam leaves the room. | |
| 20:29:40 | vjmp | dbussink: I'm Juha |
| 20:29:58 | dbussink | vjmp: ah ok, saw the c++ fix |
| 20:30:04 | dbussink | i do have a comment about it |
| 20:30:22 | vjmp | which one? |
| 20:30:36 | dbussink | i think builtin_sendsite.cpp:98 line should just be vis->method |
| 20:30:52 | dbussink | because there vis is already known to be a methodvisibility object |
| 20:31:00 | vjmp | yep, probably -- but I was not sure ... |
| 20:31:07 | dbussink | because it's in the else if(vis) block |
| 20:31:22 | dbussink | so logic dictates that vis ? : always results in the first clause :) |
| 20:32:24 | ljulliar enters the room. | |
| 20:33:35 | vjmp | dbussink: ok, since we agree, then maybe I should update that patch? |
| 20:33:37 | wmoxam enters the room. | |
| 20:33:46 | dbussink | vjmp: yeah, seems fine to me |
| 20:34:10 | dbussink | but i'd like to poke evan about some details |
| 20:36:11 | rue | Which fix? |
| 20:36:20 | vjmp | ok, and I'm not touching anything else but lighthouseapp ... |
| 20:36:37 | rue | Oh, and iltaa, vjmp :P |
| 20:36:44 | dbussink | rue: http://rubinius.lighthouseapp.com/projects/5089/tickets/664-vm-builtin_sendsite-cpp-using-wrong-so urce-for-as-executable#ticket-664-4 |
| 20:37:11 | wmoxam leaves the room. | |
| 20:37:16 | vjmp | rue: iltaa! |
| 20:37:56 | dbussink | aaargh, finnish invasion! |
| 20:37:59 | dbussink | to the barricades |
| 20:38:03 | rue | Slowly but surely :) |
| 20:38:37 | heissundfettig enters the room. | |
| 20:39:28 | heycarsten leaves the room. | |
| 20:39:36 | dbussink | vjmp: where you btw able to produce a test case that caused a failure on that line 98? |
| 20:40:53 | vjmp | nope, I was just looking around for similar code like one in the error |
| 20:44:55 | twbray leaves the room. | |
| 20:46:13 | Arjen_ leaves the room. | |
| 20:46:40 | joachimm enters the room. | |
| 20:49:06 | vjmp | dbussink: is it better now? that patch. |
| 20:51:10 | heissund1ettig leaves the room. | |
| 20:53:42 | pauldix leaves the room. | |
| 20:54:37 | thehcdreamer leaves the room. | |
| 20:57:17 | brixen | dbussink: back from torture-ville (english for 'dentist') |
| 20:57:53 | brixen | dbussink: I finally get to work on something interesting (not that specs aren't the cat's meow..) |
| 20:58:10 | dbussink | vjmp: ah, looks good |
| 20:58:11 | brixen | dbussink: since evan is awol, got time for some Qs about primitives? |
| 20:58:20 | dbussink | you can always try ;) |
| 20:58:42 | enebo leaves the room. | |
| 20:59:12 | dbussink | vjmp: hmm, how did you make those patches? |
| 20:59:16 | dbussink | git-format-patch? |
| 20:59:16 | brixen | dbussink: k, I see annotations for both Ruby.primitive and Ruby.primitive!, is one correct? |
| 20:59:34 | vjmp | dbussink: good, thx |
| 20:59:42 | dbussink | brixen: the one with an exclamation mark means the primitive is overloaded with different types |
| 20:59:50 | brixen | ahh ha |
| 20:59:57 | vjmp | dbussink: nope; stg show |
| 21:00:08 | dbussink | vjmp: stg show? |
| 21:00:12 | dbussink | dunno that one |
| 21:00:13 | vjmp | I'm using stgit |
| 21:00:13 | brixen | dbussink: can you briefly describe how that works? how is the method resolved? |
| 21:00:39 | dbussink | brixen: the annotations creates a bunch of wrapper code |
| 21:01:13 | dbussink | vjmp: hmm, it seems that i can't just apply those patches using git-am |
| 21:01:40 | dbussink | brixen: gen/primitives_glue.gen.cpp |
| 21:02:54 | brixen | dbussink: gotcha, sweet |
| 21:03:06 | vjmp | dbussink: strange (stgit can be found http://procode.org/stgit/ ) |
| 21:03:38 | dbussink | vjmp: can you do git-format-patch ? |
| 21:04:18 | heissund1ettig enters the room. | |
| 21:04:40 | brixen | dbussink: are there cpp tests for the primitive being hooked up correctly, or just that the cpp method behaves correctly |
| 21:04:57 | dbussink | brixen: those test the cpp method directly |
| 21:05:05 | brixen | dbussink: i.e. is there anything that tests the primitive from the VM side, not just as a cpp method |
| 21:05:11 | dbussink | the glue is supposed to be incredibly stupid |
| 21:05:16 | dbussink | not that i know of hyet |
| 21:05:18 | dbussink | yet |
| 21:05:22 | brixen | ok, so we're waiting on being able to run the specs to test the rest, right? |
| 21:05:46 | dbussink | well, there are tests to test basic primitive calling |
| 21:05:51 | dbussink | but not for all primitives |
| 21:05:56 | brixen | example? |
| 21:05:58 | headius | hiya guys |
| 21:06:11 | brixen | hey headius |
| 21:06:30 | dbussink | brixen: test_unmarshal |
| 21:06:41 | rue | Ahoy |
| 21:06:42 | dbussink | one of the things that vjmp has a fix for :P |
| 21:06:52 | brixen | heh, ok |
| 21:07:05 | headius | nobody was around when I was fiddling with cpp vm...am I right in assuming it's not wired up in such a way that you could run anything? |
| 21:07:20 | dbussink | brixen: it was failing because it was not using an existing primitive |
| 21:07:32 | brixen | dbussink: what about compatibility with existing classes? for example, on Dir, I was going to add the FFI wrapper for DIR* to be a slot in Dir |
| 21:07:35 | dbussink | headius: well, it's possible to manually compile something and then run the bytecode |
| 21:07:56 | dbussink | brixen: what existing classes do you mean? |
| 21:08:12 | brixen | dbussink: existing as in Ruby code under kernel/** |
| 21:08:16 | dbussink | the c++ classes are not the ruby classes, but making them similar makes it easier to understand them is my experience |
| 21:08:36 | brixen | right, but the builtin cpp classes define slots now |
| 21:08:52 | brixen | I guess I can do it either way, not a biggie for now |
| 21:09:36 | brixen | dbussink: how do you run bytecode with it? |
| 21:09:43 | dbussink | let me dig |
| 21:09:49 | brixen | does vm/drivers/cli.cpp work? |
| 21:09:59 | dbussink | i always forget the compile command |
| 21:10:09 | dbussink | there is a vm binary |
| 21:10:14 | dbussink | ./vm compiled.rbc |
| 21:10:19 | brixen | k |
| 21:10:32 | brixen | and file.rb -> file.rbc can be done with MRI now, yes? |
| 21:10:38 | dbussink | yups |
| 21:10:44 | brixen | cmd? |
| 21:10:54 | brixen | or invocation as the case may be :) |
| 21:10:57 | headius | manually compile to what? |
| 21:10:58 | headius | rbc? |
| 21:11:00 | brixen | yeah |
| 21:11:23 | brixen | dbussink: how do you invoke the compiler with mri? |
| 21:11:31 | dbussink | i'm looking for it |
| 21:11:35 | dbussink | i always forget it |
| 21:11:47 | brixen | dude, my confidence is being shaken :P |
| 21:11:48 | dbussink | and then i think "i should write this down" |
| 21:11:51 | brixen | heh |
| 21:11:54 | brixen | I plan to! |
| 21:12:14 | headius | can't I just run with normal vm to compile it? |
| 21:12:18 | headius | or has something changed |
| 21:12:36 | botanicus leaves the room. | |
| 21:12:39 | brixen | headius: should be able to, it's just convenient to use MRI if need be |
| 21:12:45 | headius | ok |
| 21:12:47 | rue | You can |
| 21:13:10 | brixen | headius: no more stables in the new vm, since you bootstrap from MRI |
| 21:13:12 | headius | so if I get that precompiled, what's the magic to run it in the new vm? |
| 21:13:21 | brixen | ./vm file.rbc |
| 21:13:25 | headius | brixen: back to MRI bootstrap, eh? |
| 21:14:01 | brixen | headius: afaik, any workable ruby impl |
| 21:14:10 | headius | that has parsetree |
| 21:14:20 | brixen | ahh |
| 21:14:23 | dbussink | brixen: ruby ../lib/compiler/mri_compile.rb -frbx-kernel file.rb file.rbc |
| 21:14:26 | dbussink | it was something like that |
| 21:14:33 | brixen | dbussink: ok |
| 21:14:40 | vjmp | dbussink: can you try that patch now? I used stg mail command this time ... |
| 21:15:22 | heissundfettig leaves the room. | |
| 21:15:35 | brixen | dbussink: hm, I don't think the vm exe gets built anymore |
| 21:15:39 | dbussink | vjmp: ah, that's better, that works :) |
| 21:15:43 | dbussink | brixen: hmm, i have it here |
| 21:15:48 | dbussink | rake vm perhaps? |
| 21:15:57 | headius | ok, seems like it's working |
| 21:16:04 | headius | in that it gives errors about missing bits |
| 21:16:07 | vjmp | dbussink: ok, have to go and change those other patches too ... |
| 21:16:16 | jewel enters the room. | |
| 21:16:19 | dbussink | vjmp: then you get the commit credits ;) |
| 21:16:40 | brixen | dbussink: thans, that did it |
| 21:16:44 | brixen | thanks* |
| 21:16:57 | dbussink | vjmp: and since open source is all about self glorification, most people think that's important :P |
| 21:17:37 | brixen | dbussink: thanks for your glorious help :) I owe ya a bier |
| 21:18:00 | dbussink | good to know i can be of service |
| 21:18:16 | dbussink | most of the math primitives are ready btw |
| 21:18:23 | brixen | sweet |
| 21:18:26 | headius | hmm, not much working so far |
| 21:18:30 | brixen | I'm working on Dir prims now |
| 21:18:33 | headius | string_dup, block_create |
| 21:19:03 | headius | heh, meta_send_op_minus |
| 21:19:07 | headius | kinda limiting |
| 21:19:10 | brixen | dbussink: do you have a list of what remains on the math prims? |
| 21:19:18 | brixen | dbussink: if/when you do, can you comment on http://rubinius.lighthouseapp.com/projects/5089/tickets/658 |
| 21:19:20 | headius | dbussink: recent update? |
| 21:19:28 | dbussink | brixen: yeah, i'll do that |
| 21:19:53 | headius | maybe I'm doing something wrong? |
| 21:20:05 | dbussink | headius: well, only very basic stuff works |
| 21:20:19 | dbussink | you can add numbers, multiply, subtract, etc. ;) |
| 21:21:01 | headius | ok...I guess I thought there was more done |
| 21:21:10 | dbussink | no, not really |
| 21:21:13 | headius | brixen: what was that "2x" number based on? |
| 21:21:37 | dbussink | i suspect it being evan's infamous graphing capabilities :P |
| 21:21:46 | dbussink | he only forgot to add the disclaimer this time ;) |
| 21:22:23 | Yurik leaves the room. | |
| 21:22:54 | brixen | headius: heh, yeah, based on evan |
| 21:23:03 | headius | hey, 1+1 worked |
| 21:23:23 | brixen | the road from simple math to world domination is a short one :) |
| 21:23:38 | dbussink | headius: hehe, yeah, that's what i've been testing a while back too ;) |
| 21:23:40 | headius | if 1; end worked too!! |
| 21:23:55 | dbussink | not really much has changed, because evan dug into llvm |
| 21:23:58 | headius | I can't get a simple method def/call to work though |
| 21:25:12 | vjmp | dbussink: now other patches are also updated |
| 21:25:12 | headius | oops, 1.0 + 1.0 abort trap |
| 21:25:34 | dbussink | hmmm, that shouldn't happen afail |
| 21:25:41 | headius | same with bignum |
| 21:25:42 | dbussink | you have a backtrace? |
| 21:25:49 | headius | nope |
| 21:25:55 | headius | any way to force one? |
| 21:25:59 | dbussink | what does gdb say then? |
| 21:26:06 | brixen | dbussink: another Q, how is stuff like this handled now? RAISE_FROM_ERRNO("Unable to open directory"); |
| 21:26:07 | headius | I don't know gdb |
| 21:26:21 | dbussink | headius: gdb ./vm file.rbc |
| 21:26:26 | dbussink | then type run |
| 21:26:28 | headius | just did that, and then "run |
| 21:26:29 | headius | yeah |
| 21:26:34 | headius | nothing |
| 21:26:35 | dbussink | and when it aborts type bt |
| 21:26:39 | headius | ah ok |
| 21:26:45 | headius | No stack. |
| 21:26:50 | dbussink | nothing? |
| 21:27:00 | headius | nada |
| 21:27:14 | headius | er wait |
| 21:27:23 | headius | that command format didn't seem to work right |
| 21:27:29 | headius | "/Users/headius/NetBeansProjects/rbx_cpp/vm/test.rbc" is not a core dump: File format not recognized |
| 21:27:31 | dbussink | ah wait |
| 21:27:40 | dbussink | you need to handle arguments differently |
| 21:27:46 | dbussink | gdb ./vm |
| 21:27:48 | dbussink | run file.rbc |
| 21:27:59 | heissundfettig enters the room. | |
| 21:27:59 | headius | ok |
| 21:28:01 | nexcastellan | gdb ./vm then when gdb has loaded, run file.rbc |
| 21:28:01 | headius | better |
| 21:28:11 | headius | pastie |
| 21:28:27 | pastie | http://pastie.org/236747 by headius. |
| 21:29:01 | vjmp | dbussink: do you know about those prelude_ methods in vm/llvm/instructions.cpp, they seem to break llvm-g++ compilation. |
| 21:29:19 | rue | Index is a bit off.. signedness error maybe |
| 21:29:38 | Yurik enters the room. | |
| 21:29:45 | headius | oh, that's supposed to be an index into the tuple? |
| 21:29:47 | headius | yeah, el wrongo |
| 21:30:07 | vjmp | dbussink: how are you using gdb? directly or something else? |
| 21:30:22 | dbussink | vjmp: usually directly |
| 21:30:26 | rue | Directly is easiest with the new VM |
| 21:30:39 | vjmp | dbussink: I installed ddd today and it seemd to be great help ... |
| 21:30:43 | dbussink | vjmp: but showgun has some wrappers around it that makes life easier in the more complex situation there |
| 21:30:51 | dbussink | vjmp: yeah, i know ddd |
| 21:31:12 | dbussink | i'm more the low level command line junky |
| 21:31:13 | headius | hey, you guys are only using parsetree in a limited way, right? like string.to_sexp or something? |
| 21:31:37 | headius | not shit like Object.instance_method(:to_s).to_sexp or anything |
| 21:31:40 | drbrain | it's not really ParseTree |
| 21:31:49 | drbrain | at least, AFAIK |
| 21:31:59 | headius | what does MRI do then? |
| 21:32:03 | drbrain | only the former, I think |
| 21:32:05 | headius | for the new compiler |
| 21:32:09 | twbray enters the room. | |
| 21:32:24 | drbrain | it walks the NODEs |
| 21:32:30 | drbrain | at least, AFAIK |
| 21:32:45 | headius | I'll have to have a look |
| 21:33:11 | drbrain | it may go through ripper, though |
| 21:33:13 | headius | I have no desire to implement the wilder round-tripping that PT offers, but if I could get enough to run rbx compiler I'd be happy |
| 21:34:23 | headius | mri_shim requires parse_tree |
| 21:34:52 | headius | maybe only parse_tree_for_string? |
| 21:35:06 | vjmp | dbussink: I love commandline, but seems that when I debug, I could use all help I can get |
| 21:35:09 | brixen | drbrain: is readme-c++ supposed to be rdoc? |
| 21:35:17 | explody enters the room. | |
| 21:35:30 | drbrain | brixen: I doubt it |
| 21:35:37 | rue | No, it resists the ickiness of RDoc |
| 21:35:44 | rue | Peoples Anti RDoc Front |
| 21:35:49 | dbussink | vjmp: hmm, your rakefile change breaks for me |
| 21:35:56 | drbrain | since it's only a temporary file, I don't see the point of formatting it |
| 21:36:38 | brixen | drbrain: k, just trying to follow existing |
| 21:36:45 | vjmp | dbussink: yes, see #666 at lighthouse |
| 21:36:52 | brixen | evan a doc with no format has a format |
| 21:37:07 | vjmp | dbussink: and question above about those prelude_ things |
| 21:37:42 | vjmp | dbussink: oops, do you have llvm-g++ installed? |
| 21:38:00 | dbussink | vjmp: nope |
| 21:38:10 | rue | Bad man |
| 21:38:36 | dbussink | but why didn't it fail before then i wonder |
| 21:38:42 | vjmp | rue: who, me? |
| 21:39:21 | heissund1ettig leaves the room. | |
| 21:39:23 | vjmp | dbussink: I added dependency between instructions.bc and llvm/instructions.cpp ... |
| 21:39:49 | dbussink | vjmp: yeah ok, but why did it work before then? |
| 21:40:21 | vjmp | dbussink: previously that instructions.bc was some old monster from git repo |
| 21:40:55 | dbussink | ah, some hand crafted menace? |
| 21:41:51 | vjmp | dbussink: something like that ... I lost some hair while wondering why my changes did not work (from instructions.cpp) |
| 21:42:01 | dbussink | vjmp: ah ok, then i get it |
| 21:42:29 | dbussink | does it look like the old instructions.bc is generated with llvm-g++ ? |
| 21:42:42 | rue | Yeah |
| 21:42:43 | vjmp | dbussink: should I remove that dependency from patch? |
| 21:43:02 | rue | The file should probably remain in the repo unless we bundle the compiler chain too |
| 21:43:11 | dbussink | well, i think we need evan to take a little look at this |
| 21:52:01 | headius | ➔ jruby -e "require 'parse_tree'; p ParseTree.new.parse_tree_for_string('1')" |
| 21:52:01 | headius | [[:lit, 1]] |
| 21:52:03 | headius | yay |
| 21:52:04 | headius | so it begins |
| 21:55:41 | heissund1ettig enters the room. | |
| 21:56:49 | vjmp | dbussink: I'll break that patch to two halves -- Rakefile and rest |
| 21:57:34 | vjmp | dbussink: and btw, to work, that patch need new instructions.bc :-) |
| 21:57:46 | dbussink | vjmp: i get that :P |
| 21:57:57 | dbussink | vjmp: you can poke evan about it when he's back |
| 21:58:24 | vjmp | dbussink: when is evan back? long trip somewhere? |
| 21:59:17 | dbussink | dunno, maybe some other people know, brixen ? |
| 22:03:21 | vjmp | is there ci for cpp branch? there were those 4 broken testcases, so my guess is, hmm -- no? |
| 22:03:38 | dbussink | no |
| 22:03:48 | dbussink | but there has been a lot of work done on integrating llvm |
| 22:04:16 | dbussink | and stuff was known broken when evan pushed changes |
| 22:04:23 | dbussink | but we all forced him to push stuff :p |
| 22:06:33 | octopod enters the room. | |
| 22:06:47 | sholden leaves the room. | |
| 22:07:35 | joachimm leaves the room. | |
| 22:08:08 | heissundfettig leaves the room. | |
| 22:09:25 | boyscout | 1 commit by Eric Hodel |
| 22:09:26 | boyscout | * Update to RDoc r56; 0704787 |
| 22:09:36 | dbussink | vjmp: i pushed the two first fixes |
| 22:10:40 | blakewatters leaves the room. | |
| 22:10:53 | mass | waves hello |
| 22:15:00 | dbussink | waves back |
| 22:15:39 | dbussink | brixen: did you try running coverage for cpp already? |
| 22:16:38 | vjmp | dbussink: separated Rakefile from rest of the patch ... |
| 22:17:12 | dbussink | hmm, seems like primitives don't properly work with static methods yet |
| 22:17:16 | dbussink | the annotation i mean |
| 22:18:38 | c0sin leaves the room. | |
| 22:19:50 | headius | pastie |
| 22:20:45 | pastie | http://pastie.org/236777 by headius. |
| 22:20:55 | headius | fun |
| 22:21:17 | heissundfettig enters the room. | |
| 22:21:55 | catsapiens enters the room. | |
| 22:22:36 | enebo enters the room. | |
| 22:22:40 | dbussink | cool |
| 22:22:52 | qrush leaves the room. | |
| 22:22:59 | qrush enters the room. | |
| 22:23:10 | Defiler | headius: cool |
| 22:23:58 | headius | yeah, parse_tree.rb is all ruby and only about 82loc so far |
| 22:24:03 | headius | obviously a little sparse though :) |
| 22:25:07 | tarcieri | whoa |
| 22:25:12 | tarcieri | you're writing ParseTree for JRuby? |
| 22:25:59 | boyscout | 1 commit by Eric Hodel |
| 22:26:00 | boyscout | * Update to RDoc r104; 94d307e |
| 22:26:11 | headius | well the entire JRuby AST is already accessible |
| 22:26:16 | headius | just not in sexp form |
| 22:26:22 | tarcieri | cool |
| 22:26:27 | headius | basically everything in JRuby is accesible...it's all just objects |
| 22:26:39 | tarcieri | so that basically leaves YARV as the only mainstream Ruby implementation without ParseTree? |
| 22:26:47 | headius | well, this isn't exactly done |
| 22:26:54 | tarcieri | heh |
| 22:27:01 | headius | i'm just implementing enough to do basic string -> sexp |
| 22:27:17 | headius | none of that crazy stuff turning define_method methods into bmethod sexps or whatever |
| 22:28:04 | brixen | dbussink: I ran the coverage task quite a while ago, but not recently |
| 22:28:28 | dbussink | brixen: ah ok, well, just pointing it out |
| 22:28:34 | brixen | ok |
| 22:28:55 | brixen | what's the issue with primitive annotation and static methods? |
| 22:29:27 | dbussink | brixen: well, it expects the method on the message receiver |
| 22:29:44 | moofbong leaves the room. | |
| 22:29:47 | headius | Defiler: what would be the best specs to try to run to test this as I go along |
| 22:29:52 | dbussink | but there isn't a receiver for the static case |
| 22:29:53 | headius | compiler specs? |
| 22:30:11 | Defiler | headius: Yeah, though I suspect it will 'just work', given JRuby's level of Ruby support. |
| 22:30:14 | drbrain | tarcieri: YARV has Ripper |
| 22:30:18 | headius | PT tests are going to hit a crapload of stuff I'm not going to add |
| 22:30:23 | Defiler | It was meant to run on an impl that was far behind JRuby's current state |
| 22:30:31 | shame leaves the room. | |
| 22:30:33 | headius | well I just mean filling out PT cases |
| 22:30:40 | drbrain | tarcieri: what people are usually doing with PT is proc { }.to_sexp |
| 22:30:41 | Defiler | but the compiler specs are good because the spec the actual output of the compiler |
| 22:30:45 | drbrain | or method(:foo).to_sexp |
| 22:30:51 | Defiler | not hypothetical gimcrackery |
| 22:30:54 | headius | I'm doing it by opening our AST node types and decorating them with sexp generating stuff |
| 22:31:09 | headius | so it's a node-at-a-time thing |
| 22:31:15 | Defiler | Aah |
| 22:31:51 | tarcieri | drbrain: what's Ripper? |
| 22:32:05 | tarcieri | man, I need a larger backlog, did you just explain it? |
| 22:32:25 | tarcieri | ok |
| 22:32:32 | tarcieri | bleh, I need a new IRC client :/ |
| 22:33:00 | drbrain | irb(main):005:0> Ripper.sexp '1 + 1' |
| 22:33:10 | drbrain | => [:program, [[:binary, [:@int, "1", [1, 0]], :+, [:@int, "1", [1, 4]]]]] |
| 22:33:22 | drbrain | it would be easy to go from Ripper.sexp output to UnifiedRuby |
| 22:33:29 | drbrain | and then to ruby2ruby |
| 22:33:35 | benburkert enters the room. | |
| 22:33:53 | tarcieri | but can it do #sexp on something that ISN'T a string eval? |
| 22:34:00 | tarcieri | s/eval// |
| 22:34:07 | heissund1ettig leaves the room. | |
| 22:34:25 | drbrain | no |
| 22:34:29 | drbrain | nor can Rubinius |
| 22:34:39 | tarcieri | :/ |
| 22:34:52 | tarcieri | can you somehow give it an expression and have it convert it to an sexp? |
| 22:35:25 | headius | drbrain: can you point me toward info on "unifiedruby" |
| 22:35:29 | drbrain | so long as the expression is a string, yes |
| 22:35:33 | drbrain | in a string |
| 22:35:34 | tarcieri | haha |
| 22:35:36 | headius | obviously there's AST differences I'm going to have to deal with |
| 22:35:40 | tarcieri | yeah, I meant, not in a string... |
| 22:35:42 | headius | our AST has continued to evolve |
| 22:35:49 | tarcieri | o |
| 22:35:58 | cremes leaves the room. | |
| 22:36:09 | drbrain | headius: it's in ParseTree, lib/unified_ruby.rb |
| 22:36:11 | tarcieri | was rather surprised at newlines being in the sexps :/ |
| 22:36:17 | headius | ok |
| 22:36:19 | Defiler | yeah, pt output is more like a compatibility layer for us, long-term |
| 22:36:25 | Defiler | rather than how we want to implement anything |
| 22:36:38 | Defiler | presumably the same is true for you |
| 22:36:46 | tarcieri | Reia has eol tokens in its grammar, but not in its sexps |
| 22:36:56 | drbrain | ruby2ruby sits atop UnifiedRuby, so underlying parse trees can change |
| 22:36:58 | tarcieri | although Reia's newline processing sucks right now |
| 22:37:00 | headius | primary thing that bothers me about PT is that it's basically MRI |
| 22:37:01 | drbrain | or, that's the idea |
| 22:37:11 | headius | I dunno if unified improves on that or not |
| 22:37:12 | rubuildius_amd64 | Eric Hodel: 94d307e85; 2585 files, 8510 examples, 28537 expectations, 0 failures, 0 errors |
| 22:37:22 | Defiler | no other lib has gotten popular enough to set a standard, though |
| 22:37:23 | drbrain | headius: it's supposed to |
| 22:37:31 | headius | iter still wraps call? :) |
| 22:37:38 | Defiler | so we are pretty well stuck with it |
| 22:37:41 | drbrain | since MRI changes the parse tree so much |
| 22:39:07 | rubuildius_ey64 | Eric Hodel: 94d307e85; 2585 files, 8510 examples, 28537 expectations, 0 failures, 0 errors |
| 22:39:45 | headius | hmm, here's a good example |
| 22:39:52 | headius | for def foo; 1; end, JRuby doesn't insert a block node because there's only a single body element |
| 22:40:10 | headius | so it comes out as [:defn, :foo, [:scope, [:lit, 1]]] |
| 22:40:19 | headius | rather than [:scope, [:block, ... |
| 22:40:32 | Defiler | huh. seems like a weird optimization |
| 22:40:43 | headius | memory-related |
| 22:40:51 | drbrain | headius: I thought MRI did the same thing |
| 22:41:03 | headius | it's spendy to have a bunch of blocks with a collection of one node |
| 22:41:07 | drbrain | maybe it did back in the 1.8 days :/ |
| 22:41:11 | drbrain | 1.8.2 days |
| 22:41:16 | headius | *shrugs* |
| 22:41:28 | drbrain | yeah |
| 22:41:37 | headius | but there's the other obvious changes, like closures are a child of call, rather than the other way around |
| 22:41:50 | tarcieri | so Ruby's grammar.y doesn't really spit out something that can be used as the definitive standard or what? |
| 22:42:00 | headius | you don't pass a call to an iter, so the MRI way seems backward |
| 22:42:30 | Defiler | well, you create an iter based on syntax and then find yourself ready to do the matching call |
| 22:42:43 | headius | tarcieri: foo { } becomes [:iter, [:fcall, :foo], nil] |
| 22:42:44 | Defiler | I don't think it feels backwards, just syntax-y |
| 22:42:58 | tarcieri | does something actually generate the JRuby parser? |
| 22:43:00 | headius | the call comes first, syntactically |
| 22:43:05 | headius | not sure what your point is Defiler |
| 22:43:10 | drbrain | tarcieri: right, it's an implementation detail |
| 22:43:14 | headius | block is always the last parsed element of a call |
| 22:43:21 | headius | ignoring for the moment heredoc args |
| 22:43:23 | Defiler | precedence-wise, it has to look right to left, IMO |
| 22:43:33 | headius | it doesn't though, it's just another argument |
| 22:43:45 | Defiler | huh. well, I don't know about the impl |
| 22:43:54 | Defiler | I just meant that the concept has always worked OK for me |
| 22:44:06 | headius | we used to do it that way |
| 22:44:10 | tarcieri | durr |
| 22:44:16 | tarcieri | RACC has a C extension? |
| 22:44:18 | headius | flipping it vastly simplified closure logic |
| 22:45:02 | headius | more recently we've added specific-arity subclasses of call/fcall etc to avoid having to construct argument arrays |
| 22:45:10 | headius | CallOneArgBlock |
| 22:45:43 | headius | those are all still CallNode though, so they'll be easy enough to cope with |
| 22:45:46 | Defiler | got any numbers on how much that helped? It certainly seems popular, as a technique |
| 22:45:57 | heissund1ettig enters the room. | |
| 22:46:06 | headius | Defiler: almost doubled our interp speed for some things |
| 22:48:41 | Defiler | wow |
| 22:48:50 | headius | pastie |
| 22:50:09 | pastie | http://pastie.org/236792 by headius. |
| 22:50:13 | headius | hmmm |
| 22:50:22 | headius | you guys ever have MRI suddenly get *really* slow? |
| 22:50:49 | headius | MRI is taking 5s to run fib(30) on my machine these days |
| 22:50:54 | headius | it should be more like 1.5s |
| 22:51:08 | Defiler | huh. I can't say I have noticed, if it has happened to me |
| 22:51:22 | headius | it's almost like I got an update that was compiled wrong |
| 22:51:26 | headius | you run off apple's dist? |
| 22:51:39 | headius | my macports one is ok |
| 22:51:43 | ezmobius | appples mri is *slow* |
| 22:51:54 | headius | ezmobius: but this is only recently |
| 22:52:13 | ezmobius | hwo recently? there was an update in the latest osx software update |
| 22:52:14 | headius | maybe I moved macports in PATH or something and forgot about it |
| 22:52:20 | headius | hmm |
| 22:52:26 | headius | like within the past couple weeks recently |
| 22:52:33 | ezmobius | that jives with the update |
| 22:52:44 | headius | yeah, it just seems like it's a bad build |
| 22:53:23 | ljulliar leaves the room. | |
| 22:53:55 | headius | I don't know optz flags, what's -Os |
| 22:54:13 | ezmobius | --diable-pthreads gives a 30% speed boost to mri |
| 22:54:17 | ezmobius | apples build doenst do that |
| 22:54:21 | ezmobius | disable* |
| 22:55:08 | headius | neither does macports |
| 22:55:23 | headius | and I didn't think that helped single-threaded builds any |
| 22:55:31 | headius | er, single-threaded benchmarks |
| 22:55:48 | Defiler | I believe it does, actually |
| 22:56:00 | Defiler | It's some crazy signal mask doodad |
| 22:56:06 | headius | well, I'll test that later |
| 22:56:16 | headius | but this is unrelated |
| 22:56:16 | ezmobius | it does for sure |
| 22:56:56 | drbrain | on FreeBSD 5, --enable-pthread made ruby unusable |
| 22:57:14 | drbrain | because the threading library suck |