Camelia, the Perl 6 bug

IRC log for #parrot, 2011-05-20

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:03 tcurtis ~~
00:22 kid51 left #parrot
00:26 hercynium left #parrot
00:30 kid51 joined #parrot
00:35 kid51 msg Tene Please take a look at http://trac.parrot.org/parrot/ticket/88
00:35 aloha OK. I'll deliver the message.
00:47 jsut joined #parrot
00:47 mikehh kid51: I was getting a failure earlier with t/tools/dev/headerizer/01_functions.t - Failed test:  51
00:48 mikehh the change in the re on line 455 of lib/Parrot/Headerizer/Functions.pm is responsible for the error
00:50 mikehh t/tools/dev/headerizer/01_functions.t gets 'PARROT_ASSERT_ARG(( _abcDEF123 )' wants 'PARROT_ASSERT_ARG(_abcDEF123)' from 'ARGFREE_NOTNULL(( _abcDEF123 )())'
00:50 lucian left #parrot
00:50 mikehh line 460, fails line 471 of t/tools/dev/headerizer/01_functions.t
00:52 pmichaud yes, the problem was a caching proxy
00:52 pmichaud I'm able to access trac now
00:52 jsut_ left #parrot
01:25 woosley joined #parrot
01:30 woosley1 joined #parrot
01:33 woosley left #parrot
01:39 bubaflub left #parrot
01:43 woosley1 left #parrot
01:51 cotto ~~
01:53 kid51 mikehh: Can you discuss that with alester/petdance?
01:54 kid51 mikehh: I can't remember all the details of that test right now.
01:54 kid51 It may be as simple as changing the test to match the new expected output.
01:55 kid51 afk
01:59 theory joined #parrot
02:01 cotto soh_cah_toa, how's it going
02:02 soh_cah_toa cotto: well, i made a branch but i can't seem to track it w/ a remote
02:02 soh_cah_toa all i did was 'git branch soh-cah-toa/pdb'
02:03 cotto does git branch tell you that you're on that branch?
02:03 soh_cah_toa yeah
02:03 soh_cah_toa oh wait, i did a checkout -b. sorry
02:04 cotto ok.  That's what I usually do.
02:05 cotto What's the problem?
02:06 soh_cah_toa 'git checkout -b soh-cah-toa/pdb origin/soh-cah-toa/pdb' complains:
02:06 soh_cah_toa fatal: git checkout: updating paths is incompatible with switching branches.
02:06 soh_cah_toa Did you intend to checkout 'frontend/pdb/origin/soh-cah-toa/pdb' which can not be resolved as commit?
02:07 theory left #parrot
02:07 cotto is there an origin/soh-cah-toa/pdb?
02:07 cotto or are you starting a new branch
02:08 soh_cah_toa i don't know. i'm just doing what docs/project/git_workflow.pod said to do
02:09 cotto You just want to create a branch.  You can push it later.
02:10 soh_cah_toa alright. so i have a new branch then
02:10 kid51 git checkout -b soh-cah-toa/pdb  ... should suffice
02:10 soh_cah_toa kid51: yeah
02:16 soh_cah_toa cotto: you mentioned that i had to modify interpreter.h. well, i was looking around and cores.c doesn't #include this file yet it uses the constants defined in it. how is that possible?
02:17 soh_cah_toa oh wait...i think it's included indirectly using parrot/embed.h
02:18 cotto soh_cah_toa, yes.  It's included indirectly.
02:18 cotto I don't recommend tracing it out unless something goes wrong.
02:19 cotto There are more interesting ways to spend your time. ;)
02:19 soh_cah_toa well, i wasn't sure how to include it w/ my runcore
02:21 cotto soh_cah_toa, you don't need a new file.  Just use cores.c
02:21 soh_cah_toa yeah but the code in functions like Parrot_runcore_fast_init() uses things i need in those headers
02:22 soh_cah_toa i was just copying the functions i needed
02:22 cotto Ah.  That should be accessible after you run headerizer
02:23 soh_cah_toa h/o...so if i call a function defined in a header that i didn't include, headerizer will #include it for me?
02:23 cotto not quite
02:24 soh_cah_toa agh...i knew it was too good to be true :)
02:24 cotto headerizer looks at the functions you have defined and puts their prototypes in the right places
02:24 cotto either headers or at the beginning of the file where they're defined
02:26 soh_cah_toa hmm...ok
02:37 soh_cah_toa cotto: how can i make it so that you can see my branch? i wanna make sure i did this right so far
02:39 cotto soh_cah_toa, do you have a fork of parrot on github?  If so, git push origin branchnamehere should work
02:40 cotto my brain am tired
02:40 soh_cah_toa alright, i'll try that
02:44 soh_cah_toa wait...i made this branch off of parrot/parrot though
02:47 soh_cah_toa should i re-branch from my github fork? i'm not too sure of the difference between github forks and git branches
02:48 cotto I don't think that'll be necessary.
02:48 soh_cah_toa alright but i don't think i can do a 'git push origin soh-cah-toa/pdb' w/o a commit bit
02:48 cotto right
02:49 benabik soh_cah_toa: You should bee able to do something like `git remote add github github_URL`
02:49 bubaflub joined #parrot
02:49 soh_cah_toa benabik: ok
02:52 soh_cah_toa hmmm...it seemed to work but i'm not seeing anything on github
02:53 benabik soh_cah_toa: You then can `git push github branch`.  Adding the remote just adds the shortcut.
02:53 cotto looks like your clone got updated
02:53 soh_cah_toa i did 'git push github' and then tried 'git push github soh-cah-toa/pdb'
02:53 cotto er, fork
02:54 benabik I do see a soh-cah-toa/pdb branch on github
02:55 soh_cah_toa benabik: branch from parrot/parrot.git or soh-cah-toa/parrot.git?
02:55 kid51 http://parrot.org/content/i-think-its-time-break : A well-written blog post
02:55 cotto soh_cah_toa, looks like you did something
02:55 soh_cah_toa kid51: thanks
02:55 mtk left #parrot
02:55 benabik soh_cah_toa: In soh-cah-toa/parrot.git
02:55 soh_cah_toa hmm...
02:55 kid51 I will have to re-read it as it is showing me things about debuggers I never knew.
02:56 kid51 left #parrot
02:57 soh_cah_toa well, i see my commit w/ 'git log' but nothing on github. parrot/parrot or soh-cah-toa/parrot
02:58 cotto soh_cah_toa, it
02:58 cotto 's there.  Look at your branch.
02:58 soh_cah_toa https://github.com/soh-cah-toa/parrot
02:58 soh_cah_toa there?
02:59 cotto https://github.com/soh-cah-toa/parrot/commi​t/1452f3528a41c36d01c5a0d15b91e9d415b253b1
02:59 soh_cah_toa b/c that's what i'm looking at
02:59 cotto or https://github.com/soh-cah-toa/p​arrot/commits/soh-cah-toa%2Fpdb
03:00 soh_cah_toa oh yeah. wow, that took longer than usual
03:01 cotto btw, I'd recommend against the name "pdb".  It has collisions with other debuggers.
03:01 soh_cah_toa yeah, i was worried about that
03:01 cotto that's why we have "parrot_debugger"
03:02 mtk joined #parrot
03:02 soh_cah_toa parrot_debugger seems like too long though. plus i kinda like one word commands w/ no underscores/hyphens
03:02 soh_cah_toa if i have too, i will though
03:02 cotto I appreciate the laziness, especially since you'll be typing it often.
03:02 soh_cah_toa i'm i KISS type of guy
03:03 cotto keep it stupid, stupid?
03:03 cotto ;)
03:03 soh_cah_toa ha
03:05 soh_cah_toa if i went the other route of making up a unique name (maybe a bird name, keeping things close), then people may not realize that that's the debugger
03:05 soh_cah_toa hmmm...decisions...
03:06 cotto "debugger_for_parrot_programs"
03:06 soh_cah_toa no confusing that w/ anything else
03:07 benabik d4pp?
03:08 soh_cah_toa numbers in an acronym?! agh!
03:08 cotto this isn't php
03:08 soh_cah_toa you will soon see that i am very anal about style conventions
03:08 soh_cah_toa i have an extreme hatred of things like camel case
03:09 soh_cah_toa i like old school unix style naming conventions short and hard to tell what it stands for
03:10 soh_cah_toa like strpbrk
03:10 particle left #parrot
03:10 cotto perfect.
03:10 cotto ship it
03:11 soh_cah_toa actually, i was talking about the c function :)
03:11 soh_cah_toa how its hard to tell what it stands for. lol
03:11 particle joined #parrot
03:12 soh_cah_toa i've searched far and wide and still don't know what strpbrk() stands for
03:13 soh_cah_toa anyway, i digress. does my code look ok? i don't think headerizer did anything
03:14 cotto soh_cah_toa, I'd put the runcore code in src/runcore/cores.c with the other similar code.  The frontend doesn't need any special access to decide which runcore to use.
03:15 soh_cah_toa i just put it there b/c the old debugger was there. i'll fix it
03:15 soh_cah_toa ahh...alright. things are starting to make a little more sense
03:15 cotto note that the old debugger only has main.c in frontend/
03:17 soh_cah_toa right. now i see that even though i may have my own runcore, parrot still needs to "know" about it
03:17 cotto I'm glad it's starting to make sense.
03:18 sorear soh_cah_toa: I'm pretty sure strpbrk dates from the times when only the first 6 characters in function names were significant
03:20 soh_cah_toa sorear: right
03:20 cotto That was before people had spent decades looking at "creat"
03:20 soh_cah_toa agh! don't get me started
03:20 soh_cah_toa they couldn't just add the extra e?! just one little e?!
03:21 cotto There's a funny commit to "go".
03:21 cotto http://code.google.com/p/go/source/detail?​r=4a3f6bbb5f0c6021279ccb3c23558b3c480d995f
03:22 soh_cah_toa ha!
03:22 tcurtis soh_cah_toa: http://stackoverflow.com/questions/500​994/what-does-strpbrk-stand-for/501007
03:23 soh_cah_toa tcurits: string pointer break? what the heck does that have to do w/ string searching? nothing's "breaking"
03:25 soh_cah_toa cotto: that reminds me. i wanted to mention go. there's been lots of talk about concurrency and i've heard that go implements concurrency quite well. i was wondering if anybody had ever considered looking at go for guidance
03:25 cotto soh_cah_toa, I don't think there's any place we're not glad to steal good ideas from.
03:26 cotto Whether someone's tried I'm not sure.
03:26 tcurtis soh_cah_toa: I believe the idea is that when you see one of the characters, you stop searching or "break".
03:27 soh_cah_toa cotto: i should probably mention it to whiteknight
03:27 cotto soh_cah_toa, sure.  If you have a more concrete suggestion, even better.
03:27 soh_cah_toa tcurtis: hmm...it's a far stretch but i can see it
03:27 cotto he's a busy fellow
03:27 soh_cah_toa yeah, no kidding
03:29 bubaflub note to GSoC-ers, all the tax paperwork is due to Google tomorrow
03:29 soh_cah_toa bubaflub: already done. proof of enrollment too
03:29 bubaflub soh_cah_toa++
03:30 bubaflub it's not a big deal if it's not in, it'll just delay the initial payment till the mid-term
03:30 dalek website: bubaflub++ | Introducing Parrot-GMP
03:30 dalek website: http://www.parrot.org/cont​ent/introducing-parrot-gmp
03:30 soh_cah_toa bubaflub: you're a gsoc student too, right?
03:30 bubaflub soh_cah_toa: yep
03:31 bubaflub soh_cah_toa: just uploading my tax forms
03:31 tcurtis soh_cah_toa: quite a stretch, but well... 6 character guaranteed significant in external identifiers doesn't give you a lot of room for self-descriptive names.
03:31 soh_cah_toa tcurits: yeah, there is a bit of a trade off
03:32 sorear yeah, naming all your external identifiers Parrot_api_x_y_z is a non-starter
03:32 * soh_cah_toa bits tongue very hard
03:36 soh_cah_toa cotto: is it worth making my own runcore if it's just an exact copy of the fast runcore? i mean, will i be making a customizations the runcore that make it distinct from the fast runcore?
03:36 cotto soh_cah_toa, you'll definitely be making customizations.
03:37 soh_cah_toa cotto: ok
03:40 sorear why?
03:41 soh_cah_toa sorear: why what?
03:41 sorear why to cotto.
03:42 cotto sorear, he'll need a custom runcore so the debugger can implement breakpoints and other debuggery things
03:48 soh_cah_toa cotto: ok, i think i got it right this time. you tell me
03:48 * cotto looks
03:49 cotto soh_cah_toa, looks about right
03:49 soh_cah_toa cotto: good
03:49 cotto did you get headerizer working or did you add the function declarations manually?
03:49 soh_cah_toa cotto: headerizer
03:50 cotto good.  It can be fiddly sometimes but overall it's better than doing that stuff manually.
03:50 soh_cah_toa cotto: definitely
03:51 soh_cah_toa cotto: btw, is it alright if i msg you will you're at work. i don't wanna distract you too much
03:52 soh_cah_toa *while
03:52 cotto soh_cah_toa, I'll let you know if I'm too busy. I'm fortunate to work at a very oss-friendly company.
03:53 cotto As long as I get what I need to do done, they don't mind if I do some parrot stuff.
03:53 soh_cah_toa cotto: that's really awesome
03:54 cotto If the main language weren't PHP it'd be perfect.
03:55 cotto as it is, it'd still take something really amazing to lure me away
03:56 soh_cah_toa cotto: that's so cool. that's definitely my #1 requirement for a job once i'm finished w/ school: foss-friendly
03:57 soh_cah_toa cotto: another thing...i never know when to msg "cotto" or "cotto_work". i seems like you're always on both. does it matter which i msg? you're in a different time zone than me so i don't know when you're working
03:58 cotto soh_cah_toa, GSoC will help then.  The good companies will look favorably on GSoC.
03:58 cotto soh_cah_toa, I have both irc clients blink for both names.  If you ping one here and I'm around, I'll see it.
03:59 * tcurtis was surprised by how impressed $dayjob seemed by GSoC when he interviewed for it.
04:01 cotto It's good experience with a real software project and effectively demonstrates a certain level of competence.
04:02 sorear maybe next year I'll get in...
04:02 soh_cah_toa i don't think there's any downside to gsoc
04:02 sorear cotto: I take objection to the idea that breakpoints require a custom runcore
04:03 tcurtis sorear: did you apply for it this year?
04:03 sorear tcurtis: no, couldn't find a project
04:03 cotto sorear, what would you suggest?  There are certainly other possibilities.
04:03 sorear cotto: using the fast runcore
04:04 cotto sorear, but what tells the interp when to break?
04:04 sorear same thing that every real debugger uses
04:04 sorear a "breakpoint" opcode
04:04 soh_cah_toa yes!
04:04 silug left #parrot
04:05 sorear which generates some kind of resumable control exception
04:05 sorear and/or hands control to a different interp a la parrot-instrument
04:06 sorear we *do* need a special function that can single-step a context
04:10 soh_cah_toa agh...i so wanna be a part of this conversation but i really gotta head off. i'll just check out the irc log tomorrow. cotto, that's the other thing i wanted to talk about - a debug opcode. we'll talk tomorrow. hasta la pasta!
04:10 soh_cah_toa left #parrot
04:23 bubaflub left #parrot
04:28 sorear cotto: other than the runcores themselves, does anything in Parrot want to parse Packfile_Segments in memory?
04:28 sorear pbc_merge and pbc_disassemble don't count because they work only on .pbc files, and the debugger won't modify those
04:36 cotto sorear, why do you ask?
04:38 cotto and by "parse in memory", do you mean parse the contents of a pbc?
04:40 fperrad joined #parrot
04:43 fperrad_ joined #parrot
04:47 fperrad left #parrot
04:47 fperrad_ is now known as fperrad
04:57 jevin left #parrot
04:58 jevin joined #parrot
04:58 sorear on second thought, it doesn't matter
04:59 sorear with x86 debuggers, it's conventional to overwrite the first byte of an instruction (of unknown length) with 0xCC, and leave the rest as invalid opcode data
05:00 sorear but with Parrot it wouldn't be unreasonable to overwrite an n opcode_t instruction with n copies of the breakpoint opcode
05:00 cotto It seems easier to have a specialized runcore.
05:01 cotto I don't see the advantage of overwriting opcodes.
05:02 cotto I guess it'd be handy if you didn't want to switch runcores or had a running program you wanted to debug.
05:07 sorear that, and it's much faster
05:07 sorear no overhead in breakpoint-free code
05:08 sorear if you use a custom runcore, you need a *fast* set data structure to remember where the breakpoints are set
05:11 fperrad_ joined #parrot
05:13 dukeleto ~~
05:13 fperrad left #parrot
05:13 fperrad_ is now known as fperrad
05:15 cotto hi dukeleto
05:15 dukeleto cotto: howdy
05:17 dukeleto cotto: what are you up to?
05:19 cotto dukeleto, looking at M0 ops and trying to figure out what I was thinking.
05:19 fperrad left #parrot
05:20 cotto also looking at how parrot parses cli options and thinking about how to turn it into something reusable
05:26 cotto dukeleto, I'm thinking that mapping a chunk name to a chunk number should be a separate operation from transferring control flow to that chunk.
05:27 cotto Is that sane, and if so what'd be a good name for the op?
05:29 fperrad joined #parrot
05:30 sorear Why?
05:31 theory joined #parrot
05:32 dukeleto cotto: why should it be a seperate operation?
05:32 dukeleto cotto: what is the use case?
05:34 Tene cotto: explain more about what you're trying to do with cli options?
05:36 cotto dukeleto, my assumption was that a chunk index would be the primary means of indicating which chunk control flow should be transferred to.  That may not be necessary.
05:36 Tene aloha: msg kid51 I'll try to do that this weekend.
05:36 aloha Tene: OK. I'll deliver the message.
05:36 cotto Tene, I'm thinking about how to make a separate frontend for parrot that knows about profiling-specific options and passes anything else to the normal frontend.
05:36 theory left #parrot
05:38 cotto dukeleto, it actually might make more sense to say that chunk indicies are an implementation detail and that names are the only way to find a chunk.
05:39 dukeleto cotto: i think i like that chunks are identified by their globally unique name only
05:39 dukeleto cotto: and, during parsing, we bomb out if a chunk name is not unique
05:41 sorear cotto: I think you have a combinatorial explosion problem there
05:41 sorear cotto: since we'll also eventually want options that are specific per GC core (nursery size, etc)
05:42 sorear it would be better, I think, to have some kind of metasyntax like --gc-OPTION=VALUE, --run-OPTION=VALUE
05:42 cotto sorear, it's clunky but that might be the best option.
05:42 sorear -Rprof --run-output-file=/path --run-profile-insns=yes
05:44 cotto it's either that, separate frontends, environment variables or a config file
05:45 cotto or a bunch of options that don't apply in all cases but still clutter up the namespace
05:48 cotto a more general way of giving gcs and runcores specific options would be helpful
05:53 dalek parrot/m0-spec: 34d07ac | cotto++ | docs/pdds/draft/pdd32_m0.pod:
05:53 dalek parrot/m0-spec: simplify goto_cs
05:53 dalek parrot/m0-spec: review: https://github.com/parrot/parrot/commit/34d07ac9dd
05:53 dalek parrot/m0-spec: ef3e7cf | cotto++ | docs/pdds/draft/pdd32_m0.pod:
05:53 dalek parrot/m0-spec: add a note about chunk names
05:53 dalek parrot/m0-spec: review: https://github.com/parrot/parrot/commit/ef3e7cfd39
05:55 sorear cotto: consider -Rprof,out=/path,insns=yes
06:01 cotto sorear, I was thinking of something not too different from that
06:02 cotto I still don't like the big long string of junk, but that's what alias is for.
06:05 sorear also think about how this will interact with fakecutables
06:05 sorear hmm.
06:06 sorear if we can make creating interps really cheap, then we could let fakecutables parse their own command line
06:06 cotto that meshes with whiteknight's eventual plan of moving option parsing to pir
06:06 sorear then Rakudo could implement S19 style ++PROFILER ++/PROFILER options and translate them
06:25 silug joined #parrot
06:30 fperrad_ joined #parrot
06:33 fperrad left #parrot
06:33 fperrad_ is now known as fperrad
06:40 fperrad left #parrot
06:40 davidfetter joined #parrot
06:43 fperrad joined #parrot
06:45 mikehh left #parrot
06:53 ShaneC joined #parrot
06:54 silug left #parrot
07:18 mj41 joined #parrot
07:28 baest_ joined #parrot
07:29 baest_ left #parrot
07:31 baest left #parrot
07:34 bacek ~~
07:34 mikehh joined #parrot
07:49 rurban_ joined #parrot
07:50 baest_ joined #parrot
07:52 rurban left #parrot
07:53 rurban_ is now known as rurban
07:56 tadzik good morning
08:46 Kulag left #parrot
08:58 dalek TT #2119 created by mikehh++: t/tools/dev/headerizer/01_functions.t failure
08:58 dalek TT #2119: http://trac.parrot.org/parrot/ticket/2119
09:29 silug joined #parrot
10:04 fperrad left #parrot
10:11 silug left #parrot
10:26 jsut_ joined #parrot
10:31 jsut left #parrot
10:42 mtk left #parrot
10:50 mtk joined #parrot
10:57 Coke left #parrot
10:57 Coke joined #parrot
11:02 Psyche^ joined #parrot
11:06 SHODAN joined #parrot
11:07 Patterner left #parrot
11:07 Psyche^ is now known as Patterner
11:08 dalek parrot: 6e704bd | NotFound++ | src/pmc/unmanagedstruct.pmc:
11:08 dalek parrot: don't return NULL STRING* from vtable functions, use STRINGNULL
11:08 dalek parrot: review: https://github.com/parrot/parrot/commit/6e704bdd25
11:22 lucian joined #parrot
12:12 whiteknight joined #parrot
12:20 mtk left #parrot
12:26 mtk joined #parrot
12:37 whiteknight good morning, #parrot
12:39 Kulag joined #parrot
12:40 silug joined #parrot
12:48 tadzik good afternoon whiteknight
12:55 whiteknight hello tadzik. how are you doing today?
12:55 ambs joined #parrot
12:58 tadzik not bad, Javacoding atm
12:58 whiteknight oh, fun
13:03 tadzik yeah, pretty much. Even more because I couldn't stand jUnit in TDD so I wrote my TAP-friendly package :)
13:04 theory joined #parrot
13:05 fperrad joined #parrot
13:13 bubaflub joined #parrot
13:13 benabik Good morning, #parrot!
13:15 * benabik is finally done with finals!
13:16 bubaflub morning benabik
13:16 bubaflub benabik: how did the finals go?
13:17 whiteknight msg cotto I'm without internet at home for at least a few days, so no hacking (that I can push) for a while.
13:17 aloha OK. I'll deliver the message.
13:19 benabik bubaflub: Pretty good, although I realized I made a stupid mistake on the way out the door.
13:21 benabik bubaflub: Oh, and Rakudo people were discussing using GMP yesterday, so you already have people looking forward to your project.  :-D
13:21 bubaflub benabik: cool.  maybe i should hang in #perl6
13:49 theory left #parrot
13:50 lucian allison: ping
13:56 sorear hellloooo benabik !
13:56 benabik helllooooo sorear!
14:06 * whiteknight just had a total animaniacs deja vu moment
14:09 SHODAN left #parrot
14:10 davidfetter left #parrot
14:21 theory joined #parrot
14:43 theory left #parrot
14:44 davidfetter joined #parrot
14:58 theory joined #parrot
15:00 dukeleto ~~
15:01 dukeleto benabik++ # done with pesky skool stuff
15:03 dalek Heuristic branch merge: pushed 143 commits to parrot/leto/embed_grant by leto
15:10 cotto whiteknight, lame sauce
15:10 whiteknight cotto: tell me about it
15:11 whiteknight I think the lawnmower guy cut the cable yesterday
15:11 whiteknight why the cable was in a place that the lawnmower guy would have access to it, I don't know
15:12 atrodo whiteknight> efficiency
15:12 * cotto hands whiteknight a roll of duct and MacGyver on DVD.
15:12 atrodo cable goes better when exposed to air
15:12 atrodo s/better/faster/
15:12 cotto er, duct tape
15:12 whiteknight I don't even know if it was the lawnmower guy or not. I only suspect it because of the timing
15:12 whiteknight it could easily be something else weather-related
15:13 whiteknight in any case, I was home yesterday most of the day without internet access, and have about two dozen commits that are unpushed
15:13 cotto whiteknight, you can use git bundle and a thumb drive
15:14 cotto http://progit.org/2010/03/10/bundles.html
15:14 whiteknight yeah, I could do a lot of stuff
15:14 whiteknight I'm thinking instead I might "go outside" and get some "sunlight"
15:15 whiteknight things my wife always talks about, but never does either
15:15 cotto That's also a fine option.
15:18 dod left #parrot
15:18 davidfetter left #parrot
15:19 dalek winxed: r1015 | NotFound++ | trunk/examples/Mysql.winxed:
15:19 dalek winxed: rearrange and improve encoding handling and add a command line option to specify
15:19 dalek winxed: encoding in example Mysql
15:19 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=1015
15:19 dalek website: benabik++ | GSoC 0: School's Out For Summer
15:19 dalek website: http://www.parrot.org/conten​t/gsoc-0-schools-out-summer
15:21 sorear cotto: did MacGyver ever have to deal with RF/microwave transmission lines?
15:22 whiteknight I think it's fiber optic
15:22 cotto sorear, probably
15:25 theory left #parrot
15:26 theory joined #parrot
15:28 cotto whiteknight, sorear had that idea that instead of having a specialized frontend for the profiling runcore, we should figure out a metasyntax that allows arbitrary options to be passed to specific subsystems (e.g. gc, runcore)
15:30 cotto something like --Rprofiling:foo=buz:quux=frub
15:31 cotto s/--//
15:31 cotto s/--/-/
15:31 cotto stupid fingers not cooperating
15:33 whiteknight we could do that. It sounds like a job that is extremely well suited to being written in PIR
15:33 whiteknight although I have no idea how we would go about doing that
15:34 sorear I also had the idea that fakecutables could have a special "parse options" entry point, which is invoked in an "early interpreter", which then creates the "real interpreter" using a parrot-instrument like reflection API
15:34 mj41 left #parrot
15:34 sorear then cotto told me that whiteknight was already wanting to do argument parsing in PIR
15:34 whiteknight sorear: yes, we've kicked around that idea in the past as well
15:34 whiteknight sorear: yes, I would love to do an entire entry program in PIR. like a _crt0 kind of function
15:35 whiteknight we have tools in PIR for loading bytecodes, parsing options, handling exceptions etc. Right now we do all that in C and it's a bear
15:35 whiteknight doing Parrot-related stuff in PIR is the most natural vector for it
15:38 whiteknight look at the code in frontend/parrot/main.c, and tell me most of that crap wouldn't be much better written in PIR
15:38 whiteknight instead of having a natural exception handler, we have to check every single API call for exceptional exit
15:40 cotto You could even cheat and only invoke a second interpreter if the first one gets passed something that needs to be fiddle with interp initialization
15:42 NotFound whiteknight: you can make it simpler by using Parrot_ext_try
15:42 cotto whiteknight, what kind of commits do you have at home?
15:43 dukeleto bubaflub: did you blog yet?
15:44 bubaflub dukeleto: yessir
15:44 bubaflub dukeleto: http://www.parrot.org/cont​ent/introducing-parrot-gmp
15:45 dukeleto bubaflub++
15:45 dukeleto benabik++
15:45 dukeleto a bloggin' we go
15:45 sorear The main worry I have is that if $USER needs to use $OPTION because in $SITUATION default interpreter initialization fails, we've got a problem
15:45 NotFound Thinking better about it, no, using Parrot_ext_try and functions available for etensions defeats the purpose of being purely embedding interface.
15:46 dukeleto bubaflub: suggestions: add links to your CPAN and github accounts in your blog posts that you mention
15:46 dukeleto bubaflub: links makes the world go around
15:46 bubaflub dukeleto: i'll do that now
15:46 dukeleto bubaflub: and spell out GMP the first time
15:46 dukeleto bubaflub: some people aren't math nerds like us :)
15:47 bubaflub dukeleto: poor people
15:47 bubaflub dukeleto: er, not financially poor, but pitiable people
15:48 dukeleto bubaflub: lulz. Only professorial mathematicians take the vow of poverty. I am part of the 10% of mathematicians that reject that antiquated notion :)
15:48 dukeleto bubaflub: good blog post. did you post to gmp-discuss ?
15:48 bubaflub dukeleto: yep.  got my answers.
15:49 dukeleto benabik: i see you are a "cleaned up history" kind of dude :)
15:50 rurban_ joined #parrot
15:50 benabik dukeleto: `git rebase -i` is your friend.  :-D
15:51 cotto sorear, can you think of an example?
15:51 dukeleto benabik: i use it lovingly, like a bar of soap...
15:52 sorear cotto: dunno, working around systems idiocy maybe
15:52 dukeleto bubaflub: looks like supporting GMP 4.2.x - 5.x is a good thing to shoot for
15:52 rurban left #parrot
15:52 bubaflub dukeleto: agreed
15:52 rurban_ is now known as rurban
15:52 dukeleto bubaflub: whoever wants it to work on 4.1.x can provide the small patch :) Don't worry about supporting old arcane versions.
15:53 sorear cotto: like say the next version of SELinux decides to disable our default runcore, and $USER wants to play with an old Parrot (from before we implemented workarounds on our end)
15:53 * lucian begins to hate pmc2c
15:54 dukeleto in slightly un-related news, I slayd the dependency hobgoblin yesterday: https://github.com/bioperl/bioperl-live/comm​it/67d124f5c49b660b413cef233a79bc60cdbaa5d6
15:54 dukeleto lucian: welcome to the club?
15:55 lucian dukeleto: i'll leave my bike outside, wait a tick
15:57 * dukeleto paints the bikeshed a new coat of clear
15:57 alester joined #parrot
15:58 whiteknight lucian: why hate pmc2c?
15:58 cotto whiteknight, why not?
15:58 whiteknight i mean, I have reasons why I hate it, but I'm wondering what other people think as well
15:59 sorear dukeleto: I don't get it, what was the problem?
15:59 lucian whiteknight: it's the majority of build time for me, i can't read it and it's a huge hack
15:59 dukeleto sorear: just old code that was written at a time where "Test::Warn" was too much of a dependency, but which is now included in the repo
15:59 lucian ah great, parrot doesn't build on osx anymore
16:00 cotto lucian, there's a tt for that
16:00 dukeleto sorear: nothing particularly amazing except a reason to write a funny commit message :)
16:00 cotto something about pcre?
16:00 lucian cotto: nope
16:02 lucian cotto: https://gist.github.com/a4079d13d6cb4f93d383
16:02 cotto lucian, can you nopaste how it exploded?
16:02 cotto bam
16:03 whiteknight lucian: looks like it's stumbling over an existing installed libparrot
16:03 cotto lucian, looks like you have an old version of libparrot somewhere
16:03 lucian hmm
16:03 * benabik didn't expect to have to resolve a merge conflict first thing.  Bleh.
16:03 lucian ah
16:03 cotto though when installing, the libparrot symlink should be updated to the version being installed
16:05 lucian ok, i removed the existing libparrot
16:05 lucian same thing
16:06 cotto did Configure.pl spit out a warning about a possible conflicting libparrot?
16:06 lucian nope
16:06 cotto you might need to reconf
16:07 cotto er, make reconfig
16:07 lucian https://gist.github.com/a4079d13d6cb4f93d383
16:07 dukeleto benabik: wouldn't rebasing and squashing just before a merge into master be the least amount of work?
16:08 dukeleto benabik: i am still reading your blog post
16:08 benabik dukeleto: I was hoping to merge the last 5 months of work on master into nqp_pct to reduce surprises later.
16:09 dukeleto benabik: so you are starting with bacek++'s branch as a base and working from there?
16:09 benabik dukeleto: Yup.
16:09 dukeleto benabik: good blog post. exactly the kind of stuff we want to hear about
16:10 dukeleto benabik: don't be shy about giving too many details :)
16:10 benabik dukeleto: I figured my blog would be an expanded version of a #ps DID/WILL DO/BLOCKERS report.
16:10 dukeleto benabik: so you will be rebasing like mad on your local branch and pushing to nqp_pct occasionally, which will be stable?
16:10 dukeleto benabik: yes. Exactly.
16:11 benabik dukeleto: Yes.  benabik/parrot/nqp_pct will be constantly rebasing on top of parrot/parrot/nqp_pct
16:11 bubaflub lucian: i'm going to try and build on Mac.  are you building from HEAD?
16:11 lucian benabik: yeah
16:11 benabik lucian: what?
16:11 bubaflub benabik: probably meant for me. tab complete on b
16:11 lucian sorry, bubaflub
16:12 lucian stop colliding on one char! :)
16:12 bubaflub lucian: yeah, my last build was 56 commits ago.  i'm cleaning and building now
16:12 benabik Ah.  (I'm only half-paying attention.  Wife is in Spring Cleaning mode so I can't just sit in front of IRC.)
16:13 lucian ok, seems to be working now
16:14 lucian we'll see if it finishes
16:14 bubaflub lucian: i just finished building off HEAD on Mac OS X 10.6.7
16:14 bubaflub lucian: lemme know if it doesn't work, i'll help ya debug
16:15 cotto dukeleto, do you have any unpushed changes to the m0 assembler?
16:15 lucian bubaflub: great, my terminal crashed
16:15 * lucian hates osx a little now
16:16 lucian i thought osx was supposed to be faster and stabler than ubuntu
16:16 lucian i get crashes and lag left and right ...
16:16 cotto dukeleto, nm.  it's a trivial change
16:16 whiteknight hate leads to anger. Anger leads to Linux. Linux leads to the darkside
16:16 lucian whiteknight: :D
16:16 cotto not likely to cause any problems
16:17 dalek parrot/m0-spec: c4ca0f2 | cotto++ | docs/pdds/draft/pdd32_m0.pod:
16:17 dalek parrot/m0-spec: rename goto_cs to goto_chunk
16:17 dalek parrot/m0-spec: review: https://github.com/parrot/parrot/commit/c4ca0f2067
16:17 dalek parrot/m0-prototype: 3806816 | cotto++ | src/m0/m0_interp.pl:
16:17 dalek parrot/m0-prototype: implement goto and goto_if_eq
16:17 dalek parrot/m0-prototype: review: https://github.com/parrot/parrot/commit/3806816ea2
16:17 dalek parrot/m0-prototype: 4ce8ab2 | cotto++ | src/m0/m0_assembler.pl:
16:17 dalek parrot/m0-prototype: rename goto_cs to goto_chunk in the assembler
16:17 dalek parrot/m0-prototype: review: https://github.com/parrot/parrot/commit/4ce8ab2c12
16:17 dalek parrot/m0-prototype: f292095 | cotto++ | src/m0/m0_interp.pl:
16:17 dalek parrot/m0-prototype: rename/implement goto_chunk
16:17 dalek parrot/m0-prototype: review: https://github.com/parrot/parrot/commit/f292095d07
16:18 bubaflub lucian: i've been using iTerm2 on my work laptop for Mac... it has yet to crash for me
16:18 bubaflub (also ZSH and screen for the win)
16:19 lucian bubaflub: i'm using visor, it's usually ok. everything just feels like fighting through sludge
16:20 bubaflub lucian: yeah, i used visor for a bit but sometimes it would leak memory
16:20 theory left #parrot
16:20 benabik lucian: In my experience OS X can really bog down on a lot of disk I/O.  Parallel compile + Spotlight = lag.
16:20 dukeleto lucian: yes, that is the feeling of developing on OS X
16:21 lucian dukeleto: not just developing
16:21 lucian i mean this has a dual core 2.4ghz intel and it's a bit laggier than my 800mhz arm netbook
16:25 lucian haha
16:25 lucian Configure.pl made a folder called ~ in my parrot folder
16:26 dalek parrot/m0-prototype: 6e46928 | cotto++ | src/m0/m0_interp.pl:
16:26 dalek parrot/m0-prototype: finish implementing goto_chunk
16:26 dalek parrot/m0-prototype: review: https://github.com/parrot/parrot/commit/6e46928574
16:28 theory joined #parrot
16:30 dukeleto lucian: that is called the "It Didn't DWIM" folder ;)
16:30 jsut joined #parrot
16:30 dukeleto lucian: a feature coded by Steve Jobs himself
16:31 lucian my linux netbook did the right thing
16:35 benabik Hm.  "load_bytecode" couldn't find file 'nqp-setting.pbc'
16:35 jsut_ left #parrot
16:35 theory left #parrot
16:36 theory joined #parrot
16:37 theory left #parrot
16:48 dalek parrot/m0-spec: f977cde | cotto++ | docs/pdds/draft/pdd32_m0.pod:
16:48 dalek parrot/m0-spec: add CHUNK register, leave space for future changes
16:48 dalek parrot/m0-spec: review: https://github.com/parrot/parrot/commit/f977cde148
16:48 dalek parrot/m0-prototype: 16d4851 | cotto++ | src/m0/m0_interp.pl:
16:48 dalek parrot/m0-prototype: simplify a context's pc, add a way to get the current chunk's name
16:48 dalek parrot/m0-prototype: review: https://github.com/parrot/parrot/commit/16d4851b11
16:48 dalek parrot/m0-prototype: 8c37cca | cotto++ | src/m0/m0_assembler.pl:
16:48 dalek parrot/m0-prototype: update register numbers in the M0 assembler
16:48 dalek parrot/m0-prototype: review: https://github.com/parrot/parrot/commit/8c37ccac55
16:50 contingencyplan left #parrot
16:51 lucian i don't get parrot's fakecutables. what's their purpose?
16:52 dukeleto lucian: dressing up PIR/PBC as an executable
16:52 dukeleto lucian: so you can ./ it
16:52 lucian but why? you could just do #! for text or that other thing for binary
16:52 dukeleto lucian: wraps PIR/PBC into a C program that executes embedded bytecode, basically
16:52 lucian the one mono and wine use
16:52 contingencyplan joined #parrot
16:52 dukeleto lucian: some dumb operating systems don't have shebang lines
16:53 lucian and is it important to have executables there? python doesn't bother
16:53 dukeleto lucian: the portability gods are fickle
16:53 lucian nor does any other language i can think of
16:53 dukeleto lucian: parrot isn't python :)
16:54 dukeleto lucian: parrot does sacrifice many goats to our portability gods
16:54 whiteknight lucian: is it hurting anybody?
16:54 lucian no, i'm just wondering
16:55 lucian it seems like yet another thing to maintain
16:56 whiteknight it really hasn't been any maintenance. It shares most of the code with the frontend and mostly just works
16:56 lucian i see
16:57 whiteknight eventually, it's the kind of mechanism I would like to use to bootstrap Parrot with
16:57 whiteknight get the entry code written in PIR or something on Parrot, get into Parrot execution earlier
16:57 lucian yes, that would be nice
16:57 lucian it'd be even nicer if GC and other low-level things were written on parrot
16:58 whiteknight I don't think that would be nice at all
16:59 lucian how so?
17:00 dalek parrot/m0-prototype: 9efb984 | cotto++ | / (2 files):
17:00 dalek parrot/m0-prototype: fix interp typo, update hello.m0b with recent register change
17:00 dalek parrot/m0-prototype: review: https://github.com/parrot/parrot/commit/9efb984319
17:00 dukeleto lucian: if by nice, you mean slow, then yes :)
17:00 lucian dukeleto: that's just an assumption without backing :)
17:01 lucian both jikesrvm and pypy have fast GCs, written in not-C
17:01 dukeleto lucian: a GC in a native parrot language really isn't feasiable until we are JITed
17:01 dukeleto lucian: yes, and they have a JIT :)
17:01 lucian of course, jit comes first
17:01 dukeleto lucian: ok, i can agree with you on that point :)
17:01 lucian i'm sort of dreaming
17:01 dukeleto lucian: it isn't a bad thing
17:01 lucian but JITs can do interesting optimisations across system boundaries
17:03 lucian that's part of why i think it'd be nice to first design a system language on parrot, then bother with a better runtime for it (M0, jit, etc.)
17:04 theory joined #parrot
17:04 dukeleto whiteknight: do you use straight markdown for your blog, or jekyll too?
17:04 dukeleto lucian: take a look at Close
17:04 dukeleto Close?
17:04 whiteknight dukeleto: jekyll is the rendering engine. All the text is markdown
17:05 dukeleto aloha, Close?
17:05 aloha dukeleto: Close is http://code.google.com/p/close/
17:05 whiteknight lucian: That's what I envision Winxed to be
17:05 lucian dukeleto: yeah, i had a look. it's, uh, close to what i'm thinking of
17:05 whiteknight it's a low-level system language for Parrot
17:05 dukeleto Winxed is the new Close
17:05 lucian winxed isn't low-level enough if you ask me, though
17:05 whiteknight I don't see why not. You have access to all the low-level PIR features, inline PIR ops, etc
17:06 lucian right. but no access to raw memory for exampel
17:06 NotFound lucian: One can't be at a lever lowel than non-existence.
17:06 whiteknight PIR doesn't give access to raw memory
17:06 whiteknight winxed is as low as the VM allows it to be
17:06 lucian yes
17:06 lucian but a language to express parrot details would need to be lower level
17:06 whiteknight NotFound: I'm glad you're here. I had a question for you from my hacking yesterday
17:07 whiteknight NotFound: is there any way to make a continuation in winxed? It doesn't seem to like treating labels as first-class citizens
17:07 dukeleto whiteknight: i guess i was thinking of something like this: http://raphinou.github.com/jekyll-base/
17:07 NotFound Correction: winxed on parrot can't give you access to raw memory. winxedxx will do.
17:07 benabik Winxed : PIR :: C : Assembly.  Once M0 becomes the new "lowest level", we might want to create Winxed on M0
17:08 NotFound whiteknight: labels in pirops must be used as :label
17:08 whiteknight ${ :label } ?
17:08 NotFound Winxedxx is winxed --> C++
17:08 NotFound whiteknight: ${ goto :label }
17:08 whiteknight NotFound: but I don't want to goto. I want a Continuation that I can invoke later
17:09 NotFound whiteknight: then use an op other than goto.
17:09 whiteknight ${ set_addr cc, :label }
17:09 whiteknight so that will work?
17:09 NotFound whiteknight: if does not work, let me kow.
17:09 whiteknight okay
17:12 NotFound whiteknight: when you have some example of usage, let me know, and I will think about a possible syntax.
17:12 whiteknight NotFound: Okay. What I'm mostly interested in is creating continuations and jumping around between them
17:12 * dukeleto reads http://tom.preston-werner.com/2008​/11/17/blogging-like-a-hacker.html again and everything becomes clear
17:12 whiteknight of course, continuations take arguments, so a syntax that allows that would be fantastic
17:13 whiteknight I almost can't imagine such a thing
17:13 whiteknight label(var args):
17:14 lucian dukeleto: interesting. Cory Doctorow described a similar workflow
17:16 whiteknight NotFound: it works. Thanks
17:23 dalek parrot: eb3d7a9 | (Dan Bolser)++ | docs/project/git_workflow.pod:
17:23 dalek parrot: Edited docs/project/git_workflow.pod via GitHub
17:23 dalek parrot: review: https://github.com/parrot/parrot/commit/eb3d7a9475
17:23 dalek parrot: 8d2e649 | bubaflub++ | docs/project/git_workflow.pod:
17:23 dalek parrot: Merge pull request #130 from dbolser/patch-1
17:23 dalek parrot:
17:23 dalek parrot: Edited docs/project/git_workflow.pod via GitHub
17:23 dalek parrot: review: https://github.com/parrot/parrot/commit/8d2e6497ef
17:29 dodathome joined #parrot
17:30 * dukeleto is installing ruby gems. Be very afraid.
17:37 cotto_work ~~
17:51 hercynium joined #parrot
17:52 whiteknight https://gist.github.com/983416
17:53 whiteknight a little bit more timing information. If we remove the faulty recursion limit code, we can recycle the CallContext throughout the loop and see major time savings
17:54 whiteknight It's worth noting that doing a morph on that callcontext doesn't reset it like we think it does
17:54 whiteknight it still trips the recursion limit code eventually
17:55 whiteknight of course, the recursion limit code is...faulty according to my reading of it
17:56 whiteknight dispatch like this, with a recycled CallContext, cuts almost 50% of the time out of a normal PIR dispatch
17:56 whiteknight without recycling, we only save about 10%
17:58 bubaflub whiteknight: could you clarify what the recursion limit code is currently doing and why we can bin it?
17:58 bubaflub (just curious)
17:58 whiteknight we can't bin it
17:58 whiteknight we do have legitimate needs for user-definable recursion limits
17:59 whiteknight but the implementation now is lacking
17:59 whiteknight right now, we test the recursion depth in src/pmc/sub.pmc:invoke, which doesn't seem like the right place to do it (considering we can invoke other things besides Sub)
18:01 whiteknight I can't actually find where we decrement the recursion depth
18:02 tadzik whew, 'evening
18:03 whiteknight okay. I found it. When we create a new CallContext (src/call/context.c:init_context) we set the recursion depth of the new CallContext to the same as the parent
18:03 whiteknight then in Sub.invoke, we increment and test it
18:03 whiteknight Except, we decrement it when we do tailcalls
18:03 whiteknight raise your hand if that sounds wrong to you
18:03 bubaflub raises hand
18:04 bubaflub there should be a few other places that happens as well, right?
18:08 whiteknight no, fewer
18:09 whiteknight we should set the recursion_depth for the new CallContext to the value of the old one +1
18:09 whiteknight and only check it there
18:09 whiteknight and not spread out the logic through the rest of the system
18:09 whiteknight Sub.invoke shouldn't know or care anything about recursion depth
18:09 whiteknight and the get_params op shouldn't have to be aware of tailcalls
18:10 whiteknight and everywhere else that might cause a recursion should not have to deal with the logic either
18:12 whiteknight although that's not even a great solution either, because we only have a "caller" context in certain situations.
18:14 whiteknight we should add CallContext.init_pmc to take a parent context. CallContext.init will redirect to init_pmc passing interp->ctx
18:14 fperrad left #parrot
18:14 whiteknight that way we always have an accurate recursion count, and can check the depth logic in the same place all the time
18:15 whiteknight and that should work fine with return continuations too, since they wouldn't increase the recursion limit if we aren't recreating them fresh
18:16 fperrad joined #parrot
18:17 whiteknight actually, we would still need to update it in the invoke opcode, incase the CallContext was created earlier and passed down the chain before being used in an invoke
18:17 whiteknight so that's two places
18:17 whiteknight although they could both use the same function
18:21 bubaflub will having that function in only those two places be faster?  or "just" correct?
18:23 theory left #parrot
18:24 whiteknight I have to think about it a little bit more, but moving the logic to the correct places is an important step
18:24 whiteknight and making sure the logic can be shared between more codepaths than just Sub.invoke
18:25 whiteknight I think we really do need to talk about breaking CallContext up into two types, like plobsing mentioned
18:27 whiteknight here's the exercise: How much logic can we move from Sub.invoke up into the invokecc opcode?
18:31 Coke left #parrot
18:31 Coke joined #parrot
18:36 hercynium left #parrot
18:39 theory joined #parrot
18:43 dodathome left #parrot
18:44 dodathome joined #parrot
18:45 theory left #parrot
18:45 Coke left #parrot
18:45 Coke joined #parrot
18:51 sorear lucian: shebang handling isn't recursive
18:51 sorear lucian: when you have #!/usr/bin/perl6, that file MUST be a binary executable
18:51 sorear that file = /usr/bin/perl6
18:53 alester left #parrot
19:12 ambs left #parrot
19:16 rblackwe The YAPC hackathon seems a bit thin. http://www.yapc2011.us/yn2011/wi​ki?node=Parrot/Perl6%20Hackathon
19:17 ambs joined #parrot
19:17 rblackwe just planning for flights and wondering if I should stay for it.
19:17 rblackwe Anyone else planning on going?
19:18 cotto_work rblackwe: dukeleto and I will be there.
19:18 cotto_work I think there are others.
19:18 rblackwe cotto_work: Woot!
19:18 rblackwe that is enough thanks
19:18 cotto_work dukeleto: ping
19:18 PerlJam sorear: s/binary//
19:18 lucian sorear: and is that an issue?
19:20 dukeleto rblackwe: many people just haven't found that wiki page yet, methinks
19:20 cotto_work dukeleto: is it a reasonable testing strategy to have a bunch of .m0 files in t/m0/something/ that either output tap or something like "ok"?
19:21 lucian sorear: other than windows support (which is usually handled by registering the interpreter with the shell), i don't see the use-case where shebangs and special binaries don't work
19:22 rblackwe dukeleto: I understand samething happened when I was organizing http://yapc10.org/yn2009/talk/2045
19:22 rblackwe Parrot Virtual Machine Workshop at YAPC|1-
19:23 cotto_work great showing at that one
19:23 rblackwe about 60 people
19:23 rblackwe so I would say yes
19:24 sorear PerlJam: no.
19:24 rblackwe The wiki did not reflect everyone
19:24 rblackwe Having it before YAPC I think we got people that just showed up early for YAPC.
19:25 sorear hmm, odd
19:25 rblackwe The crazy thing is we got a few people that came really just for PVMW not YAPC.
19:26 rblackwe have to run off to a meeting.  Looking forward to the workshop.  Thanks all for the parrot/rakudo work!
19:32 sorear well I just tested it and, at least on Linux 2.6.32, you *can* have a shebang script use another shebang script as an interpreter
19:33 sorear either this is new and 2.6.8 didn't support that, or I am just imagining the tests I did back on 2.6.8
19:33 PerlJam sorear: yep, been that way for a long time.
19:33 benabik I think it works in OS X.
19:33 sorear PerlJam: like "2.6.0" long time or like "V7" long time?
19:34 PerlJam sorear: I'm not sure ...  but I think it has worked like that for > 10 years.
19:35 PerlJam long enough ago that I don't remember when it started working.
19:35 PerlJam (or when I *noticed* it working)
19:46 benabik Whee...  My merge of master and nqp_pct won't build.  GSoC step 1: Debug.
19:54 benabik Ah!  nqp_pct won't build either, so it's nothing I did.  Time to pester bacek.
19:55 benabik msg bacek I can't get nqp_pct to build.  I keep getting ""load_bytecode" couldn't find file 'nqp-setting.pbc'"  Any pointers?
19:55 aloha OK. I'll deliver the message.
19:56 Coke left #parrot
19:56 Coke joined #parrot
19:58 dukeleto cotto_work: sure
19:58 dukeleto cotto_work: the more tests the better
19:58 dukeleto cotto_work: we can sort them out later
19:58 dukeleto cotto_work: we need a lot of tests for error conditions
19:59 dukeleto cotto_work: i think we may need to add at least something to the spec about how errors should be thrown from an M0 assembler and interp
20:00 dukeleto benabik: posting the full output of attempting to build nqp_pct to parrot-dev would be good
20:00 dukeleto benabik: bacek++ is a sleepy coding robot now
20:01 benabik dukeleto: Yeah, I didn't figure he'd be awake.  I've got a clock open to his timezone.  :-D  But I also figured that nqp_pct was his work and he might know where to start.
20:04 PerlJam benabik: I think that error means that the .pbc hasn't been copied to runtime/parrot/library
20:05 benabik PerlJam: master builds fine, as does `git merge-base origin/nqp_pct master`  So something in nqp_pct is doing it.
20:07 dukeleto benabik: bacek++ often breaks branches and does a long sprint of robot coding to get it building again
20:07 dukeleto benabik: he passed you the baton :)
20:07 benabik dukeleto: robot coding?
20:07 dukeleto benabik: we have a myth that bacek is a magical coding robot
20:08 dukeleto benabik: try to debug the build issue, and report you finds to parrot-dev, with full output attached of any errors/etc
20:08 cotto_work They say if you speak his name three times in the dark, a heisenbug will mysteriously disappear.
20:09 dukeleto benabik: and of course, ask in here first :)
20:09 dukeleto benabik: we still need to video chat, too
20:09 benabik dukeleto: Oh, yes.  Buh.  Totally forgot about that.
20:12 theory joined #parrot
20:15 whiteknight left #parrot
20:22 dodathome left #parrot
20:28 alester joined #parrot
20:30 mspaulding joined #parrot
20:32 hercynium joined #parrot
20:42 mj41 joined #parrot
20:58 ambs left #parrot
21:04 dalek parrot/m0-prototype: 40ff938 | cotto++ | t/m0/ops/m0_noop.m0:
21:04 dalek parrot/m0-prototype: start adding op-specific M0 tests
21:04 dalek parrot/m0-prototype: review: https://github.com/parrot/parrot/commit/40ff938137
21:12 fperrad left #parrot
21:55 hercynium left #parrot
21:57 pjcj left #parrot
21:57 pjcj joined #parrot
22:10 theory left #parrot
22:13 pjcj left #parrot
22:13 pjcj joined #parrot
22:15 pjcj left #parrot
22:16 pjcj joined #parrot
22:18 soh_cah_toa joined #parrot
22:18 mikehh t/tools/dev/headerizer/01_functions.t - Failed test:  51 (fulltest)- See TT #2119
22:18 mikehh all other tests PASS (pre/post-config, make corevm/make coretest, make world/make test, fulltest) at 3_4_0-20-g8d2e649
22:18 mikehh Kubuntu 11.04 amd64 (g++ --optimize)
22:20 alester left #parrot
22:20 pjcj left #parrot
22:21 pjcj joined #parrot
22:21 mj41 left #parrot
22:27 mikehh winxed (r1015) builds on parrot (3_4_0-20-g8d2e649) - test/test1/test2 ok - opengl stuff ok now - Kubuntu 11.04 amd64 (g++ --optimize)
22:28 pjcj left #parrot
22:30 pjcj joined #parrot
22:31 jsut_ joined #parrot
22:36 jsut left #parrot
22:43 dalek winxed: r1016 | NotFound++ | trunk/examples/jsonread.winxed:
22:43 dalek winxed: fix and improve example jsonread
22:43 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=1016
22:48 lucian left #parrot
22:53 pjcj left #parrot
22:54 pjcj joined #parrot
22:57 Coke left #parrot
22:57 Coke joined #parrot
22:58 pjcj left #parrot
22:59 pjcj joined #parrot
23:01 pjcj left #parrot
23:02 mikehh rakudo (7860993) - builds on parrot (3_4_0-20-g8d2e649) - make test, make stresstest [roast (32c4ff6)] PASS
23:02 mikehh Kubuntu 11.04 amd64 (g++ --optimize)
23:07 pjcj joined #parrot
23:08 pjcj left #parrot
23:17 pjcj joined #parrot
23:21 ShaneC left #parrot
23:40 bubaflub left #parrot
23:42 bubaflub joined #parrot
23:50 rurban_ joined #parrot
23:52 rurban left #parrot
23:52 rurban_ is now known as rurban

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced