|
Parrot 2.5.0 release time is on 15th at 12:00 UTC | parrot.org | Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | GSOC Students: trac.parrot.org/parrot/wiki/GSoCersStartHere | Priorities: fix io_ops mess in corevm/coretest, review and update documentation before release Set by moderator on 9 June 2010. |
|||
| davidfetter | rAmen! | 00:03 | |
| pmichaud | also, fwiw, using white space at the beginning of a rule (in a protoregex) effectively disables longest token matching | 00:07 | |
| i.e., | |||
| rule pir_instruction:sym<get_keyed> { <ident> <pir_key> } | |||
| rule pir_instruction:sym<op_assign> { <ident> <op_params> } | |||
| in both cases, the longest token is zero because of the whitespace between { and <ident> | |||
| (that's a Perl6-ism) | |||
| darbelo | Bleargh. | 00:08 | |
| pmichaud | to have ltm play any sort of role, it would need to be {<ident> | ||
| but even in the case of these two rules, the longest token will be simply the length of the initial <ident> prior to any whitespace | |||
| (i.e., they'll be considered to be of equal weight, at which point the "whichever one is declared first" tiebreaker would apply, according to Perl 6) | 00:09 | ||
| jnthn | pmichaud: Doesn't STD do something "interesting" in that regard? | ||
| pmichaud | jnthn: nafaik | 00:10 | |
| jnthn is sure sorear++ and TimToady++ discussed rule and LTM recently | |||
| pmichaud | (depending on which regard you're referring to :) | ||
| I'm just going by what S05 says, and by the (few) rule protoregexes in STD.pm6 | |||
| they may have changed that recently, but I haven't seen it changed in the spec yet. | |||
|
00:13
pmichaud_ joined
|
|||
| pmichaud_ | looks like feather died again :-| | 00:13 | |
| davidfetter | /requiescat in pace/ | 00:16 | |
|
00:17
dalek joined
00:18
dukeleto joined,
pmichaud_ joined
|
|||
| sorear is summoned? | 00:37 | ||
|
00:37
davidfetter joined
|
|||
| sorear | pmichaud_: Hi! Do you have any tips for running a bootstrapped parser? | 00:37 | |
| STD has been giving me issues when I try to make coordinated changes (like fixing a compiler bug while removing the workaround) | 00:38 | ||
| cotto_work | pmichaud_: making one of the names longer seems to do the trick. Thanks! | 00:46 | |
| now to figure out which one should be longer... | 00:49 | ||
| bacek, it looks like PIRATE hackery may recommence | 00:55 | ||
| bacek_at_work | cotto_work, hooray! | ||
| dalek | rrot: r47550 | darbelo++ | branches/gsoc_nfg/src/string/encoding/nfg.c: Make sure we calculate the right output by passing in the right input. |
||
|
00:58
abqar joined
|
|||
| cotto_work | which name should be the longer one? Renaming op_assign to _op_assign makes the example code always parse correctly, but I don't know if that change would have negative consequences for some other bit of PIRATE. | 00:59 | |
| whiteknight | I'm coming in to the conversation late, but it seems .... wrong that parsing isn't determinate | 01:00 | |
| bacek_at_work | cotto_work, op_assign should be longest I think. | ||
| cotto_work | afaict it's because the protoregex variants are stored in a hash and which one is tried first (when their names are the same length) depends on the internal hash order. | 01:01 | |
| Have you considered TODOing tests so it's easier to see if any actual progress has been made? | |||
|
01:02
kid51 joined
|
|||
| cotto_work | kid51, why does a pure-docs set of changes need a branch? | 01:20 | |
| kid51 | We have people who promised to review my work. | 01:27 | |
| It probably won't go in until after next release. | |||
|
01:28
rurban joined
|
|||
| dalek | rrot: r47551 | jkeenan++ | branches/cfunctionsdocs: Create branch to complete work on documentation of C functions in Parrot source code. |
01:29 | |
| rrot: r47552 | jkeenan++ | branches/gsoc_past_optimization/runtime/parrot/library/PAST/Transformer/Dynamic.pir: [codingstd] Correct POD formatting error. |
|||
| kid51 | trunk: make testf: darwin/ppc: t/op/exit.t TODO passed: 6 | 01:34 | |
|
01:38
plobsing joined
|
|||
| cotto_work | bacek_at_work, now that PIRATE is unblocked, what needs hacking? | 01:45 | |
| dalek | rrot: r47553 | jkeenan++ | branches/cfunctionsdocs/config/gen/platform/generic/dl.c: [codingstd] Provide documentation for C functions. |
01:46 | |
| bacek_at_work | cotto_work, finishing grammar. heredocs will be little bit painful... | 01:56 | |
| dalek | rrot: r47554 | jkeenan++ | branches/cfunctionsdocs (3 files): [codingstd] Provide documentation for C functions. |
02:02 | |
|
02:08
pmichaud joined,
dalek joined
02:13
dukeleto joined
|
|||
| sorear | msg pmichaud Do you have any tips for running a bootstrapped parser? | 02:25 | |
| purl | Message for pmichaud stored. | ||
| sorear | msg pmichaud STD has been giving me issues when I try to make coordinated changes (like fixing a compiler bug while removing the workaround) | ||
| purl | Message for pmichaud stored. | ||
|
02:33
jrtayloriv joined,
theory joined
|
|||
| dalek | rrot: r47555 | jkeenan++ | branches/cfunctionsdocs (10 files): [codingstd] Provide documentation for C functions. |
02:34 | |
|
02:45
TonyC joined
02:49
nopaste joined
02:50
szabgabx_ joined
02:54
janus joined
03:03
jrtayloriv joined
03:09
snarkyboojum joined
03:19
theory joined
03:56
dalek joined
03:57
PerlJam joined
03:58
dukeleto joined
03:59
Util joined
04:04
pmichaud joined
04:09
rurban_ joined
04:23
snarkyboojum joined
05:03
LoganLK joined
05:20
jrtayloriv joined
|
|||
| cotto | bacek_at_work, wrt PIRATE, are you not planning on having a separate preprocessing step for heredocs | 05:31 | |
| bacek_at_work | cotto, I didn't think about it (yet) | 05:32 | |
| probably pmichaud can bring some ideas how they can be implemented in NQP. | 05:33 | ||
| cotto | ok | 05:36 | |
| It sounds a little tricky but having the ability to embed arbitrary chunks of PIR in a grammar will help. | 05:37 | ||
| and I imagine that stealing from Rakudo is always an option | |||
| bacek_at_work | It's not "stealing"! It's "learn-by-example" process :) | 05:46 | |
| cotto | Yeah. copying by example. | 05:52 | |
|
06:04
he_ joined
06:13
aukjan joined,
TiMBuS joined
06:16
uniejo joined
|
|||
| dalek | kudo: 51dfa74 | patrickas++ | src/core/MAIN.pm: Correct handling for case sub MAIN('add' , ) {} |
06:18 | |
| kudo: 9c0f9ec | (Patrick Abi Salloum)++ | src/core/MAIN.pm: Much better sub dispatching thanks to jnthn++ |
|||
| kudo: d1aeb84 | moritz++ | src/core/MAIN.pm: USAGE is not polluting the user's space anymore. If the user defined a sub USAGE |
|||
| bacek_at_work | STD.pm? | 06:19 | |
| purl | STD.pm is svn.pugscode.org/pugs/src/perl6/STD.pm | ||
| cotto | I bet there's something useful there. | ||
| bacek_at_work | purl, no, STD.pm is svn.pugscode.org/pugs/src/perl6/STD.pm6 | ||
| purl | okay, bacek_at_work. | ||
| cotto | beat me to it | ||
| bacek_at_work | it's slightly overcomplicated for stealing heredocs for PIR... | 06:22 | |
| moritz | it uses language braids to parse quotes... | 06:23 | |
| cotto | braids? | 06:27 | |
| moritz | similar-but-not-quite-the-same languages | 06:39 | |
|
06:41
jrtayloriv joined
|
|||
| dalek | kudo: d59da85 | (Solomon Foster)++ | src/core/Real.pm: Change Real.Str to use Num instead of Bridge internally. (Results should be |
07:38 | |
| purl | dalek: that doesn't look right | ||
|
08:04
szabgabx joined
08:12
szabgabx joined
08:13
sorear joined
08:17
szabgabx_ joined
08:27
eternaleye_ joined
08:50
snarkyboojum joined
08:56
clinton joined
|
|||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#34315), fulltest) at r47555 - Ubuntu 10.04 amd64 (gcc) | 11:03 | |
| dalek | rrot: r47556 | khairul++ | branches/gsoc_instrument/t/dynpmc/instrument.t: Fixed t/dynpmc/instrument.t to reflect changes. |
11:37 | |
|
11:48
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 11:53 | |
| Is there going to be a Rakudo #30 release this month, in additon to Rakudo*? | 11:56 | ||
| moritz | yes | ||
| whiteknight | okay, when's that coming out? Todayish? | ||
| moritz | on Thursday after the parrot release | 11:57 | |
| as always | |||
| whiteknight | oh shit, I have my calendar mixed up | ||
| I'm a week early | |||
| moritz has a deja-vu :-) | 11:58 | ||
| whiteknight | I'm extremely bad with dates | ||
| moritz pities whiteknight's dates | 11:59 | ||
| whiteknight | that's why I married a woman who owns a calendar | ||
| moritz | good choice :-) | ||
|
12:00
bluescreen joined
12:06
lucian joined
12:09
rurban_ joined
12:12
tetragon joined
|
|||
| moritz | whiteknight: my girlfriend sent me a reminder today that we have an appoint with friends on Saturday... so you're not the only one :-) | 12:14 | |
|
12:24
khairul joined
|
|||
| whiteknight just discovered that an old password in an old database (still in some use) has the password "1LuvK1tt3ns" | 12:47 | ||
|
13:24
Myhrlin joined,
atrodo joined
13:27
lucian_ joined
13:29
aukjan joined
14:01
dolmen joined
14:25
plobsing joined
14:49
bubaflub joined
15:05
dolmen joined
|
|||
| dalek | rrot: r47557 | NotFound++ | trunk/t/pmc/float.t: tests for Float VTABLE_absolute |
15:13 | |
|
15:23
theory joined
15:26
ash_ joined
|
|||
| ash_ | when you have an include in a pmc it seems to think thats some target it needs to build, is there anyway around that? | 15:27 | |
| Coke | ash: | ||
| ash_: ? | |||
| ash_ | like, in my nci pmc i have #include <ffi.h> and it tries to build "include/ffi.h" as a C file, which doesn't exist | 15:29 | |
| dalek | rrot: r47558 | NotFound++ | trunk/t/pmc/stringbuilder.t: add a StringBuilder test to reach full coverage |
15:30 | |
| ash_ | as a work around i just am doing # include <ffi.h> (the spaces seem to make it not auto detect the included file) | ||
| NotFound | ash_: judging by some current usages, adding whitespace between # and include works. | ||
| Or maybe is because they are inside a #if block. | 15:31 | ||
| ash_ | is that the right place to put the #include? in the pmc? | ||
| NotFound | Ah, you already figured. | 15:32 | |
| ash_: if the header is used only in the pmc, sure it is. | 15:33 | ||
| ash_ | kk, just checking | 15:34 | |
| i got the lldb tool to compile for me finally, its a library for debugging llvm code, i think it might come in handy soon, when i start the llvm based part of my gsoc | 15:36 | ||
| Coke | what is trying to build include/ffi.H ? | 15:45 | |
| ash_ | the build system | 15:52 | |
| purl | i heard the build system was broken | ||
| ash_ | perl Configure.pl finds it and says its one of the C targets, so its trying to build it with gcc | 15:53 | |
| NotFound | Confirmed, it does the same for me. | 15:57 | |
| cotto_work | aloha | 16:06 | |
| Coke | wthf. | 16:07 | |
| config/*/pmc.pm // get_includes should probably not be grabbing includes with <>, but only "" | 16:09 | ||
|
16:11
patspam joined
|
|||
| NotFound | Coke: fine for me, but maybe we should document in our coding standard that < > must never be used with parrot's own headers. | 16:12 | |
| particle | <> should be for system headers only | 16:13 | |
| yes, make that clear in pdd07 if it isn't | |||
| NotFound | particle: yeah, but the C and C++ standards doesn't forbid other usages. | 16:14 | |
| Coke | it's treated that way elsewhere (like in checkdepend) | 16:15 | |
| particle | yes, true, but it's good policy | ||
| imo | |||
| NotFound | particle: yes, but is our policy, we must explictly tell it. | ||
| particle | and that's why i say it should be made clear in the pdd | 16:16 | |
| NotFound | Fully agree. | ||
| particle | we're in violent agreement | ||
|
16:23
jan joined
16:25
jrtayloriv joined
16:31
khairul joined
16:38
ash_ joined
16:48
PerlJam joined
16:55
szabgabx joined
17:00
zibri joined
|
|||
| Coke | heee. used isparade.jp/, and parrotvm showed up as the parrot head on a dog body. | 17:12 | |
|
17:28
aukjan joined
|
|||
| cotto_work | ocw.mit.edu/courses/electrical-engi...fall-2005/ | 17:35 | |
|
17:37
sorear joined
|
|||
| whiteknight | cotto_work: would be much cooler if they were using Parrot | 17:49 | |
| much much cooler | |||
| cotto_work | of course | 17:52 | |
| atrodo | everything is cooler with parrot | ||
| particle | parrot would be much cooler if it were used in a class | ||
| pmichaud | good afternoon, #parrot | 17:53 | |
| whiteknight | hello pmichaud | ||
| how are you doing today? | 17:55 | ||
| cotto_work | do we have someone playing with build.opensuse.org/ ? | ||
| pmichaud | doing okay -- working on a deep Rakudo/Perl 6 issue (lists and iterators) | 17:59 | |
| I'll be glad when that's done :) | 18:00 | ||
| my irssi session is a bit messed up -- need restart | 18:01 | ||
| brb | |||
|
18:01
pmichaud joined
18:02
LoganLK joined
18:08
ruoso joined
18:16
szabgabx joined
18:49
aukjan joined
18:53
ash_ joined
|
|||
| ash_ | how does VTABLE_set_pointer_keyed_str | 19:32 | |
| work? | 19:33 | ||
| purl | Work - the curse of the drinking class. (Oscar Wilde) | ||
| sorear | All the "pointer" stuff is completely PMC dependant | 19:38 | |
| Old-school parrot philosophy is to allow PMCs to use meaningless vtable entries for private setup hooks | 19:39 | ||
| the _pointer_ stuff in particular is almost always used this way, since PIR code doesn't manipulate C pointers | 19:40 | ||
| thankfully modern Parrot seems to be moving more towards named methods | |||
| (though stealing vtable functions is faster, and still gets used for some very critical stuff) | |||
|
19:49
aukjan joined
19:56
pjcj joined,
atrodo joined
|
|||
| ash_ | in the core op dlfunc they do "VTABLE_set_pointer_keyed_str(interp, $1, $4, F2DPTR(p));" and I am trying to find how to access p | 19:58 | |
| whiteknight | sorear: excellent analysis. the pointer-related vtables are a big pain in my ass | 20:03 | |
| sorear | look in NCI.pmc | ||
|
20:04
Psyche^ joined
|
|||
| sorear | NCI overloads set_pointer_keyed_str to mean "set up the signature string and rawpointer" | 20:04 | |
| also, F2DPTR, seriously? | |||
| I thought this was supposed to be ANSI C | |||
| whiteknight | that's definitely "old school Parrot" | ||
| nowadays, that would never fly | |||
| cotto_work | We've got layers. | 20:05 | |
| whiteknight | unlike an onion, our moldy, dirty layers are deep on the inside | 20:06 | |
| bubaflub | so you're saying we're rotten from the core? | ||
| whiteknight | but we've applied a nice spit shine to the outside of this particular cow patty | ||
| :) | 20:07 | ||
| Chandon | When should the PObj_on_free_list flag be set? | 20:08 | |
| whiteknight | Chandon: if used at all, it's set internally by the GC | ||
| probably set during GC sweep, cleared during PMC allocation | |||
| ash_ | hmm | ||
| so should i go update dlfunc? | |||
| since thats whats builds the nci.pmc i am working with | |||
| Chandon | whiteknight: I've got a nice segfault if I exit during a timer callback that involves throwing an exception when cleaning up the task. | 20:10 | |
| whiteknight | oi | 20:11 | |
| Chandon | Everything works great if I comment out the exception being thrown, but I'm trying to understand what's going on. This is at scheduler.c:412. | ||
|
20:11
tcurtis joined
|
|||
| ash_ | whats the alternative to using VTABLE_set_pointer_keyed_str ? | 20:12 | |
|
20:12
rurban joined
|
|||
| whiteknight | Chando: definitely shouldn't segfault, that's for sure | 20:16 | |
| Chandon: if you can capture a backtrace, I would love to see it (or, example code to reproduce it locally) | 20:17 | ||
| nopaste | "Chandon" at 192.168.1.3 pasted "Exit from timer; segfault" (32 lines) at nopaste.snit.ch/21195 | 20:18 | |
| Chandon | whiteknight: that code should trigger it | 20:19 | |
| whiteknight | okay, I'll give it a shot when I get home | ||
| ...and on that note, I'm off. I'll be back this evening. | 20:22 | ||
|
20:32
aukjan joined
|
|||
| ash_ | what are the alternatives to vtables? | 20:43 | |
| japhb | Tene, thbbbbpt. | 20:48 | |
| Tene | japhb: so I heard. | ||
|
20:51
davidfetter joined
|
|||
| dalek | rrot: r47559 | Chandon++ | branches/gsoc_threads (2 files): [gsoc threads] Segfault work-around. |
20:57 | |
|
21:08
masak joined
|
|||
| masak | where can I find a list of the recognized charsets and encodings in Parrot? | 21:39 | |
| ash_ | how do you access the attributes given to the invoke operation on a pmc | ||
| err, not attributes, parameters | |||
| sorear | with great difficulty | 21:44 | |
| though it's easier since pcc_hackathon went in | |||
| see blizkost src/pmc/p5sv.pmc for a demonstration | 21:45 | ||
| assuming you want to pass and return arbitrary lists | |||
| if you don't, it's a bit easier | |||
| ash_ | i want to pass arbitrary lists, i'll looke at blizkost's pmc. | 21:46 | |
| masak | hm. the first reference at the bottom of docs.parrot.org/parrot/devel/html/d...s.pod.html is a dead link. :/ | 21:47 | |
| too bad, it sounded interesting. | |||
| ash_ | sorear: is that in jnthn's github account? | 21:49 | |
| github repo for blizkost i mean | |||
| tcurtis | masak: plan9.bell-labs.com/sys/doc/utf.html or plan9.bell-labs.com/sys/doc/utf.ps or plan9.bell-labs.com/sys/doc/utf.pdf is probably the same thing. | 21:50 | |
| masak | ok, good. | ||
| nice! thanks! | 21:51 | ||
| ash_ | plan9 sounded like an interesting os design, never used it though | 21:52 | |
| sorear | ash_: yes | 21:53 | |
| ash_ | did you mean p6invocation.pmc? p6sv.pmc is rather blank | ||
| and it doesn't have an invoke | |||
| ah, i see, thanks, that will help | 21:56 | ||
| sorear | I actually meant p5scalar | 22:00 | |
| but p5invocation uses the same logic | |||
| mostly factored into bkmarshal.c | |||
| ash_ | being dynamic in C is rough | 22:17 | |
|
22:24
szabgabx_ joined
|
|||
| ash_ | whats the difference between VTABLE and METHOD ? | 22:50 | |
| sorear | VTABLE allows you to override one of a couple hundred slots with fixed name and signature | 22:51 | |
| METHOD lets you use a custom name and signature | |||
| ash_ | is it better to use vtables? or methods? | 22:55 | |
| (a method with a slurpy would make my life easier) | |||
| Tene | ash_: vtables (mostly) correspond to ops | 22:58 | |
| If the behavior you want to add isn't a replacement of some existing behavior, use a method. It makes everyone's life easier, can be easily and consistently called from HLLs, etc. | 22:59 | ||
| I'm really not fond of stuffing arbitrary behavior into unrelated vtables. | |||
| ash_ | well, the invoke opcode does make sense to keep | 23:00 | |
| Tene | Yes, there are definitely cases where you do want to set vtables. | ||
|
23:02
tetragon joined
23:20
patspam joined
23:25
kid51 joined
23:49
ash__ joined
23:52
davidfetter joined
|
|||