[00:00] *** hexmode` joined [00:00] quit [00:01] *** Aankhen`` joined [00:01] audreyt: svk log --output stats [00:01] apply -l 100 or whatever you like [00:03] cool [00:06] clkao: obrigada [00:07] not gado ? [00:07] curiously the gender is dependent on the one saying it [00:07] not the one receiving it [00:08] just discovered that today ;) [00:09] "I am obligated" [00:11] Now, how do you say "Don't shoot, I'm a table!" [00:18] Is there a short way in rules to say s separated, say, by comma [00:18] *** weinig|bbl is now known as weinig [00:18] this comes over and over. [00:18] well, there's four variants [00:19] sepBy, sepByEnd, sepBy1 and sepByEnd1 in parsec speak [00:19] hmm, the debian/ directory in svn is out of date, and the latest debian package in sid is 6.2.10 [00:19] depending whether you want to match "foo," and "foo" [00:19] and in Perl6 speak? [00:20] <[particle]> [<', '> ]* [00:20] the by-hand / [, ]*/ is currently the only way I think [00:21] rule thinglist { [ [ \, ]* ]? } [00:21] this merits some huffmanization [00:22] apparently Parsec did it [00:22] ...as you said [00:23] perhaps? [00:23] that you would be nice [00:24] probably a very good example of a rule as sub with parameters [00:24] <[particle]> agreed [00:26] I wonder if ws can autosep two or more rx params [00:26] > [00:26] would be very nice. [00:26] cognominal: p6l? :) [00:27] <[particle]> > [00:27] my outgoing mail is out of order [00:27] that makes take param [00:28] according to S05 [00:28] because : is also "commit" node [00:28] <[particle]> inside a rule name? [00:28] that turns into /)> [00:28] rule sep(Rule separator, Rule separated, bool allowNone) { ... } [00:28] <[particle]> yep [00:28] yes, S05:676 [00:29] <[particle]> so, can you specify what kind of regex you want inside another regex? [00:29] kind? [00:29] <[particle]> if is a token [00:29] <[particle]> [00:29] <[particle]> ...passed to a token [00:30] <[particle]> hrmm [00:30] *** bcorn_ joined [00:30] <[particle]> [00:30] *nod* [00:30] [00:30] <[particle]> that needs tests [00:31] that does [00:35] *** mauke joined [00:43] *** mjk joined [00:46] *** jferrero joined [01:06] audreyt: "fun" in -Ofun translates better imho as "divertimento".. [01:07] but that word is so long... [01:09] what about "diversão"? [01:10] <[particle]> audreyt: it's a big word, but it's maximum fun! [01:11] indeed :) [01:12] audreyt: have sketches of the slides yet? [01:16] *** nothingmuch joined [01:19] cmarcelo: sketches? yes [01:19] details, not at all [01:19] correction: imho fun => "diversão" :) [01:20] rather than "divertimento".. [01:22] *** dmq joined [01:30] *** SageLT joined [01:30] *** mako132_ joined [01:31] gotcha :) [01:31] audreyt: yay! I've just borrowed a macbook (with only 512mb, though) for the event. is GHC 6.6 working fine in OSX or should I go Linux? [01:32] works fine on OSX/PPC, dunno about intel [01:33] 512 is quite sufficient [01:33] it's my main work machine so GHC should work Just Fine [01:34] just grab http://haskell.org/ghc/dist/6.6/ghc-6.6-i386-apple-darwin.tar.bz2 and install [01:34] http://tinyurl.com/y74lc3 [01:34] this is great, that means we get to use subetha and other cool things [01:34] i think there's a GNOME equivalent of subethaedit around now [01:34] gobby [01:34] Gobby it is [01:35] subetha = free? [01:35] different protocol, though, I think [01:35] doesn't quite work on OSX here [01:35] subetha = no source code [01:35] free for nmoncommercial use, closed source [01:35] gobby = doesn't build here :/ [01:35] weird [01:36] I can always Parallel into Ubuntu or something [01:36] on intel/x86 + X11? [01:36] yes, but OSX [01:36] yeah, i meant OSX instead of x86 :( [01:36] weird [01:36] a .dmg or .pkg build will be much appreciated... [01:37] heh, my OS X install DVD doesn't work anymore, so my powerbook is OpenBSD now :) [01:37] not quite as nice GUI-wise as OSX... [01:37] that's cool :) [01:47] *** SubStack joined [01:52] *** SageLT joined [02:07] *** weinig is now known as weinig|bbl [02:14] *** nipotaway is now known as nipotan [02:45] @tell fglock see you tomorrow :) [02:45] Consider it noted. [02:45] & [02:48] *** cmarcelo left [03:04] *** root4o joined [03:05] *** the_dormant joined [03:15] "ashleyb" at 66.201.51.66 pasted "test that causes P::C::R to hang" (10 lines, 253B) at http://sial.org/pbot/20775 [03:15] what should I do with the previous test (it causes P::C::R to hang)? [03:17] seen fglock? [03:17] ashleyb: fglock was seen 6 hours 13 minutes 21 seconds ago [03:18] @tell fglock the following test causes P::C::R to hang: http://sial.org/pbot/20775 -- how should I work it into the test suite? [03:18] Consider it noted. [03:19] *** justatheory joined [03:32] *** TimToady joined [03:56] *** stclare joined [03:56] *** penk joined [03:57] *** stclare left [04:12] r14564 | cmeyer++ | tests for &statement_control:<> [04:13] *** SubStack joined [04:15] *** nekokak joined [04:57] *** eggzeck joined [04:57] *** avarab joined [05:00] *** davidfetter joined [05:01] seen fglock [05:01] davidfetter: fglock was seen 7 hours 57 minutes 30 seconds ago [05:14] *** avar joined [05:45] *** pen1 joined [06:10] *** trym_ joined [06:13] *** penk joined [06:18] r14565 | agentz++ | [util/smartlinks.pl] [06:18] r14565 | agentz++ | - added a link to my pugs.blogs.com post [06:18] r14565 | agentz++ | http://pugs.blogs.com/pugs/2006/09/check_smoke_res.html [06:18] http://tinyurl.com/gdyy8 [06:20] *** bsb left [06:20] r14566 | agentz++ | [t/README] [06:20] r14566 | agentz++ | - added links to the pugs.blogs.com posts [06:27] *** marmic joined [06:28] *** Psyche^ joined [06:33] r14567 | raptor++ | added range tests [06:40] *** Psyche^ is now known as Patterner [06:49] guten morgen [06:51] r14568 | raptor++ | lowercasing lowecase string and UPPER case char-range. [06:51] morgen ..... but it is night here ;) [06:52] night here, too [06:52] *** iblechbot joined [07:04] good morning root4o [07:04] good night davedfetter [07:08] meppl: how is the weather in germany? [07:12] sunny, but a bit cold [07:12] hm [07:13] that prediction is wrong: http://www.wetteronline.de/Bayern/Wuerzburg.htm [07:13] http://tinyurl.com/ushjz [07:15] http://wetter.rtl.de/deutschland/uebersicht.php?id=10655&id2=10655&ort=wuerzburg [07:15] *** perlbot joined [07:15] Title: wetter.de, http://tinyurl.com/yk4f44 [07:15] says the same [07:15] perhaps that clouds are comings soon [07:15] now there are no clouds [07:15] *** esstone joined [07:18] last days it became colder here too...but at noon still is possible to be with t-shirt ;) [07:20] *** bcorn joined [07:21] what scale unit do you use for temperatures? [07:21] *** mugwump joined [07:22] Farenheit here , celsius at my home.... [07:22] * eviltwin_b watches pugs do a complete rebuild [07:22] so [07:22] do you live in the usa? [07:23] these farenheits, inches and paunds...still can't become use to it ;) [07:23] good morning eviltwin b [07:23] at the moment yes [07:24] use = used [07:25] yo [07:26] and the usa should use DINA4, instead of that "letter" asdf ;-> [07:26] * eviltwin_b sometimes wishes the US would get a clue, but then he remembers that he too is a bit too canalized in Imperial units :) [07:27] UK are using metric system, right ? [07:29] most of the time [07:30] i thought they use that pounds [07:31] pounds as a unit of money, but they use grams for weight/mass these days [07:31] for weight-mensuration [07:31] so, thats not the metric system [07:32] * eviltwin_b pretty much only hears and reads grams/kilograms from them these days [07:32] I'm sure some older folks still use Imperial units [07:36] r14569 | raptor++ | added combined uc/lc test [07:36] ?eval (1..5).chars [07:36] *** evalbot_r14563 is now known as evalbot_r14569 [07:36] 9 [07:36] why this gives : 9 ! [07:37] ?eval (1..5) [07:37] (1, 2, 3, 4, 5) [07:37] aha it counts commas [07:37] ?eval (1..5).elems [07:37] 5 [07:38] yeah, i know i wanted to see 'chars' ;) [07:41] what does .pick does on array and hashes ? ... picks random element , or ? [07:49] ?eval (1..10).pick [07:49] 7 [07:49] ?eval (1..10).pick [07:49] 6 [07:49] ?eval {:a, :c, :e}.pick [07:49] ("e" => "f") [07:49] ?eval {:a, :c, :e}.pick [07:49] ("c" => "d") [07:50] seen audreyt [07:50] clkao: audreyt was seen 5 hours 4 minutes 45 seconds ago [08:00] ?eval ~(1..5) [08:00] "1 2 3 4 5" [08:00] correct answer to the question about .chars :) [08:02] ;) [08:04] clkao: ping [08:04] miyagawa_: pong [08:04] what can I do to make svk co faster? [08:04] miyagawa_: perlbal rocks [08:04] which operation [08:04] checkout [08:04] I'm checking out plagger trunk [08:05] checkout from already mirrored depot ? [08:05] which takes 10 minutes wich CPU 100% usage [08:05] yes [08:05] so [08:05] can you run it with dprof and nopaste me the dprofpp? [08:05] it shouldn't be that slow [08:05] ok [08:06] but i am falling asleep soon [08:06] it wasn't that slow [08:06] bu as the local mirrored repository grows, it gets really slow [08:06] I'll take a dprof [08:07] *** OppaiSan joined [08:07] *** tokuhirom joined [08:08] *** OppaiSan left [08:21] good night , all [08:22] *** root4o left [08:24] clkao: it takes about 0.8 second for each file and directory [08:25] which makes checking out the whole plagger trunk take 30 minutes [08:26] interesting. maybe it's fsfs being slow [08:26] it's using a lot of IO [08:28] http://bulknews.net/tmp/tmon.out.gz [08:33] running dprofpp against it. might take forever :) [08:33] 81.6 595.8 595.88 304426 0.0020 0.0020 Data::Hierarchy::_ancestors [08:33] haa haaaaaa [08:33] interesting [08:33] maybe even longer... maybe even.. till christmas [08:33] svk co --purge ? [08:34] done. [08:34] may i do it again? [08:35] yep see if it's faster [08:35] FYI, I did it and purged 3 checkouts [08:35] not too much [08:35] but co shouldnt use that many ancestors [08:36] running svk co again [08:36] hmm, might be a little faster. Just a little. [08:36] ok [08:36] *** drrho joined [08:37] let me see tomorrow [08:37] must sleep [08:37] does upgrading svk help? [08:37] probably [08:37] I'm using 1.08 [08:44] FWIW plagger trunk has 834 files [08:45] that's not too much [08:45] but remind me again tomorrow [08:45] or send me a hiveminder task [08:50] %Time ExclSec CumulS #Calls sec/call Csec/c Name [08:50] 83.1 370.0 370.01 245432 0.0015 0.0015 Data::Hierarchy::_ancestors [08:50] 10.2 45.57 429.85 245432 0.0002 0.0018 Data::Hierarchy::get [08:50] 3.97 17.67 451.96 1035 0.0171 0.4367 Data::Hierarchy::_remove_redundant [08:50] 3 _properties_and_undefs [08:50] 2.45 10.91 10.912 52920 0.0002 0.0002 Storable::dclone [08:50] (after svk co --purge) [08:50] sent as an email, too [08:51] *** TSa joined [08:52] *** dakkar joined [08:56] HaloO [08:56] miyagawa_: can you try trunk first. the code has been cleaned up a bit [08:56] ok [09:04] clkao: upgraded to trunk and apparently it's much faster. [09:05] cool! [09:08] yeah, it's 170 sec now. 3 times faster ;) [09:09] %Time ExclSec CumulS #Calls sec/call Csec/c Name [09:09] 85.0 131.1 131.13 245445 0.0005 0.0005 Data::Hierarchy::_ancestors [09:09] 9.13 14.08 149.90 245445 0.0001 0.0006 Data::Hierarchy::get [09:09] 2.92 4.500 155.70 1035 0.0043 0.1504 Data::Hierarchy::_remove_redundant [09:11] *** elmex joined [09:12] Hmm, Data::Hierarchy::_ancestors has a pretty good comment left [09:12] # XXX: could build cached pointer for fast traversal [09:15] *** eux joined [09:23] *** eggzeck[laptop] joined [09:23] but it shouldn't be called 245 thousand times [09:26] *** kensanata joined [09:34] *** gene9 joined [09:34] *** kanru joined [10:23] *** loumz joined [10:31] *** as_ joined [10:40] *** as_ is now known as gene9 [10:55] *** pnu joined [11:05] *** kane-xs_ joined [11:08] *** jferrero joined [11:48] *** kensanata joined [11:50] seen timtoady? [11:50] dmq: I havn't seen timtoady, dmq [12:07] *** nipotan is now known as nipotaway [12:07] *** Psyche^ joined [12:10] greetings lambdacamels [12:11] HaloO audrey [12:11] TSa: heya [12:11] public holiyday in southern Germany [12:12] cool [12:12] I'm writing a reply to mmd-draft.txt thread [12:12] that's nice [12:12] you hardly post into p6l [12:13] what is the state of affairs with MMD [12:13] I've seen all these docs next to mmd-draft.txt [12:14] looks a bit unconclusive so far [12:15] *** pnu joined [12:15] mmd-draft.txt subsumes them [12:16] reply sent [12:17] I can look into it tomorrow at work [12:17] but we can discuss the voting now if you like [12:18] sure [12:19] so consider the easy case [12:19] where there's no semicolons [12:19] the unclear part is the score cards that every target keeps [12:19] Ok, I'm with you [12:19] the score cards is really two Sets [12:19] the Voting Set and the Qualified Set [12:20] in other words each variant carries two Bool [12:20] sets of targets that is [12:20] for each variant [12:20] yes [12:20] so consider [12:20] :(Str, Int) # M1 [12:20] :(Int, Str) # M2 [12:21] OK [12:21] because there's no semicolons, everybody's Voting Set and Qualified Set are guaranteed to be same [12:21] OK [12:21] now consider [12:22] \("moose", 123) [12:22] the first step is consider "compatible" [12:22] i.e. whether M1 and M2 can both handle the args [12:23] OK, that's Str, Int [12:23] so M2 is out [12:23] suppose "moose" can't be handled by Int, M2 is out [12:23] there is _no_ voting [12:23] so far so good? [12:23] OK, easy so far [12:23] :(Dog, Animal) # M1 [12:23] :(Animal, Dog) # M2 [12:23] *** Psyche^ is now known as Patterner [12:23] suppose we have [12:24] \($fido, $fido) # Dog, Dog [12:24] and Does isa Animal [12:24] 0th round: compatibility check [12:24] both are compatible [12:24] then voting begins [12:25] again, VotingSet and QualifiedSet are the same for M1, M2 [12:25] initialling VS={M1, M2}, QS={M1, M2} [12:25] OK [12:26] at position 1, "A qualified variant whose parameter type is not at least as narrow as [12:26] that of each voting variant is disqualified." [12:26] which means we compare each of QS with all of VS [12:26] for position 1 [12:26] OK [12:26] obviously, M2 in QS loses to M1 in VS [12:26] agreed [12:27] so the system process says: "everyone who has M1 in their VS, now remove M2 from their QS" [12:27] here "everyone" is M1, M2 [12:27] so now VS={M1, M2} QS={M1} [12:27] makes some sense? [12:28] yes, sorry was afk [12:29] VS-of-M1={M1,M2}, QS-of-M1={M1} ; VS-of-M2={M1,M2}, QS-of-M2={M1} [12:29] OK [12:29] but since there's no semicolon, we don't need really to write of-M1 and of-M2 [12:29] why not? [12:30] ahh they are the same [12:30] because the worldviews differ only when semi are encountered in different places [12:30] but anyway. let's go to position 2 [12:30] OK [12:30] at pos2, "A qualified variant whose parameter type is not at least as narrow as that of each voting variant is disqualified." [12:30] again, we compare each of QS with all of VS [12:30] for position 2 [12:30] OK [12:31] which emans we compare M1 to both M1 and M2 [12:31] curiously, M1 in QS loses to M2 in VS [12:31] so the system process says: "everyone who has M2 in their VS, now remove M1 from their QS" [12:31] so now, VS={M1, M2} QS={} [12:31] OK [12:31] ok so far? [12:31] now we go to position [12:32] yes [12:32] 3 [12:32] but there is no position 3 [12:32] so the decision process terminates [12:32] we tally the QS to see if there's one item left [12:32] but it's a zero set [12:32] and we have an ambiguity [12:32] so the system fails with "ambiguity" [12:32] yes. [12:33] now consider [12:33] :(Dog ; Animal) # M [12:33] M1 [12:33] OK [12:33] :(Animal ; Dog) # M2 [12:33] the semis align, so again world views will be the same [12:33] \($fido, $fido) [12:34] 0 - compatibility check - all pass [12:34] OK [12:34] VS={M1, M2}, QS={M1, M2} [12:34] 1 - Removal of M2 from QS [12:34] OK [12:34] VS={M1,M2}, QS={M1} [12:34] clear [12:34] "When a variant encounters a single semicolon in its own signature, all [12:34] non-qualified variants on its own score card, only, are marked as also [12:34] non-voting." [12:35] hmm [12:35] *** theorb is now known as theorbtwo [12:35] which means VS = intersection(VS,QS) [12:35] so at the semi after pos 1 [12:36] both variant change their VS [12:36] VS={M1}, QS={M1} [12:36] makes sense? [12:37] the transfer from the wording to the intersection is difficult [12:38] how come to intersect QS and VS at the semicolon pso [12:38] ok. the wording says, when semicolon is seen [12:38] we take complement of QS [12:38] i.e. the set of non-qualified [12:38] ahh [12:39] and subtract it from VS [12:39] that's {M2} here [12:39] which is like, intersection [12:39] yes. [12:39] OK, got it [12:39] good. now at pos2 [12:39] we compare each of QS with all of VS [12:39] {M1} doesn't lose to {M1} [12:39] nothing happens [12:40] so we are at the end [12:40] QS={M1} [12:40] unambiguous win [12:40] yay :) [12:40] OK, that was homogenous cases so far [12:40] yes. no consider [12:41] :(Dog, Animal) # M1 [12:41] :(Animal; Dog) # M2 [12:41] can you go through the process as an exercise now? :) [12:41] 0 both qualify [12:42] 1 M1 wins over M2 [12:42] hmm so we have QS = {M1} VS = {M1,M2} [12:42] but now they diverge [12:43] so we must write QS1 VS1 QS2 VS2 [12:43] one behaves as comma the other as semicolon [12:44] is it still me? [12:44] QS1={M1} VS1={M1,M2} [12:44] QS2={M1} QS2={M1} [12:44] QS2={M1} VS2={M1} [12:45] at position 2 [12:45] QS1={} VS1={M1,M2} [12:45] QS2={M1} VS2={M1} [12:45] makes sense? [12:45] yes, basically the two cases we had before in one [12:45] but it's still ambig [12:46] because of VS1? [12:46] because there's no consensus [12:46] ahh [12:46] the deciding factor is all variants must agree on one single M [12:47] :(Dog ; Animal) # M1 [12:47] :(Animal, Dog) # M2 [12:47] you can do this yourself this time :) [12:48] * audreyt goes eating some breakfast -- bbiab in 5min [12:48] how did you do this 'goes eating...' ? [12:48] *** penk joined [12:49] *** chris2 joined [12:49] /me smiles [12:49] try typing that [12:49] * TSa smiles [12:49] ahh [12:50] enjoy your breakfast [12:51] thanks :) [12:53] back [12:53] so as you probably figured out by now [12:53] that was a quick breakfast [12:53] moving the semi to M1 doesn't affect the outcome [12:53] you are in a hotel in Brazil, right? [12:53] it's still ambig [12:53] QS1={M1} VS1={M1} [12:54] QS2={} VS2={M1,M2} [12:54] is the result [12:54] yes in Holiday Inn [12:54] 13:48 * audreyt goes eating some breakfast -- bbiab in 5min [12:54] 13:53 < audreyt> back [12:54] well I did say 5 min :) [12:54] how much did you eat [12:54] or was that just an espresso? [12:56] I ate quite a lot, thanks :) [12:56] in 5 mins? [12:56] I'm impressed [12:56] it's just I operate in a slightly higher clock speed when eating... [12:56] anyway. [12:57] now consider [12:57] :(Dog ;; Animal) # M1 [12:57] :(Animal, Dog) # M2 [12:57] \($fido, $fido) [12:57] is that ;; official? [12:57] not yet. although it's just notation [12:57] what we write in mmd-draft [12:57] :(A ; B; C ;; D) [12:57] is currently in S12 [12:57] :(A ; B ; C ; D) [12:57] and what we write as [12:58] :(A ; B) [12:58] is in S12 [12:58] :(A ; B ;) [12:58] I see [12:58] i.e. currently in S12 the final semi is what mmd-draft has as double demi [12:58] *** Limbic_Region joined [12:58] so it's just notation; dispatch works the same either way [12:58] Limbic_Region: greetings [12:58] so, back to [12:59] 13:57 < audreyt> :(Dog ;; Animal) # M1 [12:59] 13:57 < audreyt> :(Animal, Dog) # M2 [12:59] 13:57 < audreyt> \($fido, $fido) [12:59] 0: compatible [12:59] OK [12:59] 1: QS={M1} VS={M1,M2} [12:59] at the ;; now [12:59] ; is a local action [12:59] that only affects oneself [12:59] ;; is a global action [12:59] that _removes_ oneself from everybody 's VS [13:00] so M1 says [13:00] "please everybody remove me from VS thanks" [13:00] so now globally it's [13:00] QS={M1} VS={M2} [13:00] makes sense? [13:00] yes [13:00] even though I don't see the benefit yet [13:01] so now position 2: [13:01] M2 wins over M1 [13:01] QS={} VS={M2} [13:01] globally [13:01] dies with ambiguity [13:01] makes sense? [13:01] finally let's consider the reverse case. [13:01] :(Dog, Animal) # M1 [13:02] :(Animal ;; Dog) # M2 [13:02] sorry why ambiguity? [13:02] QS is null [13:02] ahh, OK [13:02] this time, 0:compatible, 1: QS={M1}, VS={M1,M2} [13:02] but now it's M2 telling everybody to remove it from VS [13:02] so globally: [13:02] QS={M1}, VS={M1} [13:03] position 2, nothing happens [13:03] finally, M1 wins [13:03] I see [13:03] the benefit is that M2 can say [13:03] "I list Dog here only for compatibility purpose" [13:03] "I don't want it to disqualify other people" [13:04] just for getting the two sets right [13:05] VS are still in the race [13:05] nono [13:05] QS are still in the race [13:05] what is VS saying then? [13:05] if something is in VS but not in QS [13:05] then it can't win itself [13:05] but it can pull others down [13:05] it's a "spoiler" [13:06] it's not a candidate, it's a voter [13:06] aha [13:07] what are the properties of that system? [13:07] is it symmetric? [13:08] audreyt - salutations [13:08] .seen lanny [13:08] ?seen lanny [13:08] lanny is in #perl6. I last heard lanny speak 13h 46m 50s ago. [13:08] kolibrie: what are the properties of this system? :) [13:08] no word then on if the slow down rev was isolated [13:09] *** lanny_ joined [13:09] TSa: if by symmetric you mean the order of Ms doesn't matter, sure [13:09] it has some stronger properties though [13:10] if M1 loses to M2 in {M1,M2} alone, and M2 loses to M3 in {M2, M3} alone [13:10] then {M1,M2,M3} will have M3 as winner [13:10] I forgot what's name for this property [13:10] "lanny" at 69.22.50.12 pasted "Smoke durations" (12 lines, 175B) at http://sial.org/pbot/20780 [13:10] is that a kind of transitiviy [13:11] Nopaste shows what I got for smoke durations on different revs. The pointy if's seem to lock me but a few revs later when that's cleared up there's a small time increase. [13:11] lanny_ - those times are in seconds? [13:11] Yes. Taken directly from smoke.html [13:12] it's "Independence of irrelevant alternatives" [13:12] IIA, I think [13:12] did you look that system up somewhere? [13:12] lanny - out of curiosity, what are the hw specs on that machine? [13:13] Intel 6700 core2duo, 2G ram [13:13] Would {M1, M3} also give M3, or does that not follow? [13:13] * Limbic_Region idly wonders if perhaps the time issue is related to resources [13:14] lumi: I think it also will, yes [13:14] audreyt - WRT the significant slow down. I am only seeing it on one of my two machines [13:14] TSa: no, it's based on luqui's initial design constraints [13:14] which did not consider semicolons [13:14] while they both show a slow down - only one is significant [13:15] and then refined by joint design of putter, kolibrie, audreyt, with some help from stevan and gaal [13:15] Limbic_Region: ok. so it's the if-> change as I suspected? [13:16] looks like I have to be afk for a while [13:16] Sorry those results took so long. Was tired after Halloweening and IRC was acting up for me. Now it's time to get them ready for school. Enjoy, all. [13:16] audreyt - not according to lanny's results [13:16] or rather - the spike due to that change didn't last [13:17] r14488 1086secs, r11490 3578secs, r14494 1142secs [13:17] *nod* [13:18] smoke.yml doesn't give individual test times does it? [13:18] not sure [13:18] probably not [13:19] I am wondering if perhaps it is a particularly sick and twisted test that is causing my 512MB maching to swap thrash [13:19] and the rest of the tests are fine [13:20] audreyt - if I don't explitly tell it to use any of the neat new doodads for speed optimizations, will any of the probing detect and enable them behind the scenes? [13:22] Limbic_Region: no [13:22] then I am leaning towards resources as an explanation [13:22] *** buetow joined [13:22] work machine = 2.8ghz w/ 512MB [13:22] * audreyt wonders if anyone can help illustrating the VS/QS diagrams above into some accessible web form [13:22] home machine = 2 x 1.73ghz w/ 1GB [13:23] any takers? [13:23] "illustrated mmd-draft.txt" [13:23] ASCII art will also do :) [13:23] theoretically, the home machine should only be using 1 of the 2 CPUs (as reflected by taskmanager) [13:23] and yet the home machine finishes a full 20 minutes before the work machine [13:24] so 1GB of ram but slower cpu finishes 20 minutes before 512MB of ram but faster cpu [13:24] what would (* be a perl6 pattern? anything? [13:24] (* ? [13:25] I was thinking of making the backtracking control verbs im working on in the perl5 engine be of the form (*VERB:ARG) or (*VERB) [13:25] since (* is an illegal pattern in older perls. [13:26] and (*FAIL) seems a little more intuitive than (?FAIL) [13:27] and im just checking whether that would create a mismatch with something that perl6 might be doing. [13:27] (* is illegal in p6 rx as well [13:27] so go ahead :) [13:29] ooh, GHC -head has Devel::Cover-ish testing [13:30] so we can finally see how much of Pugs internals is not covered by t/ [13:30] mental note: run -fhpc on Pugs some time soon [13:41] *** cmarcelo joined [13:41] ola [13:42] oies [13:50] * kolibrie backlogged a little bit, but still didn't find the context of the discussion - how far back do I need to go? [13:51] kolibrie: TSa was asking what properties does mmd-draft.txt yes [13:52] *have [13:53] * kolibrie does not have an answer [13:55] k [14:04] *** jferrero joined [14:13] *** gene9 joined [14:15] *** penk joined [14:17] *** justatheory joined [14:22] *** kensanata joined [14:27] *** iblechbot joined [14:29] *** vel joined [14:36] HaloO, I'm back [14:39] *** kensanata joined [14:50] *** norageek joined [14:50] *** cjeris joined [14:55] *** rodi joined [14:57] *** rlb3 joined [15:07] *** penk joined [15:17] *** hexmode joined [15:21] r14570 | audreyt++ | * Pugs.Parser: fglock++ noticed that Pugs was not composing hash variables: [15:21] r14570 | audreyt++ | my $x = { %y }; # was a Block, should be Hash [15:21] r14570 | audreyt++ | This fixed it and added a regression test into nested_hashrefs.t [15:30] @seen TimToady [15:30] TimToady is in #perl6. I don't know when TimToady last spoke. [15:34] many people are silently online [15:36] audreyt: coming back to your mmd talks [15:36] TSa: we're all stunned. ;-) [15:41] TSa: would you mind doing a summary of it in some form? [15:43] like a post to p6l? Yes, no problem. [15:44] *** gene9 joined [15:44] *** penk joined [15:44] the property I wanted to ask about is: does the algorithm pick a dispatch target that is more or equally specific in all positions [15:45] well it does, if there's no semicolons [15:45] and if semicolons align, then that property still holds on the first semicolon sections [15:46] I see [15:47] TimToady: I hacked in "use v5;" into spec as discussed a while ago as a way to switch semantics inside e.g. /{use v5; ...}/ blocks. sanity check welcome [15:54] ingy: ping [16:27] *** polettix joined [16:27] *** timbunce joined [16:27] *** timbunce left [16:27] *** penk joined [16:39] r14571 | audreyt++ | * Pugs.Parser: Implement "use v5" blocks: [16:39] r14571 | audreyt++ | use v6-alpha; [16:39] r14571 | audreyt++ | # ...some Perl 6 code... [16:39] r14571 | audreyt++ | { [16:39] r14571 | audreyt++ | use v5; [16:39] r14571 | audreyt++ | # ...some Perl 5 code... [16:40] r14571 | audreyt++ | { [16:40] r14571 | audreyt++ | use v6-alpha; [16:40] r14571 | audreyt++ | # ...more Perl 6 code... [16:40] r14571 | audreyt++ | } [16:40] r14571 | audreyt++ | } [16:40] r14571 | audreyt++ | Thanks to fglock++ for prompting this. [16:40] *** penk joined [16:40] audreyt: is this possible as a result of lexical pragmas now working better? [16:40] (at all?) [16:41] *** cmarcelo joined [16:41] ahoy [16:41] avar: we have lexpragmas but this is not one [16:41] this is a strange block opening wih [16:42] {usev5; [16:42] and end with [16:42] } [16:42] audreyt: fglock arrived? [16:42] and p5 controls parsing [16:42] cmarcelo: just arrived then went to lunch [16:42] I got a tour of src/perl5/ though [16:42] will work on unified AST today [16:42] so all perl 5 sees is Perl 5... [16:42] audreyt: hi! how are things [16:42] I'm implementing lexicals [16:43] the idea is this should transparently work [16:43] sub foo ($x, $y) { use v5; $x + $y } [16:43] in both runtimes [16:43] which I _think_ makes a lot of sense [16:43] also will make boot a lot easier [16:43] clkao: doing fine :) [16:44] I suppose the only question is how many years it will take to deprecate once people start relying on it... [16:44] but I thought v6 will always subsume v5... [16:44] that's a lot of years... [16:44] eviltwin_b: (1..5).chars should be 5 [16:45] it shouldn't count the spaces either. [16:45] should just be the sum of all the individual .chars [16:46] *** cmarcelo left [16:50] unicode is like herbs and spices--it's really easy to ruin your program by adding too many of them... [16:51] but a few of them makes your program much tastier. [16:51] I18n cuisine... [17:01] *** araujo joined [17:07] *** [particle] joined [17:16] $ ./pugs -e 'sub f ($x, $y) { use v5; $x + $y }; say f(1,2)' [17:16] 3 [17:16] yay [17:17] *** amnesiac joined [17:18] audreyt - use v5; has lexical scope? [17:18] r14572 | audreyt++ | * Pugs.Prim: Implement passing lexical scalar variables into Perl 5, [17:18] r14572 | audreyt++ | such that t/perl5/eval_lex.t now passes: [17:18] r14572 | audreyt++ | sub add_in_perl5 ($x, $y) { [17:18] r14572 | audreyt++ | use v5; [17:18] r14572 | audreyt++ | $x + $y; [17:18] r14572 | audreyt++ | } [17:18] r14572 | audreyt++ | add_in_perl5(42, 42); # 84 [17:18] Limbic_Region: yes, and you can even nest [17:19] use v6-alpha; ... { use v5; ... { use v6-alpha; ... } } [17:19] new horizons in Prelude.pm... [17:19] "CPAN is our Prelude" [17:19] * Limbic_Region thinks of the confusion that *could* ensue [17:19] r14573 | audreyt++ | * t/perl5/basic.t: Add an extra test of lexical "use v5" [17:20] <[particle]> sub f($x, $y) { use v5; my %h; $h{$x}= $y; return %h }; say f(1,2); [17:20] overloading + in v6 but not v5 and printing the results of $x + $y in different scopes [17:20] <[particle]> ?eval sub f($x, $y) { use v5; my %h; $h{$x}= $y; return %h }; say f(1,2); [17:20] *** evalbot_r14569 is now known as evalbot_r14571 [17:20] OUTPUT[␤] Bool::True [17:20] <[particle]> *** Undeclared variable: "$h" [17:21] <[particle]> are you sure it's using perl5? [17:21] it says "12" here [17:21] it may very well be that 1) it's not yet r14572 [17:22] <[particle]> ok, i'll wait for run.pugscode.org to catch up [17:22] also it will be nonsafe [17:22] so neither evalbot nor run.pugscode is going to help you [17:22] <[particle]> oh? [17:22] unless we settle on a good ops.pm mask for embperl5... [17:23] * audreyt ponders what's a good set to use [17:24] let's make it safe.... [17:25] done [17:25] hopefully it won't open a huge can of worms... [17:25] r14574 | audreyt++ | * Mark Perl5 eval as safe under ops.pm [17:26] ?eval sub f($x, $y) { use v5; my %h; $h{$x}= $y; return %h }; say f(1,2); [17:26] *** evalbot_r14571 is now known as evalbot_r14573 [17:26] OUTPUT[12␤] Bool::True [17:26] there you go [17:26] <[particle]> yeehah! [17:28] <[particle]> yep works now, audreyt++ # as usual :) [17:29] :D [17:29] <[particle]> pugs++ # perl6 is *SO* cool! [17:30] :D [17:31] actually fglock++'s v6.pm implemented this first [17:31] I was just following his advise :) [17:31] we're working on eliminating as much redundant code and incompatibilities as possible betwen the two runtimes [17:31] it's a lot of fun :) [17:32] and it looks from this perspective like you guys are leaving parrot out in the cold. [17:32] not on purpose... [17:32] we're also not touching JavaScript until the newAST is somewhat stable [17:32] easier to work on interop when you only have two points at a time... [17:33] ?eval use v5; 1+1 [17:33] *** evalbot_r14573 is now known as evalbot_r14574 [17:33] 2 [17:33] :D [17:33] evalbot now doubles at p5evalbot :) [17:33] *as [17:34] ?eval use v5; use CGI [17:34] Error eval perl5: "sub { use ops ($ENV{PUGS_SAFEMODE} ? (':default', 'binmode', 'entereval') : ()); my ($__evalbot_print) = @_;␤; use CGI␤␤}"␤*** 'require' trapped by operation mask at (eval 2) line 4.␤␤Error: Undefined subroutine &main:: called.␤ [17:34] good. [17:35] PerlJam: also it's somewhat easier to work in interop when there are ops to inter with... [17:35] <[particle]> perljam: parrot will catch up quickly after pge, tge, and past are reworked [17:36] <[particle]> i hope, *very* quickly [17:36] I sincerely hope that too [17:36] right, I know you're not doing it on purpose. It's just an observation (primarily about the rapidity with which you guys work :) [17:36] er, guys and gals :) [17:36] you can use the gender-neutral "gals". fglock wouldn't mind :) [17:37] <[particle]> i'd love to get fglock's and audreyt's help once parrot's ready as a vm again [17:37] <[particle]> since there's been so much work on parser/emitter going on, it's fresh in your minds [17:37] *nod* [17:37] <[particle]> i just hope parrot will be ready soon, before things are forgotten [17:38] <[particle]> (since code is canon, there are no docs) [17:38] well as a VM it's not that related to parsing/emitting [17:38] but if you mean tge [17:38] <[particle]> yeah, i mean tree transforms [17:38] then yeah, reworking the current style into tge requires, like, thoughts. and a stable tge metalang [17:38] I'd use "you people" but then I might offend the AIs ;-) [17:39] <[particle]> i like @larry's idea of a tree transform lang inside perl6 [17:39] and I think it's just perl6 :) [17:39] <[particle]> that would make it so easy to operate with different back/front ends [17:39] I mean, structural unpacking with given/when is now strong enough to tree transform [17:39] and that's indeed my preferred style [17:39] <[particle]> has there been work towards using this style? [17:40] gaal worked on the underpinnings [17:40] note that Haskell is exactly the same style [17:40] just different syntax [17:40] <[particle]> great [17:40] so it requires a bit of porting, which I'm figuring out with fglock [17:42] <[particle]> so, if we can easily convert between PAST other ASTs, and tree transformations are in the same language (a perl6 dialect,) it should be quite straightforward to hook any parser to any emitter [17:42] that's the minip6 parser/transformer combinator plan I've advocated for some time now... [17:42] <[particle]> i'm on that train, too [17:42] and indeed fglock put that into reality with modular v6.pm last week [17:43] <[particle]> so, perl5 could become the vm for parrot's tcl [17:43] <[particle]> (once tge is reworked) [17:44] [particle] - if you want to see that happen, suggest to mdiep that it *might* be possible but that you doubt it ;-) [17:44] *** hexmode joined [17:44] though I haven't really been paying close attention to fglock's work, it seems the most exciting to me. Like when you're assembling a puzzle from pieces and you realize how a smaller structure you've assembled fits into the larger whole. [17:44] <[particle]> i'll do just that next week in chicago :) [17:44] fglock's work seems to be a crucial piece to the perl6 puzzle [17:45] <[particle]> indeed. v6 is the new ponie [17:45] <[particle]> it has humps, and can go without water for long periods, and it's *cute* [17:48] * Limbic_Region idly wonders if *this* xmas will be *the* xmas [17:49] less than 60 days left - probably not [17:49] *** nusgnaf joined [17:50] What I think will happen is that one day we will realize that the implementations that we have do all the things we want perl6 to do and at that point perl6 will have de facto arrived. [17:54] how long that takes depends on whether one of the things we want from our implementations is world domination. :) [17:54] <[particle]> it hasn't arrived until the spec is done :) [17:54] heh [17:55] <[particle]> define "world".... [17:55] [particle] - the spec needn't be done [17:55] it need only be comprehensive and stable enough for alpha [17:55] As long as it matches the implementation ... ;-) [18:20] S12 now uses ;; for explicit longest-longname notation. Please be on the lookout for other places that need patching. [18:22] TimToady++ [18:23] *** kanru joined [18:27] *** SubStack joined [18:28] *** elmex joined [18:35] the multi colon forms are out now, right? [18:36] *** prism joined [18:37] right [18:40] I try to summarize your explainiations but cannot remember all cases [18:41] so what exactly does a semicolon do to QS and VS? [18:42] is it that it drops the respective method locally from VS, right? [18:43] *** beppu joined [18:48] *** buetow joined [18:48] *** SubStack joined [18:54] http://en.wikipedia.org/wiki/Regular_expressions#Patterns_for_irregular_languages I hope that quote isn't out of date :) [18:54] http://tinyurl.com/y6nm4o [19:08] *** ofer1 joined [19:41] *** penk joined [19:42] *** penk joined [19:48] fwiw I recall it still being worded roughly like that [19:53] r14575 | audreyt++ | * P/E/P6/P5-2: Implement the dispatch as ->$method instead of an expensive eval [19:53] r14575 | audreyt++ | because dynamic method names _does_ work with inheritance in Perl 5 [19:56] audreyt - has the hackathon started yet and if so - when does it end? [19:56] Isn't it next week? [19:57] I guess for audreyt it might be one long continuous hackathon ;-) [19:57] tomorrow according to her journal [19:57] "I've safely landed to Brazil, ready for tomorrow's hackathon with fglock++" [19:57] posted 2006-11-01 [19:58] * Limbic_Region read that this morning but apparently didn't catalog it [19:58] oh, I was thinking of the Chicago hackathon [20:20] *** justatheory joined [20:25] 18000 tests++ [20:26] umm, TimToady, I have finished coding some backtrackign control verbs, and i was wondering if you had any thoughts. [20:26] in perl5 obviously. [20:27] (?COMMIT) - if backtracked into on failure pattern fails at this start point outright [20:27] this start point? [20:27] (?CUT) - if backtracked into on failure pattern fails, and doesnt try to match until a startpoint after the current position [20:29] yes, consider 'aaab'=~/a+b?(?COMMIT)(??{$count++})(?!)/ [20:30] count would be 3. [20:30] cause it could match starting at any of the 'a's. [20:31] and then there is (?ERROR) - if backtracked into on failure pattern fails outright, and doesnt try to match at any subsequent start point. [20:31] that sounds more like P6's [20:33] if you use 'aaabaaab'=~/a+b?(?XXX)(??{$count++})(?!)/ as the template then $count would be 6 for (?COMMIT), 2 for (?CUT) and 1 for (?ERROR) [20:34] and I'm sayin' your COMMIT doesn't show much commitment... :) [20:34] heh. :-) [20:34] we also use for something a little different currently. [20:34] dmq: what does (?!) do? [20:34] its basically like a free floating possessive match operator. [20:35] it's a [20:35] dmq: its always fails. [20:35] gotcha [20:35] yeah, (?FAIL) is implemented now, and in blead. my (?COMMIT) is too, but the name is subject to change. [20:36] (?CUT) and (?ERROR) im just preparing the patch for [20:36] It's too bad we can't just swap in the perl6 regex engine :-) [20:37] Ill refrain from commenting on that as Im a little biased towards the perl5 engine at this point. :-) [20:37] obviously :) [20:38] But for some reason I like the punctuative names better than the shouting ones. If only you could make perl5 not shout so much ... [20:38] *** justatheory_ joined [20:38] Anyway, i have to go. TimToady, hopefully you can ponder this and ill get back to you? [20:38] k [20:38] yes, i can actually, i was thinking of making the backtracking verbs start with (* [20:39] which would allow lowercase verbs without any back-compat issues. [20:39] (*fail) (*commit) etc... [20:39] thanks TimToady. ciao all. [20:40] *** rodi joined [20:41] *** nekokak_ joined [20:49] my $donotuseItem = my $useItem = 0; --> I forget, but can I write this shorter in some way? [20:49] r14576 | audreyt++ | * Add the 0th sketch of MiniPerl6 Spec, by joint design of [20:49] r14576 | audreyt++ | fglock++ and audreyt++, to serve as the Unified Tree Transformation [20:49] r14576 | audreyt++ | And Grammar Engine Bootstrapping And Runtime Bootstrap And [20:49] r14576 | audreyt++ | World Domination language. [20:50] Cugel: depends. You could get rid of one of the "my", but you'd have to add some more syntax to assign another 0 [20:51] Cugel: or you could forego the assignment entirely and just rely on undef == 0 in numeric context [20:51] True, for some reason I always like to declare my variables in advance, even to 0. It's a leftover from Turbo Pascal. [20:53] Cugel: the way you wrote it originally looks fine to me though. I wouldn't change it. [20:54] Okay. [20:54] It just looks a bit corny, but then, so do most of my Perl lines ;-) [20:56] *** bernhard joined [21:06] *** mako132 joined [21:07] r14577 | audreyt++ | * Some more plans on miniperl6-bootstrap. [21:12] *** fglock joined [21:17] *** SCalimlim joined [21:22] *** vel joined [21:34] *** eggzeck[laptop] joined [21:55] *** cmarcelo joined [21:59] @tell audreyt audrey and flavio: i will be a litte bit late tomorrow, so will be arriving ~ 9h00/9h30. (bad rain here today => i'm leaving campinas tomorrow early morning ["bem cedinho"]) [21:59] Consider it noted. [22:00] *** justatheory joined [22:13] *** justatheory_ joined [22:14] *** mugwump_ joined [22:14] seen audrety [22:14] clkao: I havn't seen audrety, clkao [22:14] seen audreyt [22:14] clkao: audreyt was seen 3 hours 37 minutes 14 seconds ago [22:15] (crossposting) Perl 6 is now officially vaporware, according to wikipedia: http://en.wikipedia.org/wiki/Perl_6 [22:16] *** mugwump_ is now known as mugwump [22:17] Debolaz: not any more. [22:18] wikipedia-- [22:18] pugs ... exists [22:18] also, Larry has announced a release date [22:18] jrockway: Notice that it wasn't any particular implementation of perl 6 that was vaporware, it was the language itself. The specifications. They are the vaporware in this particular case. :) [22:19] more like flux-ware [22:19] rather than deciding on a set of specs that are bad, the contributers want perl 6 to be good [22:19] other languages aren't used to the concept, because "next version" to them means some bugfixes [22:20] php6 = unicode, perl6 = able to perform parallel operations with >>. syntax and has software transactional memory [22:20] a bit different [22:21] although those two examples appear to work Right Now (tm) ;) [22:21] mugwump: Url? I can correct the article if I have a reference. [22:21] christmas? [22:22] * Debolaz needs reference. [22:22] i would say, "send larry over to edit the wikipedia", but the creator of Eiffel did that and got into an editwar [22:23] some pre-teen "admin" told the creator of the language that he was wrong on a number of points and was no longer welcome to spread lies on wikipedia [22:23] pretty sad, wikipedia is mostly good [22:23] Debolaz: ok, I've put all the reference I can realisitically give on the page; he announced it at YAPC::Eu [22:23] isn't that right, TimToady ? :) [22:23] jrockway: that's a slightly skewed characterisation of what happened. [22:24] it seemed like the admins were being stupid, though [22:24] jrockway: yes, I'd agree with that. [22:26] Bertrand Meyer just wanted the fonts and formatting of code examples to be consistent with "the culture of Eiffel". Only there was some disagreement over said culture. [22:26] here's an excerpt from the current Talk page: "Then he tried to invalidate the GFDL, further showing that he has no respect for anything and he only wants his way." [22:26] ah [22:26] regardless, published sources are harder to dispute :) [22:26] so get one of those to back up the perl6 != vapor claim :) [22:28] I just removed the vaporware edit and we'll see what happens. [22:37] *** weinig|bbl is now known as weinig [22:46] *** Limbic_Region joined [22:47] *** dduncan joined [22:57] *** justatheory joined [23:05] *** cjeris left [23:17] *** weinig is now known as weinig|food [23:19] *** justatheory_ joined [23:23] *** hexmode joined [23:47] *** Aankhen`` joined [23:57] cute