|
Parrot 4.4.0 "Banana Fanna Fo Ferret" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 15 May 2012. |
|||
|
00:00
davidfetter joined
00:06
whiteknight joined
|
|||
| whiteknight | blah | 00:06 | |
| kid51 builds and tests Parrot for the first time ever with perl 5.16.0 | 00:21 | ||
| Coke | kid51: I did that once with RC0, all was fine | 00:48 | |
|
01:11
pmichaud joined
01:44
whiteknight left
|
|||
| cotto | I | 02:08 | |
| 'm excited to see kjs starting to think about m1 | |||
| and to see something finally generating m0 | |||
|
02:09
plobsing joined
|
|||
| cotto | (apart from humans, who are generally poor code-generators) | 02:09 | |
|
02:17
bacek_at_work joined,
aloha joined
05:17
adu joined
06:19
fperrad joined
06:29
kjs joined
07:30
japhb joined
07:33
brrt joined
|
|||
| brrt | just a quick question, using the parrot embedding api multithreadedly - that is, multiple threads, single interpreter instance - probably isn't a good idea, right? | 07:45 | |
| sorear | it wasn't; it might have changed | 08:08 | |
| brrt | lets assume that it isnt | 08:22 | |
|
08:59
lucian joined
09:07
kjs joined
09:35
mdupont_ joined
11:12
kjs joined
|
|||
| dalek | website: brrt++ | GSoC starts today | 11:43 | |
| website: www.parrot.org/content/gsoc-starts-today | |||
|
12:02
mdupont joined
12:06
whiteknight joined
12:17
bluescreen joined
|
|||
| whiteknight | good morning, #parrot | 12:33 | |
| kjs | morning whiteknight | 12:38 | |
| brrt | noon | 12:39 | |
| whiteknight | hello kjs, brrt | 12:44 | |
| kjs | whiteknight: my m1 stuff is in a branch now | 12:45 | |
| whiteknight | kjs: I saw that yesterday. Awesome | ||
| kjs++ | |||
| kjs | however, i don't know how to get it.. | ||
| cotto++ for doing it. | |||
| whiteknight | git clone git@github.com:parrot/m1.git | ||
| I think that's the name of the repo | |||
| kjs | it is. i'll try that. | ||
|
12:46
Woodi joined
|
|||
| whiteknight | for that you need to have setup an account at github and added an ssh key there | 12:46 | |
| otherwise you need to use a url like git://github.com/parrot/m1.git | |||
| kjs | i have the account | ||
| which ssh key do i add there? | 12:47 | ||
| whiteknight | whatever your public key is | ||
| kjs | ehm. ok, i'm a noob here on that. | ||
| whiteknight | On the github page, upper-right. there's a link for "Account Settings". Click that, then click "SSH Keys" on the left of the page | ||
| kjs | yes, i'm there now | 12:48 | |
| title? | |||
| whiteknight | whatever you want to call it. "My computer" or something like that | ||
| kjs | and the key? | ||
| whiteknight | There's a link on the top of that page for "setting up Git and SSH keys" that should walk you through the process | 12:49 | |
| that's how I did it, because I'm not an expert either | |||
| kjs | oki, thanks. will check that out | ||
|
12:53
Khisanth joined
|
|||
| kjs | whiteknight: ok, set up the key, did the git clone | 12:55 | |
|
12:55
PacoAir joined
|
|||
| kjs | i made changes in my own local copy, so i'll just copy the new changed file into the repo and the commit., that should work | 12:55 | |
| (right?) | 12:56 | ||
| whiteknight | yeah, once you make changes it's a lot like svn | 13:05 | |
| "git commit" Commits things, and "git push" sends your commits to the server | |||
| "git add" is used to add changes to the next commit. "git commit -a" adds all changes, like what svn commit does | 13:06 | ||
|
13:07
Psyche^ joined
|
|||
| brrt | whiteknight: i need to know a few things from you | 13:10 | |
| whiteknight | brrt: You can always ask any question you want | 13:11 | |
| brrt | alright :-) | ||
| i want to 'redirect' parrot standard input / output to the relevant apache functions | 13:12 | ||
| whiteknight | brrt: Okay, so what does that require? Are there standard FILE* things to redirect to, or are they functions we need to call? | 13:13 | |
| kjs | ah git push. thanks. i was looking for that | ||
| brrt | function calling | 13:15 | |
| i was hoping - and it used to be - that i could get a handle on the raw sockets | |||
| but the filtering api prohibits that | |||
| so instead, i need to call ap_write() | 13:16 | ||
| whiteknight | okay, we don't currently have anything like a way to redirect IO to a function. We would need to add something | ||
| brrt | with a pointer to the request_req structure | ||
| whiteknight | I wonder why we've never had such a thing, but we don't | 13:17 | |
| brrt | well the alternative is buffering all output and returning it to the c layer | ||
| which means copying | |||
| but apache already does buffering, so that would be double work | |||
| buffering also prohibits http streaming, which is a Handy Feature | 13:18 | ||
| whiteknight | Is there a libapache or something that your extension is linking to? | 13:20 | |
| because if we can get a reference to that library, we can use an NCI call to ap_write | |||
| brrt | probably there is | 13:21 | |
| i'll find out | |||
| whiteknight | okay, do that | ||
| This situation begs for a better solution. I'll brainstorm some things today | |||
| A SubHandle IO type that redirects IO requests to an invokable (where that invokable could be an NCI) would do the trick | 13:30 | ||
| brrt | hmm, reading apache makefiles is not really helpful | 13:31 | |
| the thing is, that invokable also needs to be called with an apache-specific (opaque) pointer | 13:32 | ||
| so either you have an invokable, or some sort of IO PMC | |||
| where the IO pmc could keep the handle somewhere | 13:33 | ||
| whiteknight | We may need to create a custom PMC type to handle this kind of stuff | 14:04 | |
| If you use a custom object as a handle, the IO subsystem will just fall back to invoking methods on that object if it's not a known type | 14:05 | ||
| so if you create a PMC which implements the necessary methods, that should work | |||
| brrt | that is reassuring | 14:06 | |
| whiteknight | I really need to get in there and clean that system up so it becomes a little bit more obvious what is happening | 14:07 | |
| brrt | pointers to (pm)?c files are good enough | 14:08 | |
| whiteknight | rok | ||
| brrt | yay,gsoc package! | 14:23 | |
| whiteknight | brrt++ | 14:28 | |
| brrt | little notebook this year, nice :-) | 14:30 | |
| do mentors also receive a package? | |||
| whiteknight | They usually get a shirt | ||
| brrt: When is a good time for you and I to have weekly meetings? Tuesdays tend to be good days because of the #parrotsketch meeting | 14:32 | ||
| brrt | that depends a bit on social requirements, but i think tuesday is good for me | 14:37 | |
| usually | |||
| :-) | |||
| i'll try to get #parrotsketch daily | |||
| eh, weekly | |||
| whiteknight | we can pick whatever day and time are best for you | 14:40 | |
| www.scriptol.com/programming/quotes.php | 14:46 | ||
| "If Java had true garbage collection, most programs would delete themselves upon execution." | |||
| atrodo | There are not nearly enough quotes for C or C++ | 14:47 | |
| whiteknight | Here's one I would add, though I forget the attribution: "If Your only tool is a hammer, every problem looks like a nail. If C++ is your hammer, every problem looks like your thumb" | 14:48 | |
| atrodo | whiteknight++ | 14:49 | |
| rurban | I started a jvm converter some years ago. code.google.com/p/parrot-jvm/ | ||
| (that was an answer to dadada) | 14:50 | ||
| brrt | weekends are bad, for me, usually social stuff :-) | 14:55 | |
| whiteknight | that's fine. Weekends are bad for me too | 14:58 | |
| too much yard work | |||
| dalek | p/qbootstrap: aee8809 | pmichaud++ | src/Q (2 files): Fix bug with subcaptures receiving empty hash entries from outer match quantified captures (RT #111286). |
15:00 | |
| p/qbootstrap: dfb6d5a | tadzik++ | VERSION: bump VERSION to 2012.05 |
|||
|
15:00
dmalcolm joined
|
|||
| p/qbootstrap: 770e9f2 | moritz++ | src/Regex/P6Regex/ (2 files): implement <|w> and <|c> regex assertions |
|||
| p/qbootstrap: 31fdcee | moritz++ | / (3 files): oops, should have implemented <|w> in qregex right away. With basic tests this time |
|||
| p/qbootstrap: 4bac8c3 | jnthn++ | / (8 files): Merge branch 'master' into qbootstrap |
|||
| brrt | so, tuesday is ok for me, otherwise friday | ||
| will see how it sorts out for me | |||
| whiteknight | okay | 15:01 | |
| the only important part is that I see you every week. If you're here in #parrot a lot, that's easy | |||
|
15:01
brrt left
15:02
brrt joined
|
|||
| brrt | i like the one about php :-) | 15:02 | |
| whiteknight | heh | ||
| I'm actually surprised there aren't more quotes about PHP on there. It's a common topic of complaint | 15:03 | ||
| brrt | i think the quote sums it up nicely | ||
| whiteknight | maybe the people who complain about PHP aren't usually very quotable | ||
| brrt | especially when compared with perl | ||
| anyway, i was planning on writing a planned architecture document this evening | 15:19 | ||
| which should outline the direction i want to take | 15:20 | ||
| for example, i think that - possibly using different bootstrapping files - mod_parrot could support different running enviroments | 15:21 | ||
| so that one enviroment might be cgi, which is simple and effective | |||
| whiteknight | that is a good idea | ||
| brrt | and another might be psgi, which is also simple and effective in its own right, but which requires - for example - a starting routine | ||
| whiteknight | I would very much like to see such a document | 15:22 | |
| brrt | good :-) oh, and another thing; using a single mod_parrot instance multithreadedly is probably not a good idea, right? | ||
| whiteknight | not at the moment | 15:25 | |
| We've got threads support in a branch that's probably going to be merged before the end of the summer, but we don't really have it in master now | 15:26 | ||
| brrt | i'll assume a per-thread instance | 15:27 | |
| whiteknight | okay | 15:28 | |
| that's a good start. Later we can change things if we need | |||
| brrt | right, its best to keep things simple | 15:31 | |
| brrt leaves | 16:05 | ||
|
16:05
brrt left
16:12
japhb joined
16:16
brambles joined
16:30
fperrad_ joined
16:57
PacoAir joined
16:58
zby_home joined
17:00
plobsing_ joined
17:07
contingencyplan joined
|
|||
| aloha | (parrot/parrot) Issues closed : 731 (Add apt-get update to .travis.yml) by leto : github.com/parrot/parrot/issues/731 | 17:38 | |
|
17:56
PacoAir joined
18:03
crab2313 joined,
dukeleto joined
|
|||
| dukeleto | ~~ | 18:03 | |
| whiteknight | good afternoon, #dukeleto | 18:04 | |
| dukeleto | whiteknight: howdy! I have arisen from under my rock. | ||
| whiteknight | awesome. You all settled into the house and hitched and everything? | 18:05 | |
| dukeleto | whiteknight: indeed. Feels surreal. | 18:06 | |
| whiteknight: how goes gsoc? | 18:07 | ||
| whiteknight: i haven't seen much about lapack. Did I miss something? | |||
| benabik | I should get working on GSoC, but I have to take care of car stuff today. :-/ | 18:08 | |
| Thankfully, whiteknight beat me to my week 1 task. :-D | 18:09 | ||
| Sorry, misspelled that: whiteknight++ | |||
| whiteknight | what was your week1 task? | ||
| dukeleto: today is the first day of coding. So I don't think you are missing much. I know jashwanth is still tied up with exams this first week | |||
| benabik | Working on the Key PMC. :-D | 18:10 | |
| whiteknight | I actually haven't seen jashwanth in here in a few days, but I've seen him on facebook so I know he's not missing | ||
| benabik: I told you I would do it, and I try my hardest to enable GSOC students | |||
| benabik | I'll probably work on using your improvements in disasm.winxed at first. | 18:11 | |
| whiteknight: I like making pessimistic schedules. :-) | |||
| whiteknight | it's always better to have a pesimmistic schedule and at the end say "holy crap, look at how much more work I did than was expected!" | 18:20 | |
| benabik | The trick is to set the bar low enough that you look impressive at the end, but not so low nobody wants to take your project. | 18:21 | |
| dukeleto | whiteknight: yes, i remember jashwanth saying he had exams the first week | 18:25 | |
| whiteknight: do you know if he has started any kind of repo or anything yet? | |||
| whiteknight | github.com/jashwanth | ||
| doesn't look like it | |||
| dukeleto | whiteknight: ok, I will create a skeleton repo to help him get bootstrapped | 18:26 | |
| whiteknight: I remember staring at a blank screen and a repo with no history. It is intimidating. | |||
| Better to give him a little shiny egg that he can improve upon. | 18:27 | ||
| dalek | p/qbootstrap: 56d136a | jnthn++ | src/QRegex/NFA.nqp: First crack at making LTM transitivity extend into protoregexes. Basically, just builds an alternation, as suggested by pmichaud++. Seems to help some with the NQP tests. |
18:29 | |
|
18:42
particle joined
18:43
dukeleto joined
|
|||
| dukeleto | blarg to crashy hardware. | 18:43 | |
| nine | What is the minimum software stuff I'd need to compile and test parrot on a Windows machine? Would I need administrative priviledges? | 19:14 | |
| benabik | I installed Strawberry Perl and I think that gave me basically everything I needed. | 19:15 | |
| nine | I'm thinking about abusing some company VM to debug the Windows threading issues. It sucks to not being able to simply test stuff. | 19:18 | |
|
19:22
alester joined
19:25
lucian joined
|
|||
| whiteknight | nine: Should only need admin privs on windows if you're trying to install | 19:31 | |
| nine | Are there actually platforms supported by Parrot where FLOATVAL is a float instead of a double? | 19:32 | |
| whiteknight | nine: I was able to build that threads debug branch on my windows VM, but I lost your message telling me what to do next and then I had to go to bed | ||
| nine: None that I'm aware of | |||
| nine: though I might not be aware of too many | |||
|
19:32
lucian joined
|
|||
| nine | Right now alarms may fire a little early since the conversion of the FLOATVAL to a struct timespec loses precision. Gets rounded down to milliseconds | 19:33 | |
|
19:36
brrt joined
19:41
brrt1 joined
|
|||
| brrt1 | ping whiteknight | 20:18 | |
| whiteknight | pong | ||
| brrt1 | :) | 20:19 | |
| i was wondering - why can't i get my own nick, for starters - and for another, what happens during GC with object created and manipulated using the C api | 20:20 | ||
| e.g. I load a parrot bytecode file into a pmc | |||
| what happens when garbage collection is called? | 20:21 | ||
| benabik | brrt1: Did you lose connection for a moment? Looks like brrt was still online for a bit after you logged in. | ||
| brrt1: Should be able to get your original nick now. | |||
| whiteknight | inside Parrot the stack is walked looking for PMC references. That's one of the things the Parrot_api_* functions do, they set a marker to the top of the stack | ||
| brrt: In references you hold outside the API, you need to make sure they stay anchored somewhere. Currently packfiles are always anchored | 20:22 | ||
| brrt: There is an api function to pin a PMC so GC marks it. Let me look it up | |||
| brrt1 | keepalive or something | ||
| Parrot_api_pmc_keep_alive(interp, pmc, alive) | 20:23 | ||
| whiteknight | Parrot_api_toggle_gc can turn GC on or off for sections of critical code too | ||
| brrt1 | that is probably important | 20:24 | |
|
20:24
perlite_ joined
|
|||
| whiteknight | but yes, Parrot_api_pmc_keep_alive(interp, obj, 1) is what you want for most things | 20:24 | |
| and then Parrot_api_pmc_keep_alive(interp, obj, 0) when you're done with it | 20:25 | ||
| or once you've anchored it | |||
| GC runs during allocations, when we try to get a new PMC but there are none on the free list. So as long as you aren't allocating anything your objects are safe | |||
| brrt1 | ok, but i will be allocating stuff in fact within C, not much but still | 20:26 | |
| whiteknight | Anything that you pass to an API function is safe, because references are on the stack. | ||
| brrt1 | the basic gist of it is this: | 20:28 | |
| * i get a request from apache | |||
| * i convert this request into a hash containing its values | |||
| * i somehow bind IO to the request | |||
| * then i run a packfile with the bootstrapping script | |||
| * which will load the HLL language, and if necessary, compiler | |||
| * and execute the script | |||
| * which will return output either via STDOUT (cgi) | |||
| * or via an array of data (psgi) | |||
|
20:29
crab2313_ joined
|
|||
| whiteknight | Yeah, you should keep_alive that hash and any other objects that aren't referenced from inside the interp | 20:29 | |
| I've got to pack up and go home now. I'll be on later tonight and tomorrow | 20:30 | ||
| later | |||
| brrt1 | later! | ||
|
20:39
mdupont_ joined
21:16
kurahaupo joined
21:20
preflex_ joined
21:34
particle1 joined
21:45
kurahaupo joined
22:21
schmooster joined
22:48
Hunger joined
23:23
particle joined
23:35
kurahaupo joined
23:41
plobsing joined,
kid51 joined
23:47
whiteknight joined
|
|||
| whiteknight | good evening, #parrot | 23:55 | |
|
23:59
Hunger joined
|
|||