Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-11-29

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 masak consider that there's no production-use Pod (6) parser in existence yet.
00:00 masak oh, unless you perhaps count Damian's, which is out of date.
00:00 lue that would explain why I saw a lot of ambient material in those files. I'm only familiar with Pod6.
00:00 Teratogen pod can't be THAT hard to parse!
00:01 lue it isn't really, I assume no-one's been interested enough recently (except me)
00:02 masak Teratogen: hi! welcome back. :)
00:02 Teratogen hi masak! =)
00:02 masak Teratogen: no, it's not really. as evidenced by the four or so parsers that are out there already.
00:03 masak Teratogen: what's hard, at least if you ask me, is getting good integration with a Perl 6 implementation. that's what I'd like to tackle next.
00:03 masak the nice things in Pod 6 can be found in the deeper integration with the programming language. just as with Perl 6 regexes, actually.
00:03 masak hope that answer helps.
00:05 Raynes left #perl6
00:05 Raynes joined #perl6
00:06 lue .oO[ I wish to put a hex on this computer, but it would probably enjoy that type of curse ;) ]
00:06 * masak is very happy to finally be working on week 20 of the Web.pm grant, so he can wrap it up, write a retrospective, and then apply with a good conscience for a Pod grant
00:09 Raynes left #perl6
00:09 Raynes joined #perl6
00:10 sji left #perl6
00:12 masak "invoke() not implemented in class 'Undef'" -- how I don't miss thee at all. :)
00:14 risou joined #perl6
00:19 justatheory joined #perl6
00:28 lue .oO(An advent post on Pod6 seems like an OK idea...)
00:28 masak yes, but we tend to lean towards features that are already in Rakudo.
00:29 masak Pod6 is implemented only to a very small degree.
00:29 orafu left #perl6
00:29 orafu joined #perl6
00:40 * ch3ck3r kittlar masak
00:40 masak ch3ck3r: go to bed! :)
00:41 ch3ck3r i'm not tired :/
00:41 masak neither am I. but at least I'm doing something useful. :P
00:42 ch3ck3r :)
00:57 MindosCheng left #perl6
01:11 icwiener left #perl6
01:17 nadim_ left #perl6
01:32 PZt left #perl6
01:50 lue afk
01:52 masak blog post! http://strangelyconsistent.org/blog/no​vember-28-2010-returning-to-the-oldies
01:53 PZt joined #perl6
01:56 [particle] left #perl6
02:14 colomon First performance of the "Emperor" is a good catch.  masak++
02:14 masak thanks.
02:16 dalek niecza: a35af99 | sorear++ | / (3 files):
02:16 dalek niecza: Make "iterator" an optimized context operator
02:16 dalek niecza: review: https://github.com/sorear/niecza/commit/a35af99ebf
02:17 sorear this is my third commit for the day.  I had to reset the first two because they didn't help
02:17 sorear this one is pretty good though - almost 3 second speedup
02:17 sorear I'm going to have to start using callgrind :/
02:18 masak sorear++
02:18 Guest24421 left #perl6
02:22 jasonmay_ is now known as jasonmay
02:39 redicaps joined #perl6
02:40 bluescreen joined #perl6
02:40 bluescreen is now known as Guest89375
02:44 Guest89375 left #perl6
02:50 dlynes left #perl6
02:53 whiteknight left #perl6
02:53 * masak sleeps
02:53 masak left #perl6
03:22 envi joined #perl6
03:36 jasonmay left #perl6
03:39 jasonmay joined #perl6
03:44 RandalSchwartz joined #perl6
03:44 RandalSchwartz can't build current git head
03:44 RandalSchwartz is that typical? :)
03:45 RandalSchwartz during perl Configure.pl --gen-parrot, got
03:45 RandalSchwartz .. .gmake: *** No rule to make target `compilers/pirc/Rules.mak'.  Stop.
03:46 sorear not typical, no
03:46 RandalSchwartz so how do I recover from that?
03:47 RandalSchwartz it was during the "gmake realclean" in the parrot subdir
03:47 sorear rm -rf parrot parrot_install
03:47 diakopter call an exterminator; you've got parrots
03:47 sorear you should realclean *before* git pull, not after
03:47 RandalSchwartz so parrot sometimes moves forward in bad ways
03:47 colomon left #perl6
03:48 RandalSchwartz or the overarching script doesn't know how to deal with pulling/
03:48 sorear reason being that realclean is only supposed to deal with contemporary generated files
03:48 RandalSchwartz where's the mistake?
03:48 RandalSchwartz so it should do realclean, pull, then make?
03:48 sorear compilers/pirc just got kicked out of the parrot repository today
03:48 sorear yes
03:48 nymacro joined #perl6
03:48 RandalSchwartz ahh, so I could have just done a reset --hard
03:49 RandalSchwartz rather than refetching all?
03:49 sorear reset --hard, clean -fx
03:49 sorear -dfx
03:50 RandalSchwartz I presume this is rare?
03:50 RandalSchwartz and I happened across the corner case?
03:50 RandalSchwartz or is this a known breakage that someone needs to address, but not enough tuits?
03:51 sorear it's rare but it affects everyone at once
03:52 RandalSchwartz what's the easiest way to figure out how rakudo differs from the specs
03:52 * RandalSchwartz is researching for Learning Perl 6
03:53 sorear there's a high level list of missing features in the latest Rakudo Star announcement
03:53 RandalSchwartz yeah, I saw those.
03:53 sorear there are also line items in the spec-test metadata; grep for #?rakudo
03:54 RandalSchwartz ahh, that'll be useful
03:59 satyavvd joined #perl6
04:00 colomon joined #perl6
04:12 colomon left #perl6
04:27 nymacro left #perl6
04:35 nymacro joined #perl6
04:42 sftp_ left #perl6
05:17 nymacro left #perl6
05:17 satyavvd left #perl6
05:17 satyavvd_ joined #perl6
05:23 satyavvd_ left #perl6
05:24 kanishka joined #perl6
05:30 kaare joined #perl6
05:30 kaare is now known as Guest11857
05:37 fhelmberger joined #perl6
06:05 nymacro joined #perl6
06:09 shachaf left #perl6
06:09 shachaf joined #perl6
06:12 nymacro left #perl6
06:12 nymacro joined #perl6
06:14 _twitch joined #perl6
06:15 silug left #perl6
06:19 am0c left #perl6
06:26 nadim_ joined #perl6
06:32 dalek niecza: 280c536 | sorear++ | / (5 files):
06:32 dalek niecza: Use new list iteration interface for regexes
06:32 dalek niecza: review: https://github.com/sorear/niecza/commit/280c53631c
06:55 kanishka left #perl6
07:21 Axius joined #perl6
07:22 xinming_ joined #perl6
07:25 xinming left #perl6
07:27 Axius left #perl6
07:30 moritz_ good morning
07:34 flatwhatson left #perl6
07:34 wtw joined #perl6
07:37 diakopter hi
07:41 sorear hi
07:42 nothingmuch_ left #perl6
07:42 nothingmuch joined #perl6
08:01 dalek niecza: 4cc78c1 | sorear++ | lib/ (3 files):
08:01 dalek niecza: Run inferior runloops on same coroutine
08:01 dalek niecza: review: https://github.com/sorear/niecza/commit/4cc78c15bb
08:07 sorear RFC: http://gist.github.com/719714 # for p6[acl]
08:08 sorear niecza announcey
08:09 Trashlord left #perl6
08:10 sorear probably just [ac]
08:10 Trashlord joined #perl6
08:22 ch3ck3r left #perl6
08:23 * sorear pokes moritz_
08:24 * moritz_ stabs sorear
08:24 moritz_ just a wee bit, mind you :-)
08:25 sorear ick, stabs
08:28 dalek niecza: aad67c1 | sorear++ | lib/Threads.pm6:
08:28 dalek niecza: Debitrot Threads.pm6
08:28 dalek niecza: review: https://github.com/sorear/niecza/commit/aad67c1415
08:28 dalek niecza: 879fbdf | sorear++ | v6/tryfile:
08:28 dalek niecza: Use low-level coding in Regex.ACCEPTS
08:28 dalek niecza: review: https://github.com/sorear/niecza/commit/879fbdf000
08:28 * sorear dwarfs moritz_
08:28 * moritz_ retreats to Moria
08:29 sorear down to 50s
08:31 justatheory left #perl6
08:42 mj41_ joined #perl6
08:42 jfried joined #perl6
08:45 mj41 left #perl6
08:45 mj41_ is now known as mj41
08:51 redicaps left #perl6
08:58 sorear moritz_: who might I talk to about the art of the announcement?
09:09 dalek niecza: a981b22 | sorear++ | / (6 files):
09:09 dalek niecza: Merge back tryfile augments
09:09 dalek niecza: review: https://github.com/sorear/niecza/commit/a981b2287f
09:11 f00li5h left #perl6
09:13 neroxx joined #perl6
09:28 timbunce joined #perl6
09:29 dakkar joined #perl6
09:34 am0c joined #perl6
09:34 moritz_ sorear: depends on which aspect you want to talk about
09:34 moritz_ sorear: masak and pmichaud are good at writing such announcements
09:35 moritz_ sorear: I can help you to get a bit more attention
09:37 sorear well, that gist link - first draft of niecza announce
09:37 sorear I'd like some feedback from anyone more experienced
09:41 moritz_ sorear: you should include your nickname when talking about #perl6
09:41 moritz_ sorear: otherwise it looks fine to me
09:42 moritz_ sorear: if you also send the email to perl6-announce, it will automatically appear on the planetsix blog aggregator
09:45 sorear ah
09:45 sorear what do you mean, attention?
09:47 moritz_ tipps like the above (get on the blog aggregator), hackernews, reddit etc.
09:48 moritz_ one more thing: you could mention that your current runtime is the CLR
09:48 sorear ok
09:48 moritz_ and maybe some performance figures
09:54 timbunce left #perl6
10:00 timbunce joined #perl6
10:06 sorear Announcement draft 2: http://gist.github.com/719783
10:07 cotto left #perl6
10:07 thelazydeveoper joined #perl6
10:08 jnthn Rather than bore you with a long list of features that are not yet implemented,
10:08 jnthn here are some of the things that are not not yet implemented:
10:08 jnthn ...I'm bored! ;)
10:09 sorear I'm trying to capture a little of that masakian silliness.  Not sure if it's backfiring.
10:09 * moritz_ liked it
10:09 ch3ck joined #perl6
10:11 kst`` is now known as kst
10:13 thelazydeveoper left #perl6
10:13 thelazydeveloper joined #perl6
10:33 neroxx left #perl6
10:34 neroxx joined #perl6
10:47 satyavvd joined #perl6
10:50 icwiener joined #perl6
10:58 alc joined #perl6
11:07 dalek niecza: 8ff39ae | sorear++ | / (3 files):
11:07 dalek niecza: Fix several holes in the regex optimizer
11:07 dalek niecza: review: https://github.com/sorear/niecza/commit/8ff39ae743
11:07 * sorear out
11:08 wamba joined #perl6
11:33 f00li5h joined #perl6
11:41 timbunce left #perl6
11:42 satyavvd left #perl6
11:47 sunnavy left #perl6
11:47 sunnavy joined #perl6
11:48 xinming_ left #perl6
11:53 xinming joined #perl6
11:55 daxim joined #perl6
11:57 colomon joined #perl6
12:03 cotto joined #perl6
12:17 pencilk joined #perl6
12:26 pmurias joined #perl6
12:35 cotto left #perl6
12:35 cotto joined #perl6
12:44 pencilk left #perl6
12:48 cotto left #perl6
12:50 Sarten-X2 left #perl6
12:56 am0c left #perl6
12:56 cotto joined #perl6
13:02 thelazydeveloper left #perl6
13:14 takadonet joined #perl6
13:18 takadonet morning all
13:19 MayDaniel joined #perl6
13:21 risou_ joined #perl6
13:24 risou left #perl6
13:29 Guest11857 left #perl6
13:37 MayDaniel left #perl6
13:38 am0c joined #perl6
13:40 Patterner left #perl6
13:45 ggoebel joined #perl6
13:47 pmurias left #perl6
13:52 Psyche^ joined #perl6
13:52 Psyche^ is now known as Patterner
14:11 nero2x joined #perl6
14:14 neroxx left #perl6
14:16 _kaare joined #perl6
14:16 satyavvd joined #perl6
14:17 plainhao joined #perl6
14:18 joyer``` joined #perl6
14:21 joyer`` left #perl6
14:21 nadim_ left #perl6
14:23 nymacro left #perl6
14:23 nadim_ joined #perl6
14:24 RandalSchwartz left #perl6
14:33 bluescreen joined #perl6
14:33 bluescreen is now known as Guest27466
14:39 Guest27466 left #perl6
14:40 nero__ joined #perl6
14:41 [particle] joined #perl6
14:43 nero2x left #perl6
14:48 colomon o/
14:49 takadonet o/
14:49 [particle] left #perl6
14:50 ggoebel left #perl6
14:51 satyavvd left #perl6
14:53 alester left #perl6
14:54 [particle] joined #perl6
14:54 ggoebel joined #perl6
14:56 am0c left #perl6
15:03 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/perl​6/index.cgi?perl_6_variable_tablet
15:09 lichtkind joined #perl6
15:10 lichtkind i have problem wit %h = 2 => 'a', 3=> 'g';
15:10 lichtkind shouldnt be autoconvert to hashref?
15:10 moritz_ why?
15:11 lichtkind because it would be consistent with  array
15:11 moritz_ why?
15:15 colomon rakudo: my %h = 2 => 'a', 3=> 'g';; say :%h.perl; say %h.WHAT
15:15 p6eval rakudo : OUTPUT«"h" => {"2" => "a", "3" => "g"}␤Hash()␤»
15:16 colomon rakudo: my @h = 2, 3; say :@h.perl; say @h.WHAT
15:16 p6eval rakudo : OUTPUT«"h" => [2, 3]␤Array()␤»
15:18 lichtkind moritz_: thanks but so far i understood my rekudo repl i worked differently i check this again
15:18 [particle] left #perl6
15:18 moritz_ lichtkind: I can't make sense of anything that you say, somehow :/
15:20 lichtkind moritz_: i said that my rakudo repl showed me something different then here but i found the bug now, thanks
15:20 moritz_ lichtkind: note that the REPL stringifies, which can be surprising if you expect it to do anything else
15:21 moritz_ or if you don't know the stringification rules for the objects you're dealing with
15:22 risou joined #perl6
15:22 am0c joined #perl6
15:23 MayDaniel joined #perl6
15:23 lichtkind moritz_: i gave in frankfurt yesterday talk about context sensitive operators in perl 6 at ffm perl fowkshop, was good
15:25 wtw left #perl6
15:25 risou_ left #perl6
15:30 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/perl​6/index.cgi?perl_6_variable_tablet
15:30 [particle] joined #perl6
15:31 sftp joined #perl6
15:36 kanishka joined #perl6
15:41 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/perl​6/index.cgi?perl_6_variable_tablet
15:49 _twitch left #perl6
15:56 REPLeffect joined #perl6
16:00 justatheory joined #perl6
16:09 [particle] left #perl6
16:18 [particle] joined #perl6
16:22 risou_ joined #perl6
16:23 MayDaniel left #perl6
16:24 risou left #perl6
16:26 colomon pondering if porting http://bernhardkausler.wordpress.com/2009/11/28/si​nc-%E2%80%94-the-tiniest-lisp-compiler-to-python/ to p6 would make a worthwhile Advent calendar post.
16:29 masak joined #perl6
16:29 masak oh hai, #perl6
16:29 lichtkind hai masak
16:29 takadonet masak: yo
16:30 PerlJam colomon: sure.
16:33 kthakore hi PerlJam !
16:36 masak "The goal of this project is to have fun while learning about how to make a fast Perl 6; if we accidentally make a fast Perl 6 in the process, so much the better." https://gist.github.com/719783
16:36 masak sorear++
16:37 masak also, "not not yet implemented" :P
16:39 masak reading that announcement, I'm thinking (1) niecza looks like an implementation in which one could actually write something non-trivial already, and (2) I should try that at some point soon.
16:39 jedai_ left #perl6
16:39 masak sorear: I would recommend settling on a release schedule soonish. including whether to do time-based or feature-based releases.
16:42 thundergnat joined #perl6
16:43 thundergnat Hi #perl6
16:43 takadonet thundergnat: yo
16:43 [hudnix] left #perl6
16:43 masak thundergnat: \o
16:43 thundergnat Is there anybody around that has built a working R* 1010.11 on Windows XP?
16:44 thundergnat I fanally got around to downloading anf trying it and have been (somewhat) unsucessful,
16:45 thundergnat er, finally, actually
16:46 thundergnat Ran into a known bug: http://trac.parrot.org/parrot/ticket/1873 and worked around that. It now BUILDS, but is _extremely_ fragile.
16:47 thundergnat perl6 -v yeilds: This is Rakudo Perl 6, version 2010.11 built on parrot 2.10.1Null PMC access in get_bool()...
16:48 * masak watches TheDamian at http://osdc.blip.tv/file/4442577
16:48 ch3ck \o
16:48 masak TheDamian: hey! pmichaud didn't make that 35th release, I did! :P
16:48 masak ch3ck: o/
16:50 masak ooh. didn't know TheDamian disagreed about the name "Perl 6". huh.
16:51 masak "parallel languages in the same language family". good, good.
16:52 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/perl6/in​dex.cgi?perl_6_language_design_tablet
16:54 masak "[Perl 6] also has to obey more rules than Perl 5. It's not so much of a cowboy language." This sorta-kinda expresses something that I've sorta-kinda wanted to express myself at times.
16:55 PerlJam masak: I like his percentages because 80% of statistics are made up  :)
16:55 PerlJam "language design 95% complete"
16:55 masak haven't gotten to that part yet.
16:56 masak "there are NO undeclared variables in Perl 6". O RLY?
16:56 PerlJam it was right at the beginning
16:56 masak then I missed it.
16:57 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_delta_tablet
16:58 thundergnat left #perl6
17:06 Kodi joined #perl6
17:07 Kodi Would anyone object if I marked S32::Temporal as not being a draft anymore? It's pretty stable now.
17:07 * masak agrees
17:07 masak Kodi++
17:08 masak maybe we should have a "rehabilitation program" to get other draft synopses to a non-drafty state.
17:08 Kodi Yeah, it's about time!
17:09 * moritz_ wants to get some synopsis into a "draft" state again
17:09 masak :)
17:11 PacoLinux joined #perl6
17:13 joyer``` left #perl6
17:13 jfried left #perl6
17:14 thelazydeveloper joined #perl6
17:14 masak TheDamian: unary dot-equals not implemented yet? huh?
17:15 masak rakudo: $_ = 'oh hai'; .=uc; .say
17:15 p6eval rakudo : OUTPUT«OH HAI␤»
17:15 masak guess he was just being conservative, or something :)
17:15 dalek specs: 5994eb0 | (Kodi Arfer)++ | S32-setting-library/Temporal.pod:
17:15 dalek specs: [S32/Temporal] Graduated out of draft state and corrected my description of the offset method.
17:15 dalek specs: review: https://github.com/perl6/specs/commit/5994eb031d
17:15 dalek mu: 7b9ac4f | (Kodi Arfer)++ | docs/feather/syn_index.html:
17:15 dalek mu: [syn_index.html] Temporal is no longer a draft or a type.
17:15 dalek mu: review: https://github.com/perl6/mu/commit/7b9ac4f9e3
17:16 moritz_ Kodi++
17:17 Kodi I'd like to help bring Containers to life, too, but pmichaud wants me to wait for him to clean up Hash.
17:18 masak makes sense.
17:18 masak oh! if anyone's looking for an Advent Calendar topic, I think flip/reverse/invert would be a good one.
17:19 colomon +1
17:19 moritz_ +2 # accumulative
17:19 masak :P
17:19 masak also, the reason 'say for @stuff' doesn't work any more. (TheDamian explains it well in the talk)
17:20 masak these are simple, basic things, but I think they're perhaps not widely known.
17:20 masak and they're exactly the kind of thing people might like to read.
17:21 masak "In Perl 6, Inf is a real value". someone on Twitter said "fail!" over this, and I don't really understand why.
17:21 Kodi masak: Perhaps as a pun on "real", since Inf isn't a real number.
17:22 moritz_ mathematically speaking, Inf is not a number at all
17:22 masak Kodi: oh, then it might simply be a misunderstanding.
17:22 masak moritz_: indeed.
17:22 masak rakudo: say Inf ~~ Numeric
17:22 p6eval rakudo : OUTPUT«1␤»
17:23 masak "A, but what happens if you say C<1 ..^ Inf>? Then... it doesn't run nearly as long." *lol*
17:25 masak TheDamian tries C<^^10> and then sounds slightly disappointed it doesn't do anything multidimensional. heh, I argued for the removal of such multidimensional behaviour, on the basis of it being less useful than prefix:<^> simply numifying its argument.
17:25 masak that was back in 2008 or 2009.
17:33 masak here: http://rt.perl.org/rt3/Tic​ket/Display.html?id=60828
17:35 masak I don't see my own name in that discussion, neither on IRC. maybe I'm remembering wrong.
17:35 hercynium_ joined #perl6
17:37 colomon left #perl6
17:42 colomon joined #perl6
17:43 masak I don't understand TheDamian's point about the increased importance of "sanitizing input" after {} gets a special meaning in interpolated string literals.
17:43 masak string literals and user input are totally disjunct, aren't they?
17:44 jnthn yeah
17:44 jnthn Sounds like a mis-understanding.
17:44 masak seems like an odd point to make.
17:44 masak I do agree that {} in qq are totally disruptive for people who don't know about them.
17:44 masak but not in an injection kind of way.
17:45 jnthn aye
17:46 Kodi What on earth is going on here? https://gist.github.com/720279
17:47 masak Kodi: I say bug.
17:47 moritz_ Kodi: parsing bug, I'd guess
17:47 masak Kodi: historically, there have been problems with line-ending closing braces without semicolons.
17:47 moritz_ somhow it invoces &f, even though it shouldn't
17:47 masak this looks like such a case.
17:48 * Kodi nods.
17:48 masak please submit a rakudobug.
17:49 Kodi Sure.
17:49 flussence regarding the {} thing: you can contort PHP into running arbitrary code inside ${} too, but nobody's up in arms about it
17:49 masak Ruby has #{}, I think.
17:50 moritz_ &{ ... } would be 6ish
17:51 masak rakudo: my $s = "OH &{ say "OH HAI" }() HAI"; say $s
17:51 p6eval rakudo : OUTPUT«OH HAI␤OH &Bool::True() HAI␤»
17:51 moritz_ rakudo: say "{}"
17:51 p6eval rakudo : OUTPUT«Nil()␤»
17:56 Kodi masak: By the way, if I find a bug, add a test for it, and fix it before anybody else mentions it (as I've done once or twice), should I submit a rakudobug for it too?
17:58 masak Kodi: I could argue both ways on that one. :)
17:58 hercynium__ joined #perl6
17:58 hercynium__ left #perl6
17:58 hercynium__ joined #perl6
17:58 masak rakudo: my $b = 99; sub r { "$b bottle{$b-1??"s"!!""} of beer" }; my $w = "on the wall"; while $b { say "&r() $w, &r()!"; --$b; say "Take one down, pass it around, &r() $w!"; say "" }
17:58 p6eval rakudo : OUTPUT«99 bottles of beer on the wall, 99 bottles of beer!␤Take one down, pass it around, 98 bottles of beer on the wall!␤␤98 bottles of beer on the wall, 98 bottles of beer!␤Take one down, pass it around, 97 bottles of beer on the wall!␤␤97 bottles of beer on the wall, 97 bottles of beer…
17:58 * masak waits for jnthn's reaction. :)
17:59 masak rakudo: my $b = Inf; sub r { "$b bottle{$b-1??"s"!!""} of beer" }; my $w = "on the wall"; while $b { say "&r() $w, &r()!"; --$b; say "Take one down, pass it around, &r() $w!"; say "" }
17:59 p6eval rakudo : OUTPUT«(timeout)es of beer on the wall, Inf bottles of beer!␤Take one down, pass it around, Inf bottles of beer on the wall!␤␤Inf bottles of beer on the wall, Inf bottles of beer!␤Take one down, pass it around, Inf bottles of beer on the wall!␤␤Inf bottles of beer on the wall, Inf bottles…
17:59 masak heheheh.
18:00 masak ETIMEDOUTDRINGINGINFINITEAMOUNTSOFBEER
18:00 hercynium__ left #perl6
18:00 jnthn Infinity bottles of beer?!
18:00 jnthn :D
18:00 masak ah, there you are :)
18:01 masak "that's one long wall"
18:01 jnthn :P
18:01 hercynium_ left #perl6
18:02 Kodi We need a Cardinal type so we can have uncountably many bottles of beer.
18:02 jnthn Makes the pain of implementing that interpolation all worth it. :P
18:02 hercynium_ joined #perl6
18:02 hercynium_ left #perl6
18:02 hercynium_ joined #perl6
18:03 jnthn Kodi: If you drink enough bottles of beer, a finite amount becomes practically uncountable. ;-)
18:03 jnthn Not that I have personal experience of drinking that many... :-)
18:05 moritz_ of course not.
18:05 jnthn :P
18:05 hercynium__ joined #perl6
18:06 jnthn Despite really liking beer, I actually also really quite dislike being drunk, so tend to be fairly controlled. :)
18:07 Trashlord or just drink non alcoholic beer
18:07 hercynium_ left #perl6
18:07 jnthn Trashlord: It tastes like s...
18:07 jnthn :)
18:07 jnthn I'd rather drink nice beer in moderation.
18:07 Trashlord I don't have much experience with the non alcoholic brands
18:08 jnthn I had to take medication once where I couldn't have alcohol. I tried a few of them then...
18:08 jnthn ...they were awful.
18:09 masak "It tastes like s..." ...soda? :)
18:09 jnthn masak: Precisely. :P
18:12 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/perl​6/index.cgi?perl_6_variable_tablet
18:18 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_index_tablet
18:18 jnthn nom time &
18:18 hercynium__ left #perl6
18:18 Kodi left #perl6
18:19 hercynium_ joined #perl6
18:19 tadzik good evening sixers
18:19 moritz_ moin
18:20 masak greetings and salutations, tadzik.
18:23 risou_ left #perl6
18:23 risou joined #perl6
18:23 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_index_tablet
18:29 envi left #perl6
18:30 masak ooh, http://libgit2.github.com/ -- someone please hook Perl 6 up to this with zavolaj... :)
18:31 envi joined #perl6
18:32 hercynium left #perl6
18:32 hercynium_ is now known as hercynium
18:32 hercynium_ joined #perl6
18:32 colomon is anyone doing anything with zavolaj at the moment?
18:33 dakkar left #perl6
18:34 dalek tpfwiki: (james sdfgdf)++ | http://www.perlfoundation.​org/perl6/index.cgi?perl_6
18:34 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/perl​6/index.cgi?perl_6_variable_tablet
18:34 takadonet well we should start hacking then :)
18:35 tadzik masak: sounds like a nice evening project
18:35 envi left #perl6
18:35 colomon it would be awesome++ to have a git module available for p6
18:36 masak yes.
18:36 masak same with an XML module.
18:36 takadonet I would hack on it
18:36 takadonet on the git module not the XML
18:37 dukeleto are y'all talking about a p6 binding to the Git core libraries?
18:37 colomon dukeleto: no
18:37 colomon to http://libgit2.github.com/
18:43 masak got the link from Trivium++ http://chneukirchen.org/trivium/2010-11-28
18:43 dukeleto colomon: that is what I am talking about :)
18:44 dukeleto I have been talking about that in here before
18:44 dukeleto That was a google summer of code project, and now Github is paying for it to be finished
18:44 * dukeleto is planning on doing Parrot bindings to libgit2
18:44 masak ooh
18:44 colomon oooooo
18:44 masak that would amount to the same thing.
18:45 dukeleto masak: yet give many more people access to it, potentially.
18:45 dukeleto the gsoc_nci branch landed, so a lot more is possible with Parrot NCI
18:45 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/perl​6/index.cgi?perl_6_variable_tablet
18:45 dukeleto we have libffi now
18:46 dukeleto libgit2 is still barely functional tho, so don't hold your breath
18:48 masak ok.
18:49 * colomon is not having any luck getting the unix-fork example in zavolaj to run.
18:49 colomon and of course, zavolaj has no tests, just examples.  :\
18:50 colomon so perhaps just getting zavolaj up to speed would be a good project....
18:50 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/perl​6/index.cgi?perl_6_variable_tablet
18:53 flussence does that mean p6 can talk to any C library now?
18:54 moritz_ not quite "any"
18:56 flussence well, more than a month ago?
18:57 moritz_ iirc there are restrictions to what zavolaj can do
18:57 PerlJam left #perl6
18:57 flussence last time I looked, it sounded as if it's restricted to what Parrot supports :/
18:58 flussence (i.e. at compile time)
18:58 tadzik it can't look inside structs
18:58 flussence can it read them as Bufs though?
18:59 tadzik not sure
18:59 PerlJam joined #perl6
18:59 alc left #perl6
18:59 masak and so it begins :) http://twitter.com/ash_gti/status/9318084078739456
18:59 masak "We expect other languages to steal Perl 6's regex syntax, too" -- TimToady
18:59 tadzik they will, eventually
18:59 PerlJam I wished that long long ago.
19:00 muixirt joined #perl6
19:00 colomon Hmmm.... seems like we should maybe have the equivalent of zavolaj for the Parrot NCI?
19:00 masak I've been thinking of writing an nqp-rx port in either Ruby, C or Google Go.
19:01 tadzik hmm
19:01 tadzik it can be used in Parrot Languages, no?
19:01 PerlJam masak: I vote for C if you're taking suggestions  :)
19:01 daxim left #perl6
19:01 masak PerlJam: I am. especially if there are reasons attached. :)
19:02 moritz_ nqp-rx ports seem to be quite the fashion today :-)
19:02 masak moritz_: for me, the objective would primarily be to gain a better understanding of nqp-rx.
19:02 PerlJam masak: speed + portability + general coolness are my only reasons.
19:02 tadzik http://twitter.com/quietfanat​ic/statuses/9079342000766976 -- that's a lie, no?
19:03 moritz_ masak: good motivation
19:03 masak Google Go seems to have speed and general coolness as well.
19:03 masak moritz_: that was one of the big wins with GGE. I got to learn PGE so well that I could actually predict bugs in it.
19:03 * tadzik shamelessly reddits his own blag toast
19:04 masak tadzik++
19:04 PerlPilot joined #perl6
19:04 tadzik masak: that's due to your amusement :)
19:04 tadzik http://www.reddit.com/r/perl/comments/edgjl/a_w​orking_psgi_app_dispatched_by_perl_6_grammars/
19:05 * colomon is wishes svn had a "stash" command like git's...
19:05 masak tadzik: "awe" is the correct word here. :)
19:05 colomon *wishing, sigh
19:05 tadzik doesn't awe mean fear or something?
19:05 masak colomon: git-svn?
19:05 masak tadzik: it can.
19:06 masak tadzik: but its basic meaning is, I think, "taken aback"-edness.
19:06 colomon masak: didn't work well when I tried it, and massively inconvenient for the job at hand.
19:06 colomon masak: guess I can just make a patch file and then revert....
19:06 masak too bad. git-svn often serves as a lifeline for me.
19:06 PerlJam left #perl6
19:07 PerlPilot left #perl6
19:07 tadzik cosimo_: ping
19:07 PerlJam joined #perl6
19:07 masak moritz_: this is still one of my favorite fallouts from the GGE project: http://rt.perl.org/rt3/Tic​ket/Display.html?id=72440
19:08 tadzik oh, we're to start with the Advent Calendar in the near future. Could anyone proofread my article?
19:08 PerlJam tadzik: sure
19:08 masak alpha: say "1ab2ab3c" ~~ /^ \d ** abc $/ ?? "OH NOES" !! "oh phew"
19:08 p6eval alpha : OUTPUT«OH NOES␤»
19:08 masak perl6: say "1ab2ab3c" ~~ /^ \d ** abc $/ ?? "OH NOES" !! "oh phew"
19:08 p6eval rakudo : OUTPUT«OH NOES␤»
19:08 p6eval ..pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤    unshift @INC, '/home/p6eval/.cabal/share/Pugs-6​.2.13.16/blib6/pugs/perl5/lib';␤    eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** '<HANDLE>' trapped by operat…
19:09 masak nqp-rx still suffers from this bug, it seems.
19:09 nero__ left #perl6
19:10 dukeleto tadzik: 'awe' used to mean that, but has turned around to have a positive connotation in the last few hundred years
19:10 jnthn rakudo: say "1ab2ab3c" ~~ /^ \d ** abc $/ ?? "OH NOES" !! "oh phew"
19:10 p6eval rakudo : OUTPUT«OH NOES␤»
19:11 * masak should use ?? !! and "OH NOES" more often in bug reports :)
19:11 jnthn rakudo: say "1ab2ab3c" ~~ /^ \d ** abc $/
19:11 p6eval rakudo : OUTPUT«1ab2ab3c␤»
19:11 jnthn rakudo: say "1ab2ab3c" ~~ /^ \d ** [abc] $/
19:11 p6eval rakudo : OUTPUT«␤»
19:11 jnthn rakudo: say "1ab2ab3c" ~~ /^ \d ** a $/
19:11 p6eval rakudo : OUTPUT«␤»
19:11 masak rakudo: say "1ab2ab3c" ~~ /^ \d ** [ab] $/
19:11 p6eval rakudo : OUTPUT«␤»
19:12 masak hm.
19:12 jnthn (just trying to work out what it's doing)
19:12 masak jnthn: it's in the RT ticket.
19:12 jnthn I suspect looking at the PAST tree could be revealing...
19:12 jnthn Oh, OK
19:12 PerlPilot joined #perl6
19:13 colomon rakudo: say "1ab2ab3c" ~~ /^ \d ** 'abc' $/
19:13 p6eval rakudo : OUTPUT«␤»
19:13 masak rakudo: say "1ab2ab3c" ~~ /^ \d ** [ab] /
19:13 p6eval rakudo : OUTPUT«1ab2ab3␤»
19:14 masak it works without the $
19:14 masak wonder what that's about.
19:14 tadzik awe is like "WOAH!"?
19:14 masak oh wait.
19:14 masak rakudo: say "1ab2ab3" ~~ /^ \d ** [ab] $/
19:14 p6eval rakudo : OUTPUT«1ab2ab3␤»
19:15 masak oh, of course.
19:15 masak rakudo: say "1ab2ab3c" ~~ /^ \d ** [ab] c $/
19:15 colomon please to explain?
19:15 p6eval rakudo : OUTPUT«1ab2ab3c␤»
19:15 masak rakudo: say "1ab2ab3c" ~~ /^ \d ** abc $/
19:15 p6eval rakudo : OUTPUT«1ab2ab3c␤»
19:15 masak colomon: see http://rt.perl.org/rt3/Tic​ket/Display.html?id=72440 :)
19:16 PerlJam left #perl6
19:16 masak people, help me with this one: http://twitter.com/JoeCanna​tti/status/9324306970451968
19:16 masak it's wonderful to get such tweets.
19:17 masak what's the number one things I should throw at him?
19:17 masak he wants to be awed :)
19:17 masak advent calendar? book?
19:17 masak something else?
19:18 tadzik hmm
19:18 tadzik advent calendar is nice. Or moritz's Perl 5 to 6, if he's a Fiver
19:18 masak not sure he is.
19:18 tadzik anyway, a "Cool Perl 6" blog or series is a nice thing to have
19:18 tadzik for such folks
19:18 moritz_ or point him to a working, nice grammar
19:19 tadzik . o O ( perl6isawesome.wordpress.com )
19:19 masak tadzik: :)
19:19 tadzik it could be an aggregator, or just publically writable blag where we could post some Awe-making things
19:19 tadzik with an educational value. Who's with me?
19:20 sorear good * #perl6
19:20 tadzik good * sorear
19:20 * masak recommends p6advent, p5->p6, book, and the setting
19:20 dalek niecza: 0303fed | sorear++ | v6/tryfile:
19:20 dalek niecza: Do a bit of CSE in STD.ws
19:20 dalek niecza: review: https://github.com/sorear/niecza/commit/0303fedfd6
19:20 dalek niecza: bf85a66 | sorear++ | / (2 files):
19:20 dalek niecza: merge back .suppose fix
19:20 dalek niecza: review: https://github.com/sorear/niecza/commit/bf85a664ff
19:22 masak shopping &
19:22 tadzik the setting?
19:22 masak src/core
19:29 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/perl​6/index.cgi?perl_6_variable_tablet
19:29 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/p​erl6/index.cgi?perl_6_io_tablet
19:31 thelazydeveloper left #perl6
19:37 risou left #perl6
19:39 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_index_tablet
19:40 rainerschuster joined #perl6
19:48 TimToady http://rosettacode.org/wiki/Category:Perl_6 is also a good place to point people if you don't know what language they're coming from
19:50 TimToady .oO(The main difference between Perl 5 and Perl 6 is that when you golf Perl 6, it usually gets *more* readable.)
19:52 colomon TimToady++
19:58 cosimo_ tadzik: still there?
19:59 tadzik cosimo_: yeah
19:59 tadzik Facter doesn't work for me
20:00 cosimo_ tadzik: doesn't work as in?
20:00 cosimo_ make test?
20:02 cosimo_ is now known as cosimo
20:03 alester joined #perl6
20:05 dalek mu: 0808670 | duff++ | misc/perl6advent-2010/topic-brainstorming:
20:05 dalek mu: Add some topics of my own
20:05 dalek mu: review: https://github.com/perl6/mu/commit/0808670986
20:06 Hor|zon joined #perl6
20:07 * masak points the gentletwitterer to http://rosettacode.org/wiki/Category:Perl_6
20:07 tadzik cosimo: e.g.
20:08 tadzik cosimo: http://wklej.org/id/428495/
20:18 masak nom &
20:18 masak left #perl6
20:20 XaRDaX joined #perl6
20:33 plainhao left #perl6
20:33 hercynium rakudo: 10.2 - 10.1
20:33 p6eval rakudo :  ( no output )
20:33 hercynium rakudo: say 10.2 - 10.1
20:33 p6eval rakudo : OUTPUT«0.1␤»
20:33 hercynium \o/
20:34 hercynium (was just curious about something)
20:35 jnthn .oO( 3 years of compiler development and people are curious whether it can do basic arithmetic correctly yet... ;-) )
20:36 moritz_ a valid question
20:37 muixirt rakudo: say 43**3
20:37 p6eval rakudo : OUTPUT«79507␤»
20:40 muixirt hmm, what does this preciely do? perl6 -e 'say 43**3'
20:40 hercynium on #perl someone was having an issue with that exact calculation on Perl5 and I wanted to let them know Perl6 handles such vagaries correctly :)
20:41 jnthn hercynium: Oh...floating point fun? :)
20:41 BinGOs meh.
20:41 hercynium yep
20:41 jnthn heh :)
20:41 sorear Is mentioneing Perl6 on #perl a kicking offense?
20:41 sorear +n't
20:41 * diakopter doubts it
20:41 hercynium possibly :)
20:41 BinGOs where did that notion come from ?
20:42 diakopter (but I wouldn't test it, b/c the attitude of "testing it" would be detected and be a kicking offense)
20:42 * diakopter doesn't know
20:42 BinGOs Doubt it, as I appear to be the only active op currently.
20:48 colomon rakudo: say 10.2.Num - 10.1.Num
20:48 p6eval rakudo : OUTPUT«0.0999999999999996␤»
20:48 colomon ooooo
20:49 sorear rakudo: say 10.2e0 - 10.1e0
20:49 p6eval rakudo : OUTPUT«0.0999999999999996␤»
20:50 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_index_tablet
20:56 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_index_tablet
20:59 frodwith_ is now known as frodwith
21:02 nadim_ left #perl6
21:11 fhelmberger left #perl6
21:15 ggoebel left #perl6
21:16 muixirt in a directory with a file named HLL.pir in it perl6 refuses to work, why exactly?
21:17 dalek tpfwiki: (Herbert Breunung)++ | http://www.perlfoundation.org/per​l6/index.cgi?perl_6_index_tablet
21:18 sorear muixirt: http://trac.parrot.org/parrot/ticket/1589
21:21 alester left #perl6
21:23 muixirt sorear: sorry for coming up with an old issue
21:24 sorear it's not your fault they haven't gotten tuits to fix it
21:25 muixirt quite a lot files to avoid
21:33 sorear is p6a moderated?
21:35 moritz_ yes
21:35 moritz_ well
21:35 moritz_ all p6. lists are anti-spam moderated
21:36 moritz_ which means that the first of your mails to that list waits for human approval
21:36 sorear I guess it's because I haven't posted to p6a before
21:38 * diakopter has forgotten what p6a is
21:38 moritz_ perl6-announce
21:38 TypeNameHere____ left #perl6
21:41 nadim_ joined #perl6
21:41 zostay joined #perl6
21:43 Guest27466 joined #perl6
21:45 am0c left #perl6
21:52 ash_ joined #perl6
21:53 cosimo tadzik: mmh
21:55 cosimo weird
21:56 ash_ rakudo: token foo { 'ab' }; say 'ab' ~~ /<ab>/;
21:56 p6eval rakudo : OUTPUT«Useless declaration of has-scoped token in a module; add our or my to install it in the lexpad or namespace␤Method 'ab' not found for invocant of class 'Cursor'␤  in <anon> at line 22:/tmp/bKhh90OvG8␤  in 'Cool::match' at line 2509:CORE.setting␤  in 'Regex::ACCEPTS' at line 6016:CO…
21:56 ash_ what am i doing wrong there? i thought thats how you were supposed to do that, but i guess not?
21:58 jnthn rakudo: my token foo { 'ab' }; say 'ab' ~~ /<&ab>/;
21:58 p6eval rakudo : OUTPUT«Could not find sub &ab␤  in <anon> at line 22:/tmp/stEnl7B0U8␤  in 'Cool::match' at line 2509:CORE.setting␤  in 'Regex::ACCEPTS' at line 6016:CORE.setting␤  in main program body at line 22:/tmp/stEnl7B0U8␤»
21:58 jnthn rakudo: my token foo { 'ab' }; say 'ab' ~~ /<&foo>/; # even :)
21:58 p6eval rakudo : OUTPUT«ab␤»
21:59 jnthn ash_: They're methods so has-scoped by default.
21:59 ash_ ah, there you go
21:59 ash_ hmm, got ya
21:59 PerlPilot jnthn: but only for named tokens, rules, and regex
22:00 am0c joined #perl6
22:00 jnthn PerlPilot: Well, yes, if there's no name, it wont be installed anywhere. :)
22:01 jnthn That's symmetric with anon methods too though.
22:01 PerlPilot left #perl6
22:01 ash_ LTM is confusing me...
22:01 PerlJam joined #perl6
22:02 ash_ rakudo: say 'abcd' ~~ / 'ab' | 'abcd' /;
22:02 p6eval rakudo : OUTPUT«ab␤»
22:02 ash_ why doesn't that match 'abcd' ?
22:02 ash_ isn't abcd longest?
22:02 PerlJam | isn't implemented properly yet
22:02 PerlJam it's the same as || now
22:02 ash_ ah
22:03 ash_ pugs: say 'abcd'  ~~ /ab|abcd/;
22:03 p6eval pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤    unshift @INC, '/home/p6eval/.cabal/share/Pugs-6​.2.13.16/blib6/pugs/perl5/lib';␤    eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** '<HANDLE>' trapped by operat…
22:03 ash_ hmm
22:03 ash_ is pugs broken?
22:03 ash_ pugs: say 1
22:03 p6eval pugs: OUTPUT«1␤»
22:03 ash_ nope, guess it just doesn't like my regex
22:04 ash_ but, if things were implemented fully 'abcd' ~~ /ab|abcd/ would match abcd?
22:04 jnthn Yes
22:05 ash_ S05-metasyntax/longest-alternative.t is wrong btw, it does token foo { }; without my/has and doesn't use &
22:07 ash_ does the regex engine generate a DNF currently?
22:08 PerlJam generate a Duke Nukem Forever?  :-)
22:08 ash_ would be awesome
22:09 ash_ http://en.wikipedia.org/wiki/D​eterministic_finite_automaton
22:09 PerlJam that would be a DFA
22:09 PerlJam (as opposed to an NFA)
22:09 ash_ oops, lol my bad
22:10 dalek niecza: 6cd5303 | sorear++ | v6/README:
22:10 dalek niecza: [v6] Add a tiny README
22:10 dalek niecza: review: https://github.com/sorear/niecza/commit/6cd530395f
22:10 dalek niecza: 3f34bbc | sorear++ | / (7 files):
22:10 dalek niecza: Overhaul storage of simple boxed values
22:10 dalek niecza:
22:10 dalek niecza: my $x = 5; now allocates 12 words between 2 objects instead of 20 words
22:10 dalek niecza: between 4 objects.  If you want to ignore the 6 word, 1 object overhead
22:10 dalek niecza: of the container it's even bigger.
22:10 dalek niecza: review: https://github.com/sorear/niecza/commit/3f34bbc7bd
22:10 sorear niecza: say "abcd" ~~ /ab|abcd/; # ash_
22:10 p6eval niecza bf85a66: OUTPUT«␤»
22:10 sorear hmm
22:10 sorear niecza: say $( "abcd" ~~ /ab|abcd/ )
22:10 p6eval niecza bf85a66: OUTPUT«abcd␤»
22:11 ash_ neat, sorear++
22:11 sorear my ~~ returns a list of the positional captures, so that my ($a, $b) = "ab" ~~ /(.)(.)/; will work
22:11 sorear /ab|abcd/ has no positional captures, so it returns nothing in list context
22:11 sorear which is what say() provides
22:12 ash_ rakudo: my ($a, $b) = "ab" ~~ /(.)(.)/;  #wonder what rakudo does here...
22:12 p6eval rakudo :  ( no output )
22:12 ash_ err
22:12 ash_ my ($a, $b) = "ab" ~~ /(.)(.)/; say $a, $b;
22:12 ash_ rakudo: my ($a, $b) = "ab" ~~ /(.)(.)/; say $a, $b;
22:12 sorear ash_: Perl 6 regexes are based on PEGs, not DFAs
22:12 p6eval rakudo : OUTPUT«abAny()␤»
22:13 sorear Perl 6 might provide a DFA/NFA engine, but it won't be accessed using unrestricted regex syntax
22:14 sorear TimToady: ping
22:15 ash_ hmmm i would of figured a DFA was an efficient way of implementing a regex, but i am not exactly sure how PEG's relate to DFA/NFA's
22:21 arnsholt ash_: Remember that Perl 6 regexes are more powerful than regular expressions
22:21 arnsholt IIRC PEG grammars are a superset of context-free grammars
22:21 arnsholt Which is simply impossible to handle using FSAs
22:23 ash_ why? which functionality is out of the capabilities of FSA?
22:23 ash_ or rather, why can't a PEG be expressed in terms of FSA
22:23 TimToady matching $0, for instance
22:23 TimToady sorear: pong
22:25 ash_ $0 as in the first capture?
22:25 TimToady PEG is agnostic to the rules by which it disambiguates; Perl 6 happens to use LTM as one of its criterion, and defines the declarative head of an expression such that it can generally be done with FSA if you choose to implement it that way
22:25 TimToady nod
22:25 TimToady various things (defined in S05) kick you out of declarative mode into procedural mode, and matching $0 is one of those
22:26 TimToady the hope is that the transition from declarative to procedural can largely be managed transparently to the user's concerns
22:26 ch3ck3r joined #perl6
22:26 TimToady though you can always use a closure or :: to force procedural
22:30 sorear TimToady: #1 - a match like if $foo ~~ /a.*b.*c/ { } could be done entirely using a FSA, if $/ can be proven unused and the match is in an obvious boolean context.  Is this an optimization we want to make or should there be a different interface?  I don't like fragile optimizations
22:30 ch3ck left #perl6
22:30 sorear TimToady: #2 - say "foo" ~~ /oo/ # No output, because /oo/ has no positional captures and thus the match returns nothing in list context.  Correct?
22:30 sorear TimToady: #3 -
22:31 sorear perl6: my $f = sub ($x) { say "One" }; $f($f = sub ($x) { say "Two" });
22:31 p6eval pugs: OUTPUT«One␤»
22:31 p6eval ..rakudo : OUTPUT«Two␤»
22:32 ash_ lol
22:32 ash_ thats pretty odd
22:32 wamba left #perl6
22:32 ash_ but i guess the difference is when the assignment happens (before or after the invocation)
22:33 TimToady #3 is probably just Undefined Behavior
22:33 ash_ does precedence factor into order of operations?
22:34 TimToady not there
22:35 TimToady #2 could arguably return the whole match in that case
22:35 TimToady currently unspecced though
22:37 TimToady on #1, the question is not whether to use FSA (we might do that there in any case), but whether to do the extra work to build a generic $/
22:38 TimToady so the interesting question is how much we can determine that $/ is unwanted
22:40 ash_ can you determine that? or should the programmer say its unwanted somehow?
22:41 sorear If /a.*b/ is matched with a DFA, then we need to rematch it with a PEG when $/.to is accessed
22:41 TimToady most DFAs can tell you the .to already
22:41 sorear Which is worse than just using the PEG to begin with
22:42 sorear Maybe .from would have been better, huh
22:43 TimToady depends on whether you're relying on an outer scanner to find the 'a'
22:44 TimToady which can often run faster than a DFA if it's BMable
22:44 TimToady (no help with a single char like 'a' though)
22:45 sorear aaaa BM I need to learn so much more about regex theory
22:45 TimToady ((outside of a pre-studied string with an inverted index into character locations)
22:45 sorear not to be confused with regular expression theory
22:45 sorear how does study work?
22:46 TimToady just that, it builds a linked list of all the 'a's, all the 'b's, etc
22:46 TimToady then it looks for the rarest letter in the search string, 'k', say, and only looks in those locations
22:46 TimToady where rarest is assuming some language skew such as English
22:47 TimToady I suppose one could do a dynamic calculation to pick the shortest linked list
22:48 TimToady the overhead of that might amortize well over a longer string
22:48 TimToady but study really only helps if you're going to search the same string many times
22:48 TimToady otherwise inverting the index doesn't get you anything
22:49 TimToady BM is worth using on a one-shot string, though
22:49 TimToady unless you're searching for something like 'aaaaaa'
22:50 TimToady well, maybe it can help there too
22:51 ash_ what do you mean by BM?
22:51 ash_ google is failing me there
22:51 TimToady since mismatching an 'a' lets you advance 6 chars, if you're willing to back up 5 on first 'a' that actually does match
22:52 TimToady otoh, how this interacts with NFG will be an "interesting" subject
22:52 TimToady or even NFC
22:52 TimToady (with utf-8 we usually do BM is byte-oriented anyway)
22:52 TimToady s/is/as/
22:54 diakopter ash_: Boyer-Moore
22:55 TimToady one of the reasons Perl 5 can do a lot of scanning rapidly is that it often uses Boyer-Moore (or variants) to avoid calling the regex engine at all
22:56 ash_ okay, thanks, i'll see if i can find more info on that
22:56 flussence I remember reading something about grep that mentioned that...
22:57 flussence supposedly they use all kinds of bizarre tricks in that program for the sake of speed
22:58 ash_ i have always wondered how some perl string things are so fast, like ack being able to parse a large number of files and find a simple string very effectively, its always amazing to me how quickly that returns
22:58 TimToady even when only the first character is known, it still scans outside the regex engine
22:58 TimToady that would mostly be the fault of BM
22:58 TimToady the longer the search term, the more benefit you get from it
22:59 sorear right now niecza only has a PEG engine.  I need to understand stuff better in order to usefully fix this
23:00 sorear PEG suffices for grammars, but STD has some tests like in getsig, $name ~~ /^(\$|\@|\&|\%)\:\w/
23:01 sorear that regex is incredibly slow atm
23:03 dju left #perl6
23:04 dju joined #perl6
23:06 XaRDaX left #perl6
23:08 TimToady nap&
23:12 flatwhatson joined #perl6
23:19 _kaare left #perl6
23:21 whiteknight joined #perl6
23:22 masak joined #perl6
23:22 masak ahojte!
23:22 masak blog post! http://strangelyconsistent.org/blog/no​vember-29-2010-some-kind-of-resolution
23:23 sjohnson don ahojte
23:23 masak yep. I'm done tilting windmills for the night.
23:25 sorear hello masak!
23:25 masak someone gives chromatic's "Modern Perl" book low grades because it doesn't have any Perl 6 in it: http://twitter.com/chromati​c_x/status/9340263218552832
23:25 hercynium left #perl6
23:25 masak sorear: hi! congrats on the release!
23:25 masak sorear++
23:26 dalek roast: 4cb303e | (Kodi Arfer)++ | S04-statements/terminator.t:
23:26 dalek roast: [S04-statements/terminator.t] Added a test for RT #79964.
23:26 dalek roast: review: https://github.com/perl6/roast/commit/4cb303effa
23:26 sjohnson cool
23:29 masak rakudo.org down: http://downforeveryoneorjus​tme.com/http://rakudo.org/
23:31 sorear I need to figure out releases in general
23:32 Tene masak: four-colour theorem is that no more than four will be required.  That's not really relevant for that image...
23:32 masak Tene: it was a (weak) attempt at humor.
23:33 Tene masak: Ah.  Sorry.  I've got my humour process stopped today to free up ram.
23:33 masak :)
23:34 masak Tene: happy news, though: 'make test' in Web.pm only turns up two unexpectedly passing TODO tests.
23:34 Tene masak: That's great to hear.
23:34 masak the rest of the failing tests have been tucked away beneath todo or skip annotations.
23:34 Tene You're making a branch to start migration to master, then?
23:35 masak nah, I'm doing the last bit of stuff required to wrap up the grant.
23:35 masak THEN I'm making the branch :)
23:35 masak feel free to make a branch before that, if you like.
23:36 muixirt left #perl6
23:36 masak by the way, am I the first person to notice the totally brain-dead API of Test.pm? 'multi sub todo($reason, $count)' but 'multi sub skip($count, $reason)'. wtf?
23:36 masak I volunteer to simultaneously fix the whole spectest suite and Test.pm to make that brain damage go away.
23:36 sorear Test.pm is pretty brain dead in general
23:36 masak and the fudge machine.
23:37 sorear I say, don't use anything but plan(Int) and ok(Bool,Str)
23:37 masak I think Test.pm could benefit from a wee bit of committee design.
23:37 masak just a tiny bit.
23:38 sorear Test.pm is four mutually incompatible modules with the same name, all loosely based on Perl 5's Test::More
23:38 masak sorear: but that (using just those two subs) is clearly a personal guideline of yours, and not a recommendation from the people who co-wrote Test.pm :)
23:39 sorear I wrote one of the four!
23:39 masak I like the idea of Perl 6 providing a bit more than Perl 5. but I don't like when the extra bits are brain-damaged.
23:39 masak maybe it's time to standardize Test.pm, then.
23:39 sorear &todo and &skip aren't extra bits
23:39 masak if it's in the spec, we *have* to do it right, no?
23:39 sorear yes
23:40 sorear standardizing Test would be a good idea
23:40 ash_ it would be nice to have a standardized Test
23:41 masak the leader of such a project would have to be utterly sane, free of corruption, and a sincere, humble character. I nominate myself.
23:41 masak :P
23:41 * ash_ seconded
23:41 sorear I second masak
23:41 masak wow.
23:42 ash_ skip 5, "they don't parse yet" vs skip "they don't parse yet", 5;
23:42 masak :(
23:42 ash_ todo "they don't parse yet", 5; vs todo 5, "they don't parse yet"
23:42 sftp left #perl6
23:42 ash_ those seem very ambiguous to me
23:42 risou joined #perl6
23:42 masak I must confess that the Int-first forms are obvious to me.
23:43 masak skip $n, $reason?
23:43 masak todo $n, $reason?
23:43 ash_ skip *, "i don't wana tell you"
23:43 masak that's not a real use case, sorry :)
23:43 ash_ you can't skip whatever?
23:43 masak see "utterly sane" above :P
23:43 sorear I'd like an API that can be implemented with very few implementation features
23:44 masak well, it could mean Inf or something, I guess.
23:44 masak sorear: yes, that's a good goal.
23:44 sorear no object oriented nonsense
23:44 ash_ what if it meant, skip until one passes, then pick it backup?
23:44 masak sorear: right.
23:44 masak sorear: which basically means globals or dynamic vars instead.
23:44 masak sorear: which do you prefer?
23:44 ash_ plan, is, okay, skip, todo?
23:45 Hor|zon no OO does mean globals lol
23:45 sorear masak: for what are you thinking of using dynamic vars?
23:45 masak ash_: &skip means "don't run". it is accompanied by commented-out code.
23:45 masak sorear: for the state implicitly carried around in Test.pm
23:45 Hor|zon not*
23:46 masak sorear: number of tests passed/run so far, number of tests to skip, etc.
23:46 sorear masak: I'd prefer to spec an API - people trying to boostrap very restrictive environments will have to rewrite Test.pm anyway
23:46 masak ash_: so "until one passes" doesn't work, since the commented-out tests never run.
23:47 masak sorear: agreed.
23:47 ash_ $*tests-passed; $*tests-skipped; $*tests-run; $*tests-failed; # redundant, but lets you not have to re-calc
23:47 sorear it'd be better if there were no exported globals
23:47 sorear we could have a get_tests_passed
23:47 masak no need for exported globals as far as I can see.
23:47 rainerschuster left #perl6
23:47 masak sorear: yes, but why?
23:48 ash_ masak: makes sense, i was thinking of a function that told the next N tests to just not report success/failure, not commenting them out
23:48 masak ash_: right. &todo does something like that.
23:49 masak ash_: it still reports "ok"/"not ok", but it also adds a '# TODO' comment.
23:49 masak ash_: that way, the harness knows which ones were expected fails and which ones were unexpected successes.
23:49 masak all these things are (I guess) part of TAP and not to be tampered with.
23:50 sorear masak: Test::More lets you instantiate a local Test::Builder object for running nested test suites
23:50 sorear that's hard to do if the API specs direct access to globals
23:50 sorear also, exporting variables is a feature that we don't need to depend on
23:51 masak right. but why would the API spec direct access to its globals?
23:51 masak I think I'm missing something more basic here.
23:51 masak isn't Test.pm basically a state machine that can keep all its state hidden?
23:51 sorear masak: Sorry, I thought you were proposing direct global access
23:51 masak no, and you already convinced me that we should stay out of deciding how the internal state is to be done.
23:52 masak that's up to the implementor; the spec's job is to provide a sane API.
23:52 sorear I need to go soon - it would be a very good idea to get Schwern and/or ingy involved in this
23:52 masak indeed.
23:53 masak single comment on tadzik++'s proggit thread is disappointing: http://www.reddit.com/r/perl/comments/edgjl/a_w​orking_psgi_app_dispatched_by_perl_6_grammars/
23:57 ash_ nifty article, i missed it earlier
23:57 masak I was figuratively blown away by it.

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

Perl 6 | Reference Documentation | Rakudo