Index

Show enters and exits. Hide enters and exits.

00:00:14dbussink enters the room.
00:06:33imajes leaves the room.
00:07:14imajes enters the room.
00:07:40daesan leaves the room.
00:09:24imajes_ enters the room.
00:09:34imajes leaves the room.
00:13:03dbussinkbrixen: still there?
00:13:23pietia leaves the room.
00:13:55meisdave enters the room.
00:15:20brixenhey dbussink
00:15:35dbussinksee you've been working on the file stat / dir stuff again
00:15:41brixenyeah
00:15:45dbussinki see a lot of things i also tried in the logs ;)
00:15:53brixenI reverted everything, and I have a single commit here that changes stat to use ffi
00:15:59brixenbut it fails bad on Dir stuff
00:16:04brixenso I'm trying to fix taht
00:16:07dbussinkwith LFS enabled?
00:16:10brixenfails on osx no less
00:16:22brixenwell, that's the thing, I'm not really clear what's enabled by default on osx
00:16:32dbussinkit's not enabled by default
00:16:40dbussinki've created a dummy test c app for it
00:16:48brixenk
00:17:10brixendo you know all the flags that are need to enable it?
00:17:12dbussinkbrixen: http://pastie.caboo.se/149830
00:17:22dbussinkon os x _DARWIN_USE_64_BIT_INODE should be enough
00:17:28brixene.g. for struct dirent, there's ... yeah that
00:17:29dbussinki found in the apple documentation
00:17:31brixenok, good to know
00:17:44dbussinkfor linux, the two we already had should be enough
00:17:54dbussinkthey also enable lfs dirent structs
00:18:02brixenoh, good
00:18:04dysinger leaves the room.
00:18:07brixenthat was one of my Q's
00:18:42dbussinki don't think we need something to differentiate between the dirent's
00:19:00dbussinkbecause they have some fields that are defined, and we should only expose those in the ffi
00:19:18brixenwell, offset of d_name will differ, but the struct generator should resolve that fine
00:19:34dbussinkit always has an inode and name
00:19:39brixenright
00:19:44dbussinkyeah, the generator should fix that anyway
00:19:49brixenI did d_ino, d_reclen and d_name
00:20:00brixenfunny thing is, on linux man page, d_namlen is not included
00:20:06dbussinkhttp://www.opengroup.org/onlinepubs/009695399/basedefs/dirent.h.html
00:21:03brixenugh, use of sizeof(d_name) is incorrect
00:21:12brixenuse strlen(d_name)
00:21:42brixenhmm
00:21:50dbussinkbut i don't think the problem lies with the struct there
00:22:15dbussinkfrom what i've seen, the problem is that the primitive for Dir#read appeared to return a non LFS dirent struct
00:22:37brixenah, ok, haven't gotten that far yet :P
00:23:10dbussinkbecause all the sizes where correctly computed and the offset for d_name was correct
00:23:26brixenyeah, that's what I'm seeing too
00:23:34brixenwhen you say "primitive" what do you mean?
00:23:38brixenwe're using ffi, right?
00:23:49dbussinkyeah, sorry for the confusion
00:23:54dbussinkffi i mean
00:24:14brixenah ok
00:25:39dbussinkdoes the Dir#read depend on some external lib in some possible way?
00:25:51dbussinkthat isn't compiled with LFS?
00:26:11dewd enters the room.
00:27:01brixendunno, but curious if we need to link to certain libs
00:27:23brixenprobably the defines cause different functions to be used, all of them in the same lib, right?
00:28:01dbussinki think that is very well possible
00:28:02dbussinkhttp://developer.apple.com/releasenotes/Darwin/SymbolVariantsRelNotes/index.html
00:28:18dbussinkthat's how os x implements the LFS stuff
00:32:07brixenmm, good stuff
00:36:17dbussinkglad i'm still making sense after some beers :P
00:36:27dbussinkbut i'm going to get some sleep
00:37:13dbussinkbrixen: maybe it's an idea to set up a separate branch for this stuff?
00:38:38brixencertainly could
00:39:32kemet enters the room.
00:40:00dysinger enters the room.
00:40:53dbussinkbut i'm off, i'll see what has happened in the morgen
00:40:55dbussinkmorning
00:41:00brixenheh, ok
00:41:06dbussinkargh, i'm even starting to type dutch :P
00:41:07dbussinknite
00:41:11brixennite
00:41:18dbussink leaves the room.
00:41:41menator leaves the room.
00:48:03brixenhmm, seems that stables use runtime/platform.conf too
00:48:05brixenthat sucks
00:48:37KirinDave leaves the room.
00:57:13zimbatm leaves the room.
00:58:37dysinger leaves the room.
01:08:49kemet leaves the room.
01:14:31boyscout2 commits by Brian Ford
01:14:32boyscout * New dirent struct in platform.rake.; 62a0e42
01:14:33boyscout * Ensure platform.conf is saved with other stable files.; c11dfb5
01:15:17kemet enters the room.
01:15:24smartocci enters the room.
01:18:36meisdave leaves the room.
01:18:58brixendammit, this problem compiling ext on linux has got to be fixed
01:18:58Arjen_ leaves the room.
01:22:03rubuildiusBrian Ford: 62a0e4265; build failed! http://rafb.net/p/pMcGQi21.html
01:25:16lopex leaves the room.
01:25:33dysinger enters the room.
01:26:03brixenthe extension compiling needs to be fixed
01:26:09brixenhave to run some errands, bbiab..
01:27:00meisdave enters the room.
01:42:52rubyconsumer leaves the room.
01:42:56kamal_fariz_ enters the room.
01:43:54rubyconsumer enters the room.
01:44:40dysinger leaves the room.
01:57:45jeremydurham enters the room.
02:02:28jeremydurham leaves the room.
02:06:02rubyconsumer leaves the room.
02:23:53VVSiz_ enters the room.
02:29:11cored enters the room.
02:30:58_VVSiz_ leaves the room.
02:31:50KirinDave enters the room.
02:48:08_mutle enters the room.
02:48:58macournoyer enters the room.
02:56:48kofno_away leaves the room.
03:00:06kemet leaves the room.
03:04:14mutle leaves the room.
03:10:12wmoxam leaves the room.
03:16:58defunkt leaves the room.
03:19:21meisdave leaves the room.
03:22:03pergesu enters the room.
03:23:24rubyconsumer enters the room.
03:24:58macournoyer leaves the room.
03:26:32vatic42 enters the room.
03:26:48tlockney leaves the room.
03:26:58cored leaves the room.
03:28:14macournoyer enters the room.
03:29:37tlockney enters the room.
03:31:37meisdave enters the room.
03:34:20KirinDave leaves the room.
03:37:28rueHola
03:51:06macournoyer leaves the room.
03:54:20macournoyer enters the room.
03:56:26wycats leaves the room.
03:59:29wycats enters the room.
04:11:46meisdave_ enters the room.
04:12:37meisdave leaves the room.
04:13:06cjheath enters the room.
04:13:45kemet enters the room.
04:15:35pergesu leaves the room.
04:17:22b3b0p enters the room.
04:21:07wycats leaves the room.
04:22:05wycats enters the room.
04:30:24macournoyer leaves the room.
04:32:04macournoyer enters the room.
04:42:59defunkt enters the room.
04:45:52_ADS enters the room.
04:50:05vatic42 leaves the room.
04:52:08agardiner leaves the room.
04:53:10defunkt leaves the room.
04:55:36be9 enters the room.
04:57:09ruedrbrain: Re: opcode doc, I think it would be handy to name the frame pointer explicitly
05:01:32daesan enters the room.
05:02:47ruebrixen: I may be thinking of something different but the sizeof(d_name) should be right
05:03:10brixenrue: that was from this page: http://www.opengroup.org/onlinepubs/009695399/basedefs/dirent.h.html
05:03:24brixenrue: I'm trying to track down why these stupid builds are failing on the ext
05:04:20rueHm, wait, where is this?
05:07:33daesan leaves the room.
05:07:38rueNo, that should definitely work correctly
05:08:51kofno enters the room.
05:11:43dewd leaves the room.
05:20:57macournoyer leaves the room.
05:21:25macournoyer enters the room.
05:24:54imperator enters the room.
05:25:58defunkt enters the room.
05:26:44b3b0p leaves the room.
05:32:29brixenwell, that's the problem, damn Dir[]
05:32:47brixenline 184 of lib/bin/compile.rb
05:37:30brixenrue: do you think we should add lib/bin/compile.rbc to the stables?
05:55:06TheVoice leaves the room.
05:58:47rueWell, the compiler *uses* the stables
06:01:40drbrainrue: re: "I think it would be handy to name the frame pointer explicitly"
06:01:44drbrainrue: can you explain?
06:04:27ruedrbrain: Right now the stack looks like | ... | value1 | etc., make it | ... | <green> frame pointer </green> | value1 | or summit
06:04:48rueOr put an arrow there or whatever
06:04:59drbrainrue: for the top of the stack?
06:05:34rueNo, the stack fp for the current method
06:05:56drbraincan you mock it up for me? I'm being dense
06:07:27drbrainyou may also have to consult with agardiner, as I'm just using the existing stuff in doc/mv/op_codes/
06:08:19rueFrame pointer as in the "stuff below this does not belong to me"?
06:08:47macournoyer leaves the room.
06:09:13rueThe boundary between the stack index that the sender uses vs. what the current method is using
06:09:42drbrainah, the ... should be highlighted special?
06:10:34ezmobius enters the room.
06:11:11drbrain(the bottom one)
06:11:36rueWell, the boundary yeah so an arrow would probably be best or make a little cell inbetween that just says frame pointer or ^ my frame v sender's frame or whatever
06:11:49rueJust easier to read
06:12:04drbrainthat wouldn't be hard to add
06:12:20rueYeah, if you are tinkering with that, it would be really nice
06:12:37drbraincan you keep it in your head for a bit?
06:12:41rueYah
06:12:56drbrainI'd like to get this in first, before I get lost in a bunch of requests for improvements
06:13:10ruedrbrain: Sounds like you could beta-test Oughtve too :P
06:13:34brixenheh
06:13:58rueruerue@meow > todo Add frame pointer highlight/something to opcode docs, remind drbrain
06:19:18wycats_ enters the room.
06:19:59rueHow is the conf, gents?
06:20:10rueAnyone writing blog entries about it?
06:21:36nicksieger leaves the room.
06:24:04wycats_ leaves the room.
06:24:30wycats_ enters the room.
06:26:45binary42 enters the room.
06:27:45wycats leaves the room.
06:29:15meisdave_ leaves the room.
06:40:31meisdave enters the room.
06:43:17binary42_ leaves the room.
06:45:23GMFlash leaves the room.
06:45:32GMFlash enters the room.
06:51:13meisdave leaves the room.
06:51:56_ADS_ enters the room.
06:53:57_ADS leaves the room.
06:53:57smartocci leaves the room.
07:03:59kemet leaves the room.
07:04:13wycats leaves the room.
07:13:28wycats enters the room.
07:40:37__johan__ enters the room.
07:48:24wycats leaves the room.
07:50:09mdavid enters the room.
07:50:10xmlhacker leaves the room.
07:53:25boyscout7 commits by Evan Phoenix
07:53:26boyscout * Fix merge errors and rebuild stables; 7712c16
07:53:27boyscout * More refactoring of dispatch, improve Hash; f54811f
07:53:28boyscout * Modified timeout.rb to use a single controller Thread; 3a908f8
07:53:29boyscout * Add AutoPrimitive plugin, new stables using SendSite; 8ba34f1
07:53:30boyscout * A little VM refactoring; a723240
07:53:31boyscout ...
07:57:53brixensweet
07:58:17evanhi guys
07:58:20evanjust headed to bed
07:58:32evanwant to mention a couple of things
07:58:55evanbrixen: seems like the stat stuff didn't go well at all.
07:59:04brixenheh
07:59:05evanthere a few things we need to do different in the future
07:59:08brixensure
07:59:16evan1) don't change a primitive to have a completely new behavior
07:59:17evanever.
07:59:23rubuildiusEvan Phoenix: 7712c1617; build failed! http://rafb.net/p/4hzAAz33.html
07:59:33evanadd a new primitive if you need new behavior.
07:59:47evanthe back and forth of stat_file cause me great merge pain.
07:59:54evancaused me
08:00:00brixensorry :/
08:00:26evanin addition, when we find something like that that blows up, lets get a more targetted approach to fix it
08:00:30evanhere's my thinking
08:00:48evancreate a public branch with the new code where it can be worked on
08:00:58evanand then merge that branch in when it works ok
08:01:15evanso that everyone doesn't have broken code hour to hour
08:01:31evanit's hard to know that ahead of time, which is fine
08:01:35evanif stuff is blowing up
08:01:50drbrainevan: http://izmunuti.segment7.net/~drbrain/make_array.html
08:01:50evanmake a public branch of HEAD being blown up
08:01:56evanthen revert the blow up on HEAD
08:01:57drbrainthis has met with approval so far
08:02:08evanso that the fixes can continue to be worked on the public branch
08:02:15drbrain(minus the broken whitespace in the source code)
08:02:28brixenevan: you want to write a flow on how you want that?
08:02:39evanseems fine
08:02:45evanbrixen: sure.
08:02:57brixenevan: somehow we've got to figure out why shit goes so bad on linux
08:03:06brixensince it always worked on osx
08:03:07evanyeah
08:03:11evanagreed
08:03:20evanbut i don't want to trash HEAD while that gets sorted out.
08:03:22drbrainbecause linux didn't get their shit together soon enough
08:03:22brixenand the most recent 2 commits of mine I cannot figure out why they fail on linux
08:03:44brixenevan: also, I think lib/bin/compile.rb needs to be in stables if the build process will depend on it
08:03:55brixenDir[] get's hosed, that's the best I can tell
08:04:08evanrelated to LFS?
08:04:14brixennope
08:04:17brixenall that is out
08:04:21evanok, well, i've got no clue
08:04:27evanand need to get to bed.
08:04:31brixenok, nite
08:04:37evannext week, i'll have a look at linux
08:04:56evananyway, we need to figure something out.
08:05:00ezmobiusnite
08:05:11evani think step one is going to be to move rubuildius to a machine under our control
08:05:25evanchecking in stables and crossing our fingers it will fix rubuildius isn't a valid solution
08:05:36brixenyep
08:06:16evani think from here on out.
08:06:29evanthat if ci runs on your dev platform
08:06:33evan(whatever that may be)
08:06:39evanyou're clean to check in
08:06:44evanand if it breaks another platform
08:06:57evanwe need someone assigned to that platform to investigate
08:07:06brixenyeah, that would help
08:07:09evansomeones
08:07:16brixenevan: btw, stat works great here
08:07:20brixenthe ffi version
08:07:34evanthe ffi version that uses the gutted primitive?
08:07:43brixenno, that replaces it
08:07:55evanwtf was that gutting stat_file primitive anyway?
08:08:05brixenthe gotcha was that the primitive was over writing the ivars slot
08:08:25brixenit's 2.5x slower than mri because it precalculates all kinds of stuff
08:08:28brixenno need for that
08:08:40brixenexcept that I couldn't attach to minor and major through ffi
08:08:45evanhuh?
08:08:48evani'm confused.
08:08:52evanam I lagging?
08:08:56brixenso I tried to tweak the primitive to just return the struct as a memory pointer
08:09:30brixenno worries, I'll finish the patch and when it works on linux I'll commit
08:09:53evanok
08:09:58evanlets try to not do this again? ok?
08:10:12brixenyeah
08:10:27evanif you want to redo something in FFI
08:10:27brixenlike I said, it always worked
08:10:33evanthen do it completely seperate
08:10:46evanso that if it doesn't work
08:10:51evanyou can just switch the method name back
08:10:54evanand go on with life
08:10:56brixenyep
08:11:12evanok, bed.
08:11:12evannite.
08:11:16brixennight
08:11:41dbussink enters the room.
08:13:36dbussinkmorning
08:14:22dbussinkbrixen: any luck with the stat / dir problems?
08:14:52brixendbussink: none, sorry
08:15:02dbussinkah, too bad
08:15:10dbussinkbut isn't it working at all on linux?
08:15:18brixenyeah, seriously whacked inconsistencies on linux
08:15:26brixenwe've got to get a handle on that
08:15:40dbussinkbecause i was able to get it working ok when i disabled lfs on linux
08:15:57brixenI checked in the new dirent struct stuff
08:16:07brixenand of course the extension build fails
08:16:18brixenI can manually rebuild the stables, but those didn't work on 64bit
08:16:39dbussinkhmm, are all the LARGE_BLA references out or in?
08:16:49brixenevan just checked in some stuff, so I'm trying with that
08:17:01brixenlarge_bla?
08:17:35dbussinknvm, i see the lfs directives for linux are still commented out in the makefile for shotgun
08:18:22brixenyeah
08:21:36ezmobius leaves the room.
08:27:31dbussinkhmm, i'm getting a segfault now on linux, after generating platform.conf
08:36:13dbussinkboth on 32 and 64 archs
08:38:33brixengenerating how?
08:39:09thewoolleyman enters the room.
08:44:17brixendbussink: I'm looking at it
08:44:35_ADS_ enters the room.
08:45:42dbussinkthe platform.conf looks sane to me, at least for the dirent entries
08:49:40brixenyeah, they do
08:54:46brixendbussink: well, I think I know why
08:54:51brixenserious duh
08:54:59dbussinkwhat is it?
08:55:53brixenwell, we can't put platform.conf in stables :P
08:56:05brixenlet me see if this works
08:57:03RyanTM leaves the room.
09:01:42_ADS leaves the room.
09:03:15dbussinkthere are indeed a lot of differences
09:03:25brixenyeah, duh, it is a platform file
09:03:38brixenI was trying to avoid impacting the stables when changing a struct
09:03:45brixenbut that's obviously not the way
09:03:53dbussinkhehe, indeed :)
09:03:57brixenI don't think there is a way
09:04:39dbussinkbut isn't the platform.conf compile time only? or is it used at runtime too?
09:05:37brixenit must use it when it loads, because compiling uses the stables, and changing the dir struct caused it to crash
09:06:53brixenthe exception I get is kernel/core/process:606
09:07:33brixenhmm, that's Struct though
09:09:19hornbeck leaves the room.
09:09:31hornbeck enters the room.
09:10:49_ADS_ leaves the room.
09:11:54boyscout1 commit by Brian Ford
09:11:55boyscout * Removed storing platform.conf in stables.; 38bfbb3
09:12:22ragge enters the room.
09:17:56pietia enters the room.
09:19:06rubuildiusBrian Ford: 38bfbb310; build failed! http://rafb.net/p/FYVxXC44.html
09:20:08pietia leaves the room.
09:20:26pietia enters the room.
09:21:17perplexes leaves the room.
09:25:29dbussink leaves the room.
09:26:18dbussink enters the room.
09:28:57dbussinkbrixen: does that commit fix it for you?
09:29:16brixendbussink: nope, but it's a first step
09:29:28brixenI think the only way to do this is create a diff for each of evan's commits
09:29:43brixenreset back to 7f6f77c45
09:29:57brixenapply them one by one to build the stables
09:30:16brixenI tried to do it as a single diff, but I think too much changes in the vm
09:30:52dbussinkdon't know, i don't have a lot of experience with this stuff
09:31:02dbussinki do know bootstrapping is always a huge pita
09:31:08brixenwell, I get a clean build on 7f6f77c45
09:31:26brixendang, if only it weren't so late heh
09:32:06dbussinkand everything also works for that build?
09:35:19brixenbin/ci run, yes
09:37:07dbussinkit's still broken if only 62a0e426 is reverted?
09:39:21brixenyeah
09:39:54brixenwell, too late for me
09:41:08dbussinkgood night then :)
09:45:08brixendbussink: with git revert -n <hash> you can revert several commits into a single changeset, commit that, then work with that single diff
09:45:36brixenthat's how I did 87efbf9036e5
09:46:05brixenmight be the easiest
09:46:17brixencan you confirm that 7f6f77c45 builds for you?
09:47:21dbussinkbuilding...
09:48:54dbussinkit's compiling the ruby files now, so looks good
09:50:33dbussinkso, what is the best way to continue from here?
09:53:51dbussinkbrixen: ok, ./bin/ci is all ok
09:57:11__johan__ leaves the room.
10:01:27brixendbussink: where are you at?
10:01:34brixen7f6f77c45 ?
10:02:30dbussinkyeah
10:02:43dbussinkbut if i apply the changes to the dirent struct, all hell breaks loose
10:03:16brixenyeah, leave those out
10:03:21be938bf segfaults for me
10:04:02brixenbe9: if you're on linux, they all likely will back to 7f6f77c45
10:04:26be9brixen: ok, checkout 7f6f
10:05:06dbussinkbrixen: what the easiest way to reapply the stuff after that without the dirent stuff?
10:06:29brixenwell, here's a slightly cleaned up diff from 7f6 to head, minus the dirent changes: http://pastie.org/149933
10:06:33be9maybe create a new branch, revert master to 7f6f... and then remerge
10:07:03brixenI think using git revert -n <hash> back to 7f6f is the way to go
10:07:18brixenyou can check in a single revert, and that changeset is like a diff
10:07:24brixenbut anyway, must sleep
10:07:29brixenmore fun tomorrow :)
10:07:46be9and you can create new branch before reverting with 38bf as HEAD
10:07:55brixento clarify, you can check all the reverts in as a single commit
10:08:03brixeninstead of 9 revert commits
10:08:04zimbatm enters the room.
10:08:17brixenyeah, do it on a branch of course
10:08:37brixenin fact, you can push head as a public branch
10:08:48brixenthen revert head back to 7f6f
10:09:13be97f6f works indeed :)
10:09:32brixenbut use a revert commit to do it, don't just revert remove commits from head
10:09:48brixenstrike the second 'revert'
10:09:51brixenok, night
10:09:57be9night
10:09:58dbussinkgood night
10:10:48cremes_ enters the room.
10:20:06joachimm leaves the room.
10:25:11cremes leaves the room.
10:25:57ragge enters the room.
10:27:03dbussinkbe9: you're working in fixing this too?
10:34:01be9dbussink: i still haven't got commit rights, but I could help you :)
10:34:23dbussinkbe9: http://git.rubini.us/?p=code;a=commitdiff;h=e015badfcf6d8235c0897ddd778fb5188b9c676b
10:34:36dbussinkbe9: that one looks strange with the <<<< and >>>> blocks
10:35:28be9this is unfinished merge as I guess
10:37:54be9hm, I see, evan has commented this out
10:38:03be9http://git.rubini.us/?p=code;a=blob;f=shotgun/lib/primitives.rb;h=fca6ee4ddbf4f8a4a0e8c9fbdf06510d f08f7a1d;hb=e015badfcf6d8235c0897ddd778fb5188b9c676b
10:38:24be9check line 1257 and 1357
10:38:36dbussinkyeah, i see it
10:39:07dbussinkblegh, reverting and reapplying everything without brixen's changes doesn't work
10:40:22be9so, make now a diff of what you got against 7f6f
10:40:48dbussinkyeah, that's what i did
10:40:56dbussinkbut i probably have to make new stables along the way
10:41:01dbussinkso it can't be done in a single sweep
10:41:18jtoy enters the room.
10:43:47be9so... well maybe better do it step by step
10:44:29be9you could make a new public branch called something like "dirent" with HEAD at 38bf
10:45:05be9and then fallback master to working state 7f6f
10:52:06_mutle leaves the room.
10:52:45dbussinkblegh, nasty mergers make this a pita
10:52:45mutle enters the room.
10:56:08thewoolleyman leaves the room.
10:56:08mutle leaves the room.
10:57:16mutle enters the room.
10:58:28sudoer enters the room.
11:04:30wifelette leaves the room.
11:06:17be9tried to revert 62a0e4, doesn't work indeed
11:06:36dbussinkyeah, looks like there are more problems
11:07:01jtoy leaves the room.
11:07:19be9but I have now stables from 38bf
11:07:37dbussinkyou got those working?
11:08:30be9I'm afraid no
11:09:38Arjen_ enters the room.
11:13:08be9stables from 7f6f77 don't bring it as well with reverted 62a0e4
11:14:09wycats enters the room.
11:16:19dbussinki think we need evan to take a look at this
11:17:26be9What we got into is the other side of self-hosting :)
11:17:35rubyconsumer_ enters the room.
11:18:59jtoy enters the room.
11:19:55be9Do I understand right that changes introduced by 62a0e4 found their way into latest stables and they don't work with this change undone?
11:20:58dbussinkyeah, something like that
11:23:12be9But why then stables from 7f6f77 don't work?
11:23:32dbussinkwell, evan also regenerated stables half way through
11:23:44dbussinkbut we can't easy switch to those because of the merger problems
11:25:25sudoer leaves the room.
11:31:10octopod enters the room.
11:31:27wycats leaves the room.
11:34:02rubyconsumer leaves the room.
11:38:01antares_ enters the room.
12:23:10ctennis leaves the room.
12:53:01ctennis enters the room.
13:12:14rubyconsumer_ leaves the room.
13:12:23rubyconsumer enters the room.
13:25:24chris2 enters the room.
13:46:15dbussink leaves the room.
13:59:04dewd enters the room.
14:07:03edward_g leaves the room.
14:29:30kofno leaves the room.
14:53:52imperator leaves the room.
14:58:08headius enters the room.
14:58:21enebo enters the room.
15:05:37dewd leaves the room.
15:11:37femtowin enters the room.
15:13:16lypanov enters the room.
15:14:55lypanovhey *
15:19:26chris2 leaves the room.
15:25:35geekounet leaves the room.
15:30:18headius leaves the room.
15:53:05Arjen_ leaves the room.
15:53:24femtowin leaves the room.
16:04:09thehcdreamer enters the room.
16:12:14thehcdreamer leaves the room.
16:13:21jessop enters the room.
16:14:17thehcdreamer enters the room.
16:22:38thehcdreamer leaves the room.
16:29:45Arjen_ enters the room.
16:31:03thehcdreamer enters the room.
16:31:50thehcdreamer leaves the room.
16:36:12robinhoode leaves the room.
16:37:11meisdave enters the room.
16:39:33probablycorey enters the room.
16:42:40MenTaLguY enters the room.
16:48:41lopex enters the room.
16:52:47probablycorey leaves the room.
16:57:21meisdave leaves the room.
17:07:32nicksieger enters the room.
17:08:25MenTaLguY leaves the room.
17:10:03benburkert enters the room.
17:15:53benburkert leaves the room.
17:16:06benburkert enters the room.
17:17:21skaar leaves the room.
17:20:16chris2 enters the room.
17:21:06rueMorning
17:25:08RyanTM enters the room.
17:32:05rueI think we need to roll back HEAD a couple days and completely redo this
17:32:41rueBranch the current HEAD somewhere to store the commits, then cherry-pick merge it
17:33:55vatic42 enters the room.
17:35:24vruz enters the room.
17:51:54jtoy leaves the room.
18:18:39brixenrue: do you want to push HEAD as a public branch?
18:18:55brixenI'm working on a commit to revert to last known good, which is 7f6f7
18:30:23skaar enters the room.
18:34:54boyscout1 commit by Brian Ford
18:34:55boyscout * Reverts 62a0e4..7712c1 as a single diff. Test on linux.; fcd9250
18:35:06brixenthat should say *tested* on linux
18:35:30brixenrue: can you please push 7712c16175c9 as a public branch, if you can
18:35:42brixenok, off to breakfast before I get killed by gf
18:35:56brixen(getting killed by evan is slightly less deadly :P )
18:42:25rubuildiusBrian Ford: fcd925075; build failed! http://rafb.net/p/xZzx4u61.html
18:43:12fork leaves the room.
18:45:17rueI can ty to do it when I get home
18:45:27GMFlash leaves the room.
18:45:31GMFlash enters the room.
18:55:20benburkert_ enters the room.
19:01:36smartocci enters the room.
19:05:02dbussink enters the room.
19:05:33vatic42 leaves the room.
19:07:40Fullmoon_ enters the room.
19:09:53dbussinkbrixen: i see you just committed some reverts? does this also revert all the stuff from evan?
19:12:16benburkert leaves the room.
19:13:52benburkert_ leaves the room.
19:15:14pietia leaves the room.
19:15:39pietia enters the room.
19:16:24meisdave enters the room.
19:19:42imperator enters the room.
19:22:27dbussinkbrixen: i've got it working now in linux, with a rebuild of the stables
19:22:35dbussinkshould i commit that?
19:24:13enebo leaves the room.
19:25:08antares_ leaves the room.
19:31:00boyscout1 commit by Dirkjan Bussink
19:31:01boyscout * Rebuild stables because of revert. Now works in linux; d5826b0
19:31:22benburkert enters the room.
19:31:57kofno enters the room.
19:33:55imajes leaves the room.
19:34:38wycats enters the room.
19:34:51imajes enters the room.
19:36:48vruz leaves the room.
19:40:30evanso
19:40:36evanmy commit broke linux?
19:40:56evanarg.
19:40:57dbussinkwell, i tried reverting only brixen's stuff
19:41:14evanthat problem is the fucking dirent problems
19:41:22dbussinkbut it was too intertwined and merged i couldn't fix it
19:41:32dbussinknot with all the intermediate stable build etc.
19:41:44evanok
19:41:54dbussinkbut brixen reverted it, i just rebuild the stables so we're ok on linux again
19:42:02evanwe're not going to be using FFI for dir at all anymore.
19:42:06evanonly primitives.
19:42:13evanwe MUST get past this problem.
19:42:23evanand platform issues with Dir are the cause.
19:42:36evanfrom here on out.
19:42:37dbussinkwell, i don't see an inherent problem with it
19:42:45evanrebuilding of stables is not a valid solution to any problem.
19:42:56evanplatform wise.
19:43:00dbussinkwell, i don't get the cause of the problem
19:43:07dbussinkbecause dirent is already using ffi
19:43:24wifelette enters the room.
19:43:45evanand is busted.
19:43:53evanbecause no one can generate stables now EXCEPT for linux users
19:44:05dbussinkyeah, that's true
19:44:45dbussinkbut i don't think i'm the one who should make a call on this, brixen has been working a lot more on this
19:44:57evanfrom here on out
19:44:57MenTaLguY enters the room.
19:45:03evando not revert code because linux is broken.
19:45:08evanFIX The code.
19:45:36dbussinkwell, that's basically why i didn't revert it
19:45:38evani want linux to be busted until it's fixed properly.
19:45:55rubuildiusDirkjan Bussink: d5826b014; 4717 examples, 17239 expectations, 0 failures, 0 errors
19:46:00evanthat seems to be the only way we're going to actually get past this problem.
19:48:37evani'm rewriting core/dir.rb to no longer use any ffi.
19:48:39evanonly primitives.
19:48:39dewd enters the room.
19:49:18MenTaLguYevan: incidentally, thoughts on implementing Fiber in Rubinius?
19:49:32evanseems like it would just be a wrapper around Task
19:49:39MenTaLguYmostly
19:49:49MenTaLguYit carries some things like a distinct thread-local variable set too
19:49:54dbussinkcheck, that is at least the best for now, maybe someone wants to take it on again at some points in the future, but that would have to be done in a complete separate branch that is thoroughly tested
19:50:14evanvery much so.
19:50:33evanwe have spent FAR too much time dealing with brokeness caused by Dir at this point.
19:51:50dbussinkevan: but i would love to find out at some point what the problem is :P
19:52:02dbussinkevan: because everything like offset etc for the ffi is the same
19:52:27evanthere is some platform offset information being carried along by stable
19:52:39evanthats the only reason it could be.
19:52:47dbussinkyeah ok, but that shouldn't be a problem is the offset is still the same
19:53:00evanit must not be.
19:53:12dbussinkwell, platform.conf says the same :)
19:53:15evanor there is some other info thats platform specific.
19:55:33rueevan: The FFI was not the problem
19:55:39evanwhat is?
19:55:50rueThe primitive changes and I think something with the platform
19:56:10evanwell
19:56:16rueThe FFI was not active because brixen could not link to major and minor (they are macros)
19:56:28evanthats stat.
19:56:34dbussinkthe problem is not stat anymore
19:56:34evanthats not what the latest problem was.
19:56:36evanit was Dir related.
19:56:55dbussinkthe problems that stat revealed the problems with dir
19:57:41rueHu, which commits changed Dir?
19:57:47dbussinkrue: that's not a proper sentence, but anyway, working on the File::Stat resulted in finding out that Dir had some serious problems
19:57:56evanbrixen changed it
19:57:58dbussinkrue: dir always had problems, but they didn't show
19:58:03evanbut didn't generate stables
19:58:09evanthen I made new stables
19:58:11evanand it broke.
19:58:23dbussinkwell, even before those new stables, only linux generated stables would work ok
19:58:27evanyep
19:58:30evanexactly.
19:58:34evanso i'm removing all doubt.
19:58:42dbussinkso that should have been a warning
19:59:04be9 leaves the room.
19:59:35rueHm, these last days of commits are all kinds of messed up
19:59:50evanvery.
20:00:01rueOh, found the commit. HRm
20:00:43rueNeed some work on the commit messages
20:01:23evanplus, we've had long term problems with Dir
20:01:31evanit rears it's ugly head every month
20:01:42evanso i'm exercising the nuclear option.
20:01:45Fullmoon_ leaves the room.
20:02:10dbussinkbetter safe than sorry for know
20:02:12dbussinkfor now
20:02:23rueWe should try to address the entire platform arch a bit probably
20:02:46evanyes
20:02:59evanFFI has shown to be far too brittle, platform wise.
20:03:02rueRight now we have kernel/platform and all but not really, it still pretty much implements a single layer
20:03:04dbussinkwell, ffi should take care of that, i don't see architectural problems with it that prevent working with different archs properly
20:03:15dbussinkbut indeed, it has been very brittle
20:03:27evanit's all fixable.
20:03:50rueIt should be that we have essentially a Platform interface and various implementations thereof
20:03:50octopod leaves the room.
20:04:15dbussinkwhat kind of implementations do you mean?
20:04:56rueSay, Platform has the common interface. POSIX implements Platform in terms of, well, POSIX. Then e.g. FreeBSD can subclass POSIX and override what is necessary
20:05:27rueRight now Platform is basically just a namespace for platform interface methods
20:06:10imperator leaves the room.
20:06:18dbussinkyeah ok, but i don't think that would solve the problems we're currently having
20:06:42rueIt is not a specific solution, but I think it should be addressed first
20:07:46macournoyer enters the room.
20:07:55rueWe can have a Platform.generate_consts and whatnot
20:09:11evani think we're getting there
20:09:14evanwith structgen and constgen
20:09:20evanbut we're obviously missing something.
20:10:08dbussinkwell, i really the way their working and i don't see anything wrong with those atm, because i've checked them over and over again with simple c test programs
20:10:16dbussinkon the offsets, sizes etc.
20:10:20rueYeah, but having FFI and primitive and native code and structgen and constgen and Rakefile and kernel and platform and runtime and Rubinius:: and rbconfig and all are a part of the problem
20:12:24evanhow so?
20:12:29evanyou think we have too many things?
20:12:45rueThe responsibilities and relationships are a bit mixed up. I think we could really benefit from a structured design
20:13:24_ADS_ enters the room.
20:13:30evani'm open to suggestions
20:13:35rueNow, certainly, we need to generate the constants etc. at build time but the responsibility for defining those should be associated with the appropriate platform implementation
20:14:11djwhitt enters the room.
20:14:14aotearoa enters the room.
20:14:22rueThat way we can clearly implement any additions, subtractions and modifications to the structs, for example
20:14:49evancould you give me an example of what you mean?
20:15:10rueSo Platform expects to have some type of a Dir backend structure. POSIX expects it to be in a certain form, with certain fields
20:15:34rueThen, if Platforms::Plan9 deviates from that, it can override the POSIX definition of the struct
20:16:00rueThe generator just asks the platform for the dir stuff to be generated and ends up with whatever the chain leads to
20:17:08rueThis is the big-picture type thing. Everything can certainly be done by extending what we have now, no question about that. But it will be cleaner and easier to understand and change if we get the Platform design and flow right
20:17:42evansure
20:18:13rueI have not had enough time to really see what the specific problem with Dir is right now so I cannot address it directly
20:18:30rueBut the above general pattern should allow us to simplify this whole thing
20:19:42rueJust your standard abstraction--but I think we do not have it in the code now
20:22:30_ADSmy opinion doesn't count, but that sounds great to me. 1/2 the problem I've had with patching for cygwin so far have to do with where to put cygwin-specific stuff.
20:25:06antares_ enters the room.
20:27:56dbussinki agree that the abstraction could be a lot better yeah, but i think the current ffi structure is a good way to go, but with one additional abstraction layer like rue suggests
20:28:59evanagreed.
20:29:17wycatsso where is the compiled_method's bonus set?
20:29:37evanin the compiler.
20:29:50wycatsright... I see where the arguments are set and such
20:30:04wycats(converted into bytecode)
20:30:21wycatsbut I don't see where bonus is actually set
20:32:11evanyou're not looking very hard at all.
20:32:15evancm.local_names = ...
20:32:21evancalls CompiledMethod#locals_names
20:32:28evanwhich sets some bonus slot entry.
20:33:24wycatsevan: it's not so much that I'm not looking very hard at all, as much as I'm poking around to try and grok it
20:33:41evancheck out compiled_method.rb then.
20:33:53wycatsyep
20:33:54wycatsdid
20:34:01wycatsand it deals with @bonus and bonus =
20:34:30wycatsyeah
20:34:32wycatsand now I see it :P
20:36:13_ADSanyone know offhand why rubinius.bin would fail with exitcode 53? Or where I should search to find out?
20:36:58octopod enters the room.
20:37:39b3b0p enters the room.
20:38:05wycatsbeing able to do rake and then test changes to the compiler without a whole rigamarole is really quite helpful :)
20:38:45evanyeah
20:38:49evanit was a big step forward
20:39:28evanright now we're doing the Texas 2 step wrt platform code
20:39:34evan2 steps forward, one step back.
20:39:47wycatslol
20:40:01wycats1 big step and 1 little step forward; one little step back
20:49:23pietia leaves the room.
20:49:40tomfarm enters the room.
20:50:34dbussinkevan: it's more like a waltz, we keep spinning round and round
20:51:32boyscout1 commit by Evan Phoenix
20:51:33boyscout * Remove FFI from being used in Dir, only uses primitives; 06b8d0c
20:53:56lypanovwaves randomly
20:54:03evanheyt here
20:54:16lypanovevan: /me just got a ror job
20:54:21evancongrats!
20:54:37lypanovthx :)
20:54:57evanwhere at?
20:55:15lypanovgoes priv
20:56:09brixenevan: I'm here for a minute, I'm going to a functional programming language group on monday, a guy from haskell is going to give a talk on their FFI layer
20:56:22brixenso, I'll have a bunch of questions for him
20:56:35evanok
20:56:40lypanovdid you guys read the insane ffi overview chris2 posted on anarch a few days back?
20:56:42evani'm going to revert the revert of my code
20:56:43brixenI think rue
20:56:44evanif it breaks linux
20:56:46evantough
20:56:46evan:)
20:56:51lypanovlink that is
20:56:52evanwe need to fix it then.
20:56:54brixenrue's idea makes a lot of sense
20:56:59Defilerbrixen: I found a kickass 'super' bug
20:57:11brixenevan: yeah, I know, can you write a thing for how to push a public branch?
20:57:11dbussinkDefiler: tell us, tell us!
20:57:19evanDefiler can
20:57:23brixenevan: ok
20:57:25brixenDefiler: do tell
20:57:51dbussinkbrixen: it's really simple, i accidently removed Defiler's public branch once and had to put it back :p
20:58:27brixendbussink: ok, cool. if anyone can write it up, that'd be great :)
20:58:43brixenevan: I think we should also revisit being able to bootstrap directly from MRI
20:59:18evanok, but i don't want us to start using it as a crutch.
20:59:24brixentrue
20:59:37brixenthere's far too many moving parts right now
20:59:44brixenespecially between primitives and ffi
20:59:48evanyep
20:59:58brixenand const gen needs a way to allow changing the structs
21:00:02evanwe've accidently put our hand between 2 moving cogs and gotten it crushed
21:00:09evanchanging?
21:00:09brixenright now, if you change them, it will break stables
21:00:22brixenyeah, if you take out, e.g. platform.dir
21:00:25brixenthe stables will break
21:02:42brixenI know we don't want to use autoconf, but we should have some facility to query a platform for expected posix functions
21:02:54brixenat least for the posix functions we map with ffi
21:03:21brixenevan: one last thing, since the build depends on lib/bin/compile.rb, I think that needs to be in stables also
21:05:13rubuildiusEvan Phoenix: 06b8d0c37; 4717 examples, 17239 expectations, 0 failures, 0 errors
21:06:11ruelypanov: You have a link to the FFI? I cannot find
21:06:46lypanovhttp://autocad.xarch.at/lisp/ffis.html
21:06:46TheVoice enters the room.
21:07:01evanbrixen: ok
21:08:22boyscout3 commits by Wilson Bilkovich
21:08:23boyscout * Add 'has_key?' alias to ENV (for Rake); f96bc1a
21:08:24boyscout * Make LoadError message match MRI; 8ad06de
21:08:25boyscout * SystemExit exception should have a 'status' accessor, not 'code'; 93e5e3b
21:11:08brixenlypanov: nice
21:12:12dbussinkevan: hmm, i have two failing specs on linux now for Dir stuff
21:13:00evanfix them.
21:13:55wycatsevan: I think you need a donut :P
21:13:57wycatsj/k
21:14:19hornbeck leaves the room.
21:14:25evani've gotten very tired of this bug.
21:14:27evanvery.
21:14:45wycats:(
21:14:45evanso we will no longer be going backwards to fix it
21:14:48evanonly forward.
21:14:54wycats"keep moving forward"
21:14:55wycats:)
21:15:23rueA donut might help though
21:15:35lypanovwants a donut too
21:15:42dbussinkdoesn't like donuts
21:15:53brixendbussink: you've got better than donuts there :)
21:16:06brixendbussink: I'm looking at it now
21:16:11dbussinkbrixen: most definitely :)
21:16:41lypanovnothing is better than custard creme filled choco coated donuts
21:16:51dbussinkbrixen: i already know one thing i'm gonna hate when i'm in the usa, and that's gonna be breakfast, al that nasty sweet stuff in the morning, yuk
21:16:59ruelypanov: Crepes
21:17:15lypanovnope, crepes pale in comparison
21:17:17wycatsevan: incidentally, Jamis tried to use Ruby/DL for some stuff a few years ago, and got hosed because of lack of 64-bit support
21:17:26evanaah
21:17:29ruedbussink: Contrary to belief, it is quite possible to have sane food here. Particularly in Oregon :
21:17:29rue)
21:17:30evani knew it was something.
21:17:33brixendbussink: totally
21:17:38wycatsplus there's a hard-limit on callbacks
21:17:40wycatswhich is stupid
21:17:44dbussinkrue: i know, but in hotels it's hard :)
21:17:49wycatsthe guy who wrote DL wrote a new thing called DL2
21:17:50brixendbussink: stayed 3 weeks in stuttgart, the breakfast buffet at the hotel was the best ever
21:17:50evanwycats: our FFI doesn't support callbacks
21:17:52wycatswhich he abandoned
21:18:00wycatsevan: yeah
21:18:04wycatsbut it does support 64-bit
21:18:10evanthat it does.
21:18:11ruedbussink: So dun eat at the hotel :) There are about eight coffee shops a block
21:18:14dbussinkbrixen: yeah, that's what i'm used to too
21:18:47lypanovwas meant to be debugging an infinite loop in his ruby vm thingy but now is thinking about donuts
21:19:01brixenlypanov: resist!
21:19:04evanlypanov: working on a ruby vm thingy?
21:19:11dbussinkrue: do they have sandwiches without a huge amount of stuff on them? so with just some simple cheese?
21:19:12rueMaybe the donut is the answer.. the donut is an infinite loop too!
21:19:32ruedbussink: Yeah. Weirdly, they actually do not usually put butter/margarine on bread though
21:19:54lypanovevan: got bored and took up rubydium again in a moment of insanity
21:20:14evanheh
21:20:19dbussinkrue: we often went to something like a subway out of sheer misery, because we couldn't find anything more decent for breakfast
21:20:19rubuildiusWilson Bilkovich: f96bc1a49; 4717 examples, 17239 expectations, 0 failures, 0 errors
21:20:22ruelypanov: So if you take a bite out of the donut, it ceases to be an infinite loop!
21:20:29lypanovlol
21:20:35rueSolved!
21:20:51lypanovlemme just take a quick flight to the us and find a dunkin donuts
21:21:02lypanovno doubt the bug will be fixed 1000 euro and 24 hours from now
21:21:11evanEero: supplying donut based wisdom since 2004
21:21:19brixenlypanov: oh god, the new dunkin donuts commercial is "america runs on dunkin"
21:21:24brixenlypanov: it's horrible
21:21:27lypanovhehehe
21:21:37lypanovummmmdonuts.....
21:21:40dbussinkrue: didn't go to the subway here in the netherlands since then, just didn't like it anymore
21:21:51brixendbussink: what failures are you getting on linux? not getting any here
21:21:52dbussinkbrixen: that's now new, that more then a year old
21:22:02brixendbussink: ah, just saw it recently
21:22:08ruedbussink: Hehe.. an omelette would not be a bad choice
21:22:08brixendbussink: I was appalled
21:22:11dbussinkbrixen: hmm, i'm getting failures on Dir#pos and Dir@seek
21:22:25lypanovyou guys are making me hungry, now the frozen pork dim sum i have 10 meters away seems awfully tempting
21:22:26brixendbussink: what platform again?
21:22:35dbussinkbrixen: debian etch 32 bit
21:22:43dbussinksame on etch 64 though
21:22:51brixenah ok
21:23:07lypanovadmits to not really eating donuts, just craving the idea of them
21:23:07brixenhmm, is that a lot different than ubuntu gutsy? have they diverged much?
21:23:11TheVoiceevan: is there going to be a video of the merb and rubinius talks?
21:23:18evani think so
21:23:32dbussinkbrixen: etch has a glibc that is not the most recent
21:23:33brixendbussink: I'm going to try to get a freebsd and debian vm instance up
21:23:41brixenahh, of course
21:23:46brixendebian's glacial pace
21:23:57wycatsso re: holding onto arguments; the information is available in both the :args node and the :defn node... trying to figure out how to push it up to the scope
21:24:03dbussinkbrixen: maybe we should have some vm's where other developers can log in too?
21:24:28lypanovwhat parser does rubinius use?
21:24:29brixenhmm, we really should have several platforms available, true
21:25:12evanlypanov: a 1.8.2 parse.y thats been extracted and refactored slightly
21:25:43lypanovyou guys edging towards 1.9?
21:26:01lypanovor have plans to do so?
21:26:20evanno
21:26:26evannot until way post 1.9
21:26:27wycatsno plans to do so?
21:26:33evaner.
21:26:35evanpost 1.0
21:26:39evanrubinius 1.0
21:26:40lypanovk. makes sense
21:26:44dbussink1.9 is still a moving target too
21:26:45evan1.9 is not yet a viable platform
21:26:50evanno one is using it.
21:26:56lypanovfigured thaht
21:27:17lypanovwent to port rubydium to work on top of it only to find out that parsetree/rubyparser doesn't work on it :)
21:27:24dbussinkbrixen: i'm testing with enabling LFS now, seems to work ok on both linux and os x
21:27:37dbussinkbrixen: dunno what the bsd directives for it are
21:27:38brixendbussink: nice
21:27:39boyscout1 commit by Evan Phoenix
21:27:40boyscout * Revert "Reverts 62a0e4..7712c1 as a single diff. Test on linux."; a56104f
21:27:47evanok
21:27:50evanif that breaks linux
21:27:52evantough shit.
21:27:58evanfix the breakage.
21:28:02evani'm about to run to the airport
21:28:09wycatspeace
21:28:15wycatsdid you guys enjoy Universal
21:28:15evanif linux is busted and hasn't been fixed
21:28:18evani'll work on it when I get home.
21:28:25dbussinkgoing back to la?
21:28:27evanwycats: went go-carting instead.
21:28:33wycatsnice
21:28:36wycatswas it fun?
21:28:41lopex leaves the room.
21:28:52lypanov enters the room.
21:28:52macournoyer leaves the room.
21:28:55lypanovoops
21:29:07lypanovremembers that he doesn't have dircproxy running
21:29:45wycats:/
21:30:16brixendbussink: give me the command to push the branch. I'll put the File::Stat stuff in on top of evan's commit and see if it works
21:30:23brixendbussink: the public branch
21:30:35dbussinkbrixen: i'm testing evan's stuff now, but it breaks on linux
21:30:37brixendbussink: then we can add the LFS and test
21:30:57langenberg enters the room.
21:31:01brixenahh, yeah figured. I couldn't get it to work in pieces
21:31:10lypanovADDING range [13] TO CACHE - assumptions == [] - notes == {:statically_dispatches_to=>[[13, nil]]}
21:31:13lypanovcan't be good
21:31:21lypanovbites into the donut
21:32:51wycatsanyone have any thoughts on how I would get info that's available inside a NodeType class into the actual compiled object (in this case, method)
21:33:29wycatsI tracked down exactly where the info I need is defined in the compilation process
21:34:17wycatslypanov: you got a donut :-d
21:34:25rubuildiusEvan Phoenix: a56104f15; build failed! http://rafb.net/p/YDhhcZ17.html
21:34:57dbussinkbrixen: git push origin my_branch
21:35:05brixendbussink: sweet, thanks
21:35:12brixenbuilding now
21:35:29dbussinkyour working with or without evan's last commit?
21:35:37brixenwith
21:35:43brixenbut on osx
21:37:11dbussinkah, because that breaks on linux
21:37:29chris2 leaves the room.
21:37:38brixendbussink: hmm, still failing in Dir stuff with the new File::Stat
21:37:47brixenI'll look into it, later
21:37:54dbussinkbrixen: same problem as with the primitive version?
21:37:55brixenhouse shopping :)
21:38:00brixenseems to be
21:38:32brixenbbl..
21:38:37dbussinklater
21:40:29langenberg leaves the room.
21:43:46lypanovwycats: metaphorical donut really only alas :(
21:43:51wycatstoo bad
21:45:00imajes leaves the room.
21:45:28imajes enters the room.
21:49:00lypanovruby isn't that bad really :)
21:49:39ruewycats: Where are you looking in the compiler
21:49:59rueIt does some reshuffling in the process where the arg "duplication" is removed if I recall correctly
21:50:42defunkt enters the room.
21:51:04wifelette leaves the room.
21:51:14wycatsrue: I think I have it
21:51:26wycatsI'm adding it to desc in Define
21:51:35wycatsdesc.args = ...
21:51:41wycatswhere args is a new attr_accessor
21:51:55wycatsor am I going off the deep end?
21:52:40rueWell, in the sexp the defn node is [:defn, [:scope], []] and the second array is the args
21:53:03rueBut the :scope also has [:block, [:args]] or something, right?
21:53:07rueThose two get combined
21:53:19wycatsright
21:53:26wycatsso in Define I have the full @arguments
21:53:36wycatswhich is the combined set
21:55:11rueRight, and that gets assigned to the Define node in Define#args as @arguments eventually yeah
21:56:11wycatsright
21:56:16wycatsso I got it working as follows:
21:56:23wycatsset the cm.args in Define
21:56:28wycatsrather desc.args
21:56:35wycatsset the cm.args = desc.args in generator
21:56:42wycatsbut I don't think I should be just hacking away here
21:56:47wycatsbecause this isn't a core Ruby feature
21:57:24rueYeah, that seems sane enough
21:57:56wycatshttp://pastie.caboo.se/150095
21:58:01wycatsthat's what the API looks like
21:58:53rueYeah, you can clean the arg presentation a bit
21:59:03rueNow @arguments is an Arguments node right?
21:59:56wycatswhat I do is extract the names out of the node
22:00:01wycatsit's not even an arguments node
22:00:15wycatsit's an array of Compile::Local
22:00:16agardiner enters the room.
22:01:08wycatsgoinna grab some food
22:01:22wycatsI'll show you the code and you can rip it apart when I get back :)
22:02:51lopex enters the room.
22:11:17_ADS leaves the room.
22:14:15KirinDave enters the room.
22:14:30vatic42 enters the room.
22:21:42lypanovcute
22