Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-06-23

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:07 ghgah joined #perl6
00:08 ghgah left #perl6
00:08 kanishka joined #perl6
00:29 icwiener left #perl6
00:38 impious left #perl6
00:42 cotto joined #perl6
00:44 cognominal lichtkind, appropriately, LoL is acceptable in camelcase.
00:44 ggoebel left #perl6
00:44 lichtkind alrright &sleep anyhow
00:44 lichtkind left #perl6
00:49 ggoebel joined #perl6
01:04 noganex_ left #perl6
01:06 noganex joined #perl6
01:08 cotto left #perl6
01:12 tokuhir__ joined #perl6
01:13 mjhsieh joined #perl6
01:14 mjhsieh left #perl6
01:15 tokuhirom left #perl6
01:21 woosley joined #perl6
01:31 tokuhir__ left #perl6
01:36 tokuhirom joined #perl6
01:37 tokuhirom left #perl6
01:51 [particle] left #perl6
01:52 [particle] joined #perl6
01:54 whiteknight left #perl6
02:19 dju left #perl6
02:19 dju joined #perl6
02:24 jaldhar left #perl6
02:25 jaldhar joined #perl6
02:26 kanishka left #perl6
02:41 kanishka joined #perl6
02:44 alyx is now known as alyxxx
03:08 cotto joined #perl6
03:10 Chillance left #perl6
03:25 Su-Shee left #perl6
03:28 Su-Shee joined #perl6
03:33 jtpalmer left #perl6
03:33 cooper left #perl6
03:33 jtpalmer joined #perl6
03:39 molaf joined #perl6
03:41 satyavvd joined #perl6
03:51 cooper joined #perl6
03:57 donri left #perl6
04:01 envi joined #perl6
04:01 cotto left #perl6
04:30 molaf left #perl6
04:34 REPLeffect left #perl6
04:36 REPLeffect joined #perl6
04:37 wolfman2000 left #perl6
04:39 wolfman2000 joined #perl6
04:44 saaki left #perl6
04:44 saaki joined #perl6
04:45 wamba joined #perl6
04:50 jaldhar left #perl6
04:53 jaldhar joined #perl6
04:54 cotto joined #perl6
05:02 wamba left #perl6
05:02 jdhore1 I'm working on releasing Rakudo #42 as we speak
05:04 Bzek joined #perl6
05:09 koban joined #perl6
05:11 Grrrr left #perl6
05:14 REPLeffect left #perl6
05:15 szabgab joined #perl6
05:16 _patch_ is now known as _patch
05:16 estrabd left #perl6
05:17 _patch is now known as npatch
05:22 bakedb joined #perl6
05:25 birdwindupbird joined #perl6
05:28 REPLeffect joined #perl6
05:29 wolfman2000 left #perl6
05:37 REPLeffect left #perl6
05:39 eternaleye_ is now known as eternaleye
05:49 REPLeffect joined #perl6
05:50 dalek rakudo: 4f47105 | jdhore++ | docs/announce/2011.06:
05:50 dalek rakudo: Update 2011.06 announcement with the releasename and another Douglas Adams reference.
05:50 dalek rakudo: review: https://github.com/rakudo/rakudo/commit/4f4710590f
05:50 dalek rakudo: 70c5ca4 | jdhore++ | docs/release_guide.pod:
05:50 dalek rakudo: Update release_guide.pod for 2011.06 release.
05:50 dalek rakudo: review: https://github.com/rakudo/rakudo/commit/70c5ca49e2
05:50 dalek rakudo: b2bc994 | jdhore++ | VERSION:
05:50 dalek rakudo: [release] bump VERSION
05:50 dalek rakudo: review: https://github.com/rakudo/rakudo/commit/b2bc994069
05:52 jdhore1 Rakudo Douglas Adams is released
05:54 jdhore1 Did i say in here why I chose Bruxelles?
06:03 kanishka left #perl6
06:05 sorear no
06:07 moritz yes
06:15 cooper left #perl6
06:15 buubot_backup left #perl6
06:15 REPLeffect left #perl6
06:17 bbkr_ left #perl6
06:18 REPLeffect joined #perl6
06:18 cooper joined #perl6
06:18 cooper left #perl6
06:18 cooper joined #perl6
06:18 cooper left #perl6
06:18 cooper joined #perl6
06:18 cooper left #perl6
06:18 cooper joined #perl6
06:18 cooper left #perl6
06:18 cooper joined #perl6
06:18 bbkr_ joined #perl6
06:18 cooper left #perl6
06:18 cooper joined #perl6
06:18 cooper left #perl6
06:19 cooper joined #perl6
06:21 bakedb left #perl6
06:39 buubot_backup joined #perl6
06:41 wamba joined #perl6
06:44 buubot_backup left #perl6
07:02 REPLeffect left #perl6
07:07 buubot_backup joined #perl6
07:08 mj41 joined #perl6
07:10 sorear ah.
07:13 moritz http://www.urbandictionary.com/define.php?term=belgium
07:15 moritz hm no
07:16 moritz According to Douglas Adams in his HITCH-HIKER'S GUIDE TO THE GALAXY series, the worst possible curse word in the universe. Its use is inexcusably rude.
07:16 cognominal left #perl6
07:16 jdhore1 moritz, Yep
07:16 jdhore1 Well, it was more specifically only in Restaurant at the ned of the universe IIRC
07:16 Su-Shee douglas adams references? not again..
07:17 jdhore1 https://secure.wikimedia.org/wikipedia/en/wiki/Life,_the_Universe_and_Everything#Censorship
07:17 jdhore1 I was close...
07:17 jdhore1 Su-Shee, for Rakudo #42? How Could I possibly not?
07:17 cognominal joined #perl6
07:18 bakedb joined #perl6
07:19 moritz Su-Shee: it's the same reference as the last time we discussed it :-)
07:21 REPLeffect joined #perl6
07:24 jdhore1 did you like my towel reference in the announcement?
07:24 * sorear -> sleep
07:33 TimToady http://rosettacode.org/wiki/Soundex#Perl_6, another example of using take from within a pattern matcher
07:43 Shozan joined #perl6
07:43 REPLeffect left #perl6
07:53 moritz that's kinda scary-ish
07:57 REPLeffect joined #perl6
08:06 wamba left #perl6
08:07 wamba joined #perl6
08:14 proller_ joined #perl6
08:14 proller joined #perl6
08:14 proller_ left #perl6
08:26 bakedb left #perl6
08:40 bakedb joined #perl6
08:44 kanishka joined #perl6
08:49 mberends joined #perl6
08:54 dakkar joined #perl6
08:56 daniel-s joined #perl6
09:03 wamba left #perl6
09:06 sivoais joined #perl6
09:12 dayangkun joined #perl6
09:13 dual left #perl6
09:20 woosley left #perl6
09:25 Grrrr joined #perl6
09:27 cooper left #perl6
09:33 dayangkun left #perl6
09:39 _twitch joined #perl6
09:51 REPLeffect left #perl6
10:04 REPLeffect joined #perl6
10:09 kboga left #perl6
10:18 MayDaniel joined #perl6
10:24 kanishka left #perl6
10:39 proller left #perl6
10:51 proller joined #perl6
10:51 proller left #perl6
10:54 proller joined #perl6
11:01 icwiener joined #perl6
11:16 skangas_ joined #perl6
11:16 skangas left #perl6
11:16 skangas_ is now known as skangas
11:20 mtk joined #perl6
11:23 MayDaniel left #perl6
11:28 wamba joined #perl6
11:35 jaldhar left #perl6
11:36 jaldhar joined #perl6
11:51 jaldhar left #perl6
11:52 satyavvd left #perl6
12:02 takadonet morning all
12:04 REPLeffect left #perl6
12:07 Util left #perl6
12:07 Util joined #perl6
12:07 chris99 left #perl6
12:07 wamba left #perl6
12:08 chris99 joined #perl6
12:08 orafu left #perl6
12:08 orafu joined #perl6
12:09 mberends morning takadonet
12:15 woosley joined #perl6
12:16 woosley left #perl6
12:19 Chillance joined #perl6
12:22 jimmy1980 joined #perl6
12:26 tadzik morning takadonet, mberends
12:26 jaldhar joined #perl6
12:26 mberends o/
12:33 Holy_Cow joined #perl6
12:33 wolfman2000 joined #perl6
12:33 jaldhar left #perl6
12:34 jaldhar joined #perl6
12:42 prammer left #perl6
12:44 prammer joined #perl6
12:54 Shozan left #perl6
13:13 Holy_Cow left #perl6
13:13 daniel-s https://github.com/daniel-s/Elo-Calculator
13:13 daxim joined #perl6
13:14 daniel-s what do I need to do to add that to the ecosystem?
13:15 _twitch left #perl6
13:18 tadzik ask me :)
13:18 tadzik also, making it spec-conformant is a plus
13:19 tadzik daniel-s: see https://github.com/perl6/ecosystem/blob/master/spec.pod
13:19 tadzik you can copypaste some of the existing META.info files and adjust it for your module
13:19 proller left #perl6
13:20 tadzik having tests would be nice too
13:27 mberends .oO( Electric Light Orchestra? )
13:39 arnsholt Chess score
13:40 arnsholt Or, ranking score
13:42 frettled It's a pretty nice system for keeping a relative, floating ranking.
13:42 frettled (for one-on-one sports)
13:57 pmichaud good morning, #perl6
13:58 PerlJam pmichaud: guten Tag
14:02 koban left #perl6
14:07 donri joined #perl6
14:08 colomon o/
14:14 pmichaud "...and don't forget your towel!"    jdhore++
14:16 daniel-s all of the module tests use "use Test"
14:16 daniel-s is Test a builtin module?
14:16 moritz yes
14:24 takadonet why why!!! : http://blogs.perl.org/users/alberto_simoes/2011/06/perl-perl-5-perl-6-and-names.html
14:26 kaare_ joined #perl6
14:26 moritz ambs doesn't think high of Perl 6, and has made that known for quit some time
14:28 takadonet the issue keeps arising
14:29 estrabd joined #perl6
14:31 mberends left #perl6
14:34 moritz and it all boils down to how narrow or wide you define what "Perl" is
14:35 thou joined #perl6
14:40 ab5tract joined #perl6
14:43 donri as an outsider i have to say i sorta agree with the guy
14:44 moritz I "sorta" agree too
14:44 moritz I think it would make sense to rename things, under a few conditions
14:44 moritz 1) we find good new names for Perl 5 and Perl 6
14:45 moritz 2) we rename both at the same time
14:46 moritz 3) we reach a rough consensus over big parts of the community
14:46 donri i don't see why perl 5 has to be involved at all, that's sorta my point
14:47 estrabd left #perl6
14:47 donri "perl 6" is more a new language than an evolution of perl 5
14:47 moritz but it's still an evolution of Perl
14:47 moritz so I don't see why Perl 6 should give up the claim of the Perl name, while Perl 5 does not
14:48 donri shrug
14:48 pernatiy joined #perl6
14:48 TimToady maybe we should call it Perl: A New Hope
14:49 donri my general experience has been that hardcore perl fivers aren't usually very fond of perl 6 whereas perl 5 "haters" associate the perl name negatively
14:49 moritz well, how would you feel if your family told you to stop using "their" name (which is yours just as well)?
14:49 donri so, bad marketing either way
14:50 colomon Maybe we could rebrand as a new language and dodge the "ten years late" talk.  :)
14:50 donri (personally, perl 6 has made me respect and realise the strengths of perl 5)
14:50 donri colomon: that too :P
14:50 donri it takes some ten years for a new language to mature
14:51 donri TimToady: or "esperanto": "he who hopes" ;)
14:53 arnsholt Oh, that's what esperanto means! (d'uh)
14:53 arnsholt I never made the connection
14:53 donri well, "doktoro esperanto"
14:53 donri and "one who hopes"
14:54 arnsholt (Of course, it's sperare in Latin. Damned epenthetic 'e's!)
14:59 TimToady purrl
15:00 satrac joined #perl6
15:03 xinming left #perl6
15:06 wamba joined #perl6
15:10 spq1 joined #perl6
15:15 sorear good * #perl6
15:16 colomon \o
15:16 JimmyZ_ joined #perl6
15:17 sorear TimToady: ugh.  does that work on niecza?
15:17 TimToady dunno
15:17 sorear TimToady: (soundex)
15:17 TimToady no .trans
15:18 sorear even if .trans were added... niecza uses gather/take internally to handle regex backtracking
15:18 TimToady this is a problem
15:19 TimToady perhaps gather/take should be defined lexotically
15:20 sorear I suppose it would work in this case, since ~~ never backtracks into the regex
15:23 TimToady and no .fmt
15:23 TimToady other than those, it seems to work okayish
15:28 TimToady if we don't make it lexotic, we'll have to rename the one used by internals so as not to conflict, but I think lexotic is probably better
15:29 TimToady otoh, forcing all the takes inside the gather is a bit problematic for splitting out a set of subs
15:29 TimToady you almost want to bind each take to the last gather *compiled* whether or not it's in this scope
15:29 TimToady but that's error prone too
15:32 TimToady lexotic is about as good as we can do without resorting to labels
15:32 mj41 left #perl6
15:46 daniel-s left #perl6
15:46 cotto left #perl6
15:49 pothos is now known as pothos_
15:49 pothos_ is now known as pothos
15:50 mtk left #perl6
15:51 dalek specs: b4e7bc1 | larry++ | S04-control.pod:
15:51 dalek specs: gather/take is lexotic with dynamic fallback
15:51 dalek specs:
15:51 dalek specs: We have to allow for implementations and libraries to use gather/take
15:51 dalek specs: internally.  To preserve the sanity of the user in such cases,
15:51 dalek specs: we need gather/take to behave lexotically, so that if you use take
15:51 dalek specs: in the lexical scope of a gather, it always goes to *that* gather,
15:51 dalek specs: even if the take is inside a closure that is passed into the scope
15:51 dalek specs: of another gather.
15:51 dalek specs: review: https://github.com/perl6/specs/commit/b4e7bc1638
15:52 TimToady (that may also help with certain optimizations)
15:52 mtk joined #perl6
15:53 TimToady (if you can just push to a lexically known location instead of chasing up the dynamic stack)
15:58 sorear TimToady: could Soundex be written using .trans(/ <[ bpfv ]>+ / => '1', ..., / . / => '') instead?
15:58 mberends joined #perl6
15:58 sorear I've thought in the past about a variant of trans that returns a list rather than a string
15:58 * PerlJam likes how TimToady's commit message is longer than the change in the commit.
15:58 sorear call it 'nibble' maybe
15:59 sorear it would subsume both trans and comb
16:00 PerlJam TimToady: I believe I know what you mean, but could you expand on "visible outer gather" a little bit?  Particularly what "visible" means.
16:02 PerlJam TimToady: I mean, I believe I know what you mean only because I also read your commit message.
16:03 TimToady well, you might have to see the definition of "lexotic" in S04:52
16:03 sorear rakudo: say [lcm] 1..20
16:03 p6eval rakudo b2bc99: OUTPUT«232792560␤»
16:09 pernatiy left #perl6
16:17 REPLeffect joined #perl6
16:21 kaare_ left #perl6
16:22 uniejo_ is now known as uniejo
16:27 MayDaniel joined #perl6
16:30 JimmyZ_ left #perl6
16:38 awwaiid The dynamic scope for take is a problem for libraries which take in bound callbacks and execute them inside of a gather, right? Maybe an alternative is to explicitly pop-off the librarie's gather scope when invoking the callback
16:39 PerlJam awwaiid: you mean skip it?
16:39 awwaiid yeah
16:39 awwaiid like skip_gather &callback (or however the syntax goes)
16:41 kanishka joined #perl6
16:42 cdarroch joined #perl6
16:42 cdarroch left #perl6
16:42 cdarroch joined #perl6
16:43 wamba left #perl6
16:50 birdwindupbird left #perl6
16:51 awwaiid because lexotic structure forces the library-consumer to structure their code into a lexical-looking thing, when really it is the library who should do the heavy lifting, says I
16:52 wamba joined #perl6
16:54 lichtkind joined #perl6
17:03 dakkar left #perl6
17:03 awwaiid unless lexotic also implies that it it looks like a lexical scope (like in the gather/take in the library) then subsequent levels of dynamic scope will skip the lexical looking scope, I suppose.
17:04 TimToady awwaiid: but how would you distinguish the caller's callbacks from the library's own callbacks, other than some form of lexical scoping?
17:05 molaf joined #perl6
17:06 TimToady I suppose we might say that a gather can only be purely lexotic or purely dynamic, and a dynamic take will not see any intervening lexical gathers
17:07 TimToady or we use a different keyword for dynamic gather
17:08 TimToady but I'd prefer not to if we can just do what the user expects mostly
17:11 TimToady we can know at compile time whether there are any takes in the lexical scope of a gather, and mark the gather as pure lexotic so that it refuses to trap dynamic takes
17:12 TimToady this seems like the sanest approach
17:12 impious joined #perl6
17:12 TimToady then neither users nor library writers have to worry about it; they just have to write their gathers as purely lexotic or purely dynamic
17:15 rokoteko joined #perl6
17:16 colomon rakudo
17:16 awwaiid unless they both want dynamic :)
17:16 pmichaud star
17:16 colomon rakudo: say [lcm] 1..10
17:16 p6eval rakudo b2bc99: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<[ ]>, couldn't find final ']' at line 22␤»
17:17 flussence left #perl6
17:18 colomon rakudo: say 5 lcm 10
17:18 p6eval rakudo b2bc99: OUTPUT«10␤»
17:18 colomon rakudo: say [lcm] 1, 2, 3, 4, 5
17:18 p6eval rakudo b2bc99: OUTPUT«60␤»
17:18 colomon rakudo: say [lcm] 1..10
17:18 p6eval rakudo b2bc99: OUTPUT«2520␤»
17:18 colomon rakudo: say [lcm] 1..20
17:18 p6eval rakudo b2bc99: OUTPUT«232792560␤»
17:19 pmichaud rakudo: say [lcm] 1..10, 12
17:19 p6eval rakudo b2bc99: OUTPUT«2520␤»
17:19 ab5tract left #perl6
17:19 pmichaud rakudo: say [lcm] 1..10, 12,14,15
17:19 p6eval rakudo b2bc99: OUTPUT«2520␤»
17:19 pmichaud rakudo: say [lcm] 1..10, 12,14,15,18,20
17:19 p6eval rakudo b2bc99: OUTPUT«2520␤»
17:19 sorear colomon: did my comment go through?
17:19 colomon Just approved it.  :)
17:21 TimToady awwaiid: then we say that library writers should never use dynamic if they are executing any user code
17:21 flussence joined #perl6
17:21 TimToady that's their "extra discipline"
17:21 colomon sorear: and commented on it, too.
17:23 colomon on the bright side, we can take the fastest implementation and add it to niecza, I suppose.  ;)
17:24 PerlJam TimToady: seems like something they could do accidentally because of the "invisible" nature of their discipline.
17:25 awwaiid ah. well maybe if they had some sort of explicit 'end of my dynamic scope here' thing so they could flaunt their discipline
17:25 TimToady people usually know if they're writing a library
17:27 PerlJam I mean, they write the initial code fully aware of what they need to look out for, but then later as they make changes to the code, they (or their successor) may not realize that the code they just added changed the semantics of their takes
17:27 PerlJam sorry ... of their user's takes
17:29 sorear I fear that allowing non-nested use of gather and take may be opening a semantic can of worms
17:29 sorear one best left closed.
17:33 PerlJam sorear: This is why I like to leave the language design to TimToady ... he gets to worry about the deep issues.  :)
17:36 satrac left #perl6
17:38 rokoteko Last time I was fishing the fish enjoyed a worm, even if there was a hook attached to the worm. It's merely a stupid question if the fish had preferred a can of worms w/o any hooks. Not that Im very sure of what you are talking about, but this sounds like "don't let p5 people touch the stash [of worms]!"
17:40 rokoteko Which reminds me. During the spring I met a cab-driver who was fishing herring. The herring bit the hook even if there was no worm attached to the hook. Imagine that. And he told me he had like 7 hooks in one line and more or less all of them had a herring biting to just the hook.
17:40 rokoteko OTOH. this was early spring, which is (as I understood) the herring's mating season.
17:41 bakedb left #perl6
17:41 icwiener left #perl6
17:42 * colomon is now quietly singing "The herring it is the king of the sea" to himself...
17:42 icwiener joined #perl6
17:44 cooper joined #perl6
17:44 dalek specs: d5e7386 | larry++ | S04-control.pod:
17:44 dalek specs: gather/take user-vs-library considerations
17:44 dalek specs:
17:44 dalek specs: Incorporate feedback from awwaiid++, PerlJam++, sorear++.
17:44 dalek specs: review: https://github.com/perl6/specs/commit/d5e7386cf4
17:54 awwaiid TimToady++ # well said
17:57 envi left #perl6
17:58 TimToady sorear: so if your regex uses gather/take, how does the soundex work?  (which it does if I remove the .trans and .fmt)
17:59 sorear TimToady: regex uses gather/take to assemble the "lazy list of cursors" that a backtracking regex returns, not within a regex
18:00 sorear TimToady: there's some fudgey code that does "the first cursor is generated immediately"; I think that's saving us here
18:01 sorear after the regex succeeds the first time, it rewrites itself into a gather, but ~~ never re-enters the regex after it succeeds
18:01 sorear so the take never sees the internal gather
18:01 TimToady which of the conjectured solutions seems most reasonable to you?  or can you think of a way to disambiguate via location of cloning maybe?
18:02 TimToady actually, in your case it doesn't sound too hard to make it lexotic, depending on where your take is
18:04 TimToady the label solution would have the additional "benefit" of letting people to mix lexotic and dynamic take
18:04 TimToady not sure this is a good thing...
18:08 sorear TimToady: is &take still a function?
18:08 sorear if it's caring about lexical scopes now
18:08 TimToady yes, unless we also have $label.take
18:09 TimToady which is likely to be $*LABEL.take actually
18:10 sorear What does "visible" outer gather mean?
18:10 TimToady at least internally, even if we provide sugar
18:10 TimToady a gather that contains the take
18:10 TimToady lexically
18:10 cotto joined #perl6
18:14 sorear I'll have to try it
18:14 sorear I can't say yet if it will work or not
18:15 TimToady I think any of the notions could probably be forced to work; the question is what's easiest, and results in the most clarity
18:17 TimToady without forcing users to specify something that they think is obvious
18:17 TimToady (whether or not it's actually obvious, but the lexical/dynamic division seems pretty dwimmy to me right now)
18:18 PerlJam in my imagination, I like the label solution.
18:18 PerlJam though using lift seems interesting as well.
18:18 TimToady except lift is currently about lexical scopes, not dynamic
18:18 TimToady (other than that the lexical scope in question is the caller's)
18:19 TimToady we can certainly put a label on a gather right now, but almost by definition that label will not be defined at the point of a dynamic take
18:20 Patterner left #perl6
18:20 PerlJam this is one of those times I wish for some syntactic marker for "labels"
18:20 TimToady so either we do ::LABEL.take: or have a way to refer to a label dynamically via the * twigil
18:21 PerlJam I'd like to see what that latter one looks like as twigils are closed tied with variables in my head and labels not at all.
18:22 TimToady or a way of declaring a label in a large scope that contains both the gather and the takes
18:22 PerlJam Hmm.
18:22 PerlJam wouldn't dynamism defeat that anyway?
18:23 PerlJam the take could come from "outside"
18:24 PerlJam unless there's some super global scope that could be hooked into
18:25 TimToady perl6: HERE:; { HERE: for 1..5 { .say; foo() when 3 }; sub foo { HERE.last; }; say "done";
18:25 p6eval niecza v6-179-gad0bcf6: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Illegal use of colon as invocant marker at /tmp/stkBQ0Dh5O line 1:␤------> [32mHERE:[33m⏏[31m; { HERE: for 1..5 { .say; foo() when 3 [0m␤␤Any()Unable to parse block at /tmp/stkBQ0Dh5O line 1:␤------> [32mHERE:; {[33m⏏…
18:25 p6eval ..rakudo b2bc99: OUTPUT«===SORRY!===␤Confused at line 22, near "HERE:; { H"␤»
18:25 p6eval ..pugs: OUTPUT«*** ␤    Unexpected ":;"␤    expecting "::", dot, "!", word character, "(", "{", term postfix or operator␤    at /tmp/0GbcrUcXs3 line 1, column 5␤»
18:25 * TimToady snickers
18:25 kanishka left #perl6
18:26 TimToady perl6: HERE:; { HERE: for 1..5 { .say; foo() when 3 }; sub foo { last; }; say "done";
18:26 p6eval rakudo b2bc99: OUTPUT«===SORRY!===␤Confused at line 22, near "HERE:; { H"␤»
18:26 p6eval ..niecza v6-179-gad0bcf6: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Illegal use of colon as invocant marker at /tmp/ODEGv2BkHI line 1:␤------> [32mHERE:[33m⏏[31m; { HERE: for 1..5 { .say; foo() when 3 [0m␤␤Any()Unable to parse block at /tmp/ODEGv2BkHI line 1:␤------> [32mHERE:; {[33m⏏…
18:26 p6eval ..pugs: OUTPUT«*** ␤    Unexpected ":;"␤    expecting "::", dot, "!", word character, "(", "{", term postfix or operator␤    at /tmp/mvPfOGxFCt line 1, column 5␤»
18:26 * frettled mars
18:26 TimToady perl6: HERE: 42; { HERE: for 1..5 { .say; foo() when 3 }; sub foo { last; }; say "done";
18:26 p6eval rakudo b2bc99: OUTPUT«===SORRY!===␤Confused at line 22, near "HERE: 42; "␤»
18:26 p6eval ..niecza v6-179-gad0bcf6: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Lexical symbol 'HERE' is already bound to an outer symbol (see line 1);␤  the implicit outer binding at line 1 must be rewritten as OUTER::HERE␤  before you can unambiguously declare a new 'HERE' in this scope at /tmp/EMdgn6…
18:26 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "when"␤    expecting operator or "}"␤    at /tmp/VIHWaBUGmG line 1, column 42␤»
18:27 TimToady hmm, how is HERE already bound to the outer HERE?
18:28 TimToady well, it probably can't work that way anyway, if labels have more identity than just their name
18:28 pmichaud not to hijack the thread, but...
18:28 pmichaud for 1..20000 { $i = $i + $_ }
18:28 pmichaud rakudo master:  2.74 sec
18:28 pmichaud rakudo nom: 1.69 sec
18:29 TimToady that's the right direction :)
18:29 pmichaud _finally_
18:29 pmichaud still a couple of optimizations to put in place
18:30 TimToady niecza: say [+] 1..20000
18:30 p6eval niecza v6-179-gad0bcf6: OUTPUT«200010000␤»
18:30 TimToady one could intuit that it the sum would fit into an int32, for instance :)
18:31 diakopter hah.
18:31 * TimToady was thinking about diakopter++ for some reason :)
18:32 diakopter #perl6 is the best jobvertainment
18:34 pmichaud .oO( jobvertainment?  jobtertainment?  jobutainment? ... )
18:34 TimToady perlesque: say [+] 1..20000
18:34 p6eval perlesque:  ( no output )
18:34 diakopter broken I guess
18:35 diakopter it doesn't do [op]
18:36 jferrero joined #perl6
18:37 diakopter niecza: say [==] 1..-1
18:37 p6eval niecza v6-179-gad0bcf6: OUTPUT«Bool::True␤»
18:37 diakopter I don't know whether that's right
18:38 pmichaud niecza: say [==] ()
18:38 p6eval niecza v6-179-gad0bcf6: OUTPUT«Bool::True␤»
18:39 ab5tract joined #perl6
18:40 TimToady niecza: say [==] (1..-1).flat
18:40 p6eval niecza v6-179-gad0bcf6: OUTPUT«Bool::True␤»
18:40 TimToady oh, right
18:41 TimToady that's why you were testing the (), duh...
18:41 TimToady so yes, it's right
18:41 icwiener left #perl6
18:41 TimToady however
18:41 TimToady niecza: say [==] 1...-1
18:41 p6eval niecza v6-179-gad0bcf6: OUTPUT«Bool::False␤»
18:41 TimToady that's also correct
18:41 diakopter niecza: say [==] 1..2
18:41 p6eval niecza v6-179-gad0bcf6: OUTPUT«Bool::False␤»
18:42 diakopter oh
18:42 TimToady ranges never autoreverse, but sequences do
18:42 diakopter niecza: say [==] 1..1
18:42 p6eval niecza v6-179-gad0bcf6: OUTPUT«Bool::True␤»
18:43 TimToady niecza: say [==] 1, *+0 ... 1
18:43 p6eval niecza v6-179-gad0bcf6: OUTPUT«Bool::True␤»
18:43 rokoteko what is the difference between a sequence and range? range can go backwards?
18:44 TimToady ranges are conceptually intervals, while sequences are list generators
18:44 TimToady S03 has much about both of them
18:45 sorear I think what's happening is that the is_name call on official line 1292 is being interpreted as an outer reference
18:45 TimToady a range will, however, promote to an incrementing sequence if you use it like one
18:45 sorear I can kill that, since it's caught by the general "two lexicals of the same name in one scope" check
18:45 diakopter sorear: I can't get the inner HERE to even parse as a label
18:46 TimToady you'd think the inner label should just shadown the outer
18:46 sorear right.
18:47 TimToady that still says nothing about whether a dynamic reference to the outer label would match the inner (inclined to think not)
18:47 sorear it won't in my model
18:47 TimToady otoh, goto "foo" is pure string match
18:47 rokoteko so. 1, 2, 4, 6 would be a sequence but 1, 2, 3, 4 would be a range as would 10, 20, 30, 40 ?
18:48 TimToady huh?
18:48 rokoteko Intuitively the latter would be a sequence of $_ * 10.
18:48 sorear FOO: behaves sort of like my ::FOO is enter( Label.new("Foo", callframe) )
18:48 diakopter TimToady: your example is missing a }
18:48 diakopter with the two HEREs
18:48 sorear next FOO requires both the name and the frame to match
18:48 TimToady rokoteko: those are just lists and have nothing to do either ranges or sequences
18:49 TimToady the middle one is the only one that could be generated from a range, however
18:50 wamba left #perl6
18:50 TimToady (in the absense of greps or maps)
18:50 sorear niecza: say (1, 2, 4, 6).perl
18:50 p6eval niecza v6-179-gad0bcf6: OUTPUT«(1, 2, 4, 6)␤»
18:50 sorear niecza: say (1, 2, 3, 4).perl
18:50 p6eval niecza v6-179-gad0bcf6: OUTPUT«(1, 2, 3, 4)␤»
18:51 TimToady perl6: say 10,20 ... 100
18:51 dalek niecza: c218cfa | sorear++ | src/Operator.pm6:
18:51 dalek niecza: Remove double method definition
18:51 dalek niecza: review: https://github.com/sorear/niecza/commit/c218cfa5ac
18:51 dalek niecza: c12e878 | sorear++ | / (2 files):
18:51 dalek niecza: Fix use-ing of modules that are already transitively needed
18:51 dalek niecza: review: https://github.com/sorear/niecza/commit/c12e878121
18:51 dalek niecza: 9c1b484 | sorear++ | src/niecza:
18:51 dalek niecza: Fix spurious IMiaB error for shadowing labels
18:51 dalek niecza: review: https://github.com/sorear/niecza/commit/9c1b4844f8
18:51 p6eval pugs: OUTPUT«*** ␤    Unexpected "100"␤    expecting operator, ":" or ","␤    at /tmp/ddeLWkbTSl line 1, column 15␤»
18:51 p6eval ..rakudo b2bc99, niecza v6-179-gad0bcf6: OUTPUT«102030405060708090100␤»
18:52 TimToady rakudo: say (10,20 ... 100)
18:52 p6eval rakudo b2bc99: OUTPUT«102030405060708090100␤»
18:53 TimToady rakudo: say [10,20 ... 100]
18:53 p6eval rakudo b2bc99: OUTPUT«10 20 30 40 50 60 70 80 90 100␤»
18:53 TimToady rakudo: say (10,20 ... 100).gist
18:53 p6eval rakudo b2bc99: OUTPUT«Method 'gist' not found for invocant of class 'List'␤  in main program body at line 22:/tmp/ardaeOPUK_␤»
18:53 TimToady nom: say (10,20 ... 100)
18:53 p6eval nom: OUTPUT«Rebuild in progress␤»
18:53 TimToady ooh
18:53 rokoteko TimToady: I mean that is 1,2,4..10 a sequence and 1..10 is a range etc. this is a bit confusing terminology. hence Im asking.
18:54 TimToady nom rebuild needs snap semantics...
18:54 pmichaud nom doesn't have sequences yet.  that's next on my list.
18:54 pmichaud after lists.
18:54 TimToady 1,2,4..10 is not a sequence in P6 terms
18:54 TimToady it's a list of two integers and a range
18:54 TimToady only ... makes a sequence
18:54 pmichaud rokoteko: note the difference between .. and ...
18:55 rokoteko Oh.
18:55 TimToady perl6: say ~(1,2,4..16)
18:55 p6eval pugs, rakudo b2bc99, niecza v6-179-gad0bcf6: OUTPUT«1 2 4 5 6 7 8 9 10 11 12 13 14 15 16␤»
18:55 TimToady perl6: say ~(1,2,4...16)
18:55 p6eval rakudo b2bc99, niecza v6-179-gad0bcf6: OUTPUT«1 2 4 8 16␤»
18:55 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "16"␤    expecting operator or ")"␤    at /tmp/ZjcG0sfnd0 line 1, column 15␤»
18:56 TimToady perl6: say ~(1,2,4...*)
18:56 p6eval rakudo b2bc99, niecza v6-179-gad0bcf6: OUTPUT«(timeout)»
18:56 p6eval ..pugs: OUTPUT«*** ␤    Unexpected end of input␤    at /tmp/XedipypjSg line 1, column 17␤»
18:56 diakopter pmichaud: jobutainment is closest I guess
18:57 TimToady perl6: .say for 1,2,4 ... *
18:57 p6eval pugs: OUTPUT«*** ␤    Unexpected end of input␤    at /tmp/aPP9nUKFp5 line 2, column 1␤»
18:57 p6eval ..niecza v6-179-gad0bcf6: OUTPUT«(timeout)1␤2␤4␤8␤16␤32␤64␤128␤256␤512␤1024␤2048␤4096␤8192␤16384␤32768␤65536␤131072␤262144␤524288␤1048576␤2097152␤4194304␤8388608␤16777216␤33554432␤67108864␤134217728␤268435456␤536870912␤1073741824␤2147483648␤4294967296␤8589934592␤17179869184␤34359738368␤68…
18:57 p6eval ..rakudo b2bc99: OUTPUT«(timeout)1␤2␤4␤8␤16␤32␤64␤128␤256␤512␤1024␤2048␤4096␤8192␤16384␤32768␤65536␤131072␤262144␤524288␤1048576␤2097152␤4194304␤8388608␤16777216␤33554432␤67108864␤134217728␤268435456␤536870912␤1073741824␤2147483648␤4294967296␤8589934592␤17179869184␤34359738368␤68719476736…
18:58 TimToady um, why the difference?
18:58 TimToady oh, version info
19:05 stephanmg joined #perl6
19:05 stephanmg hi.
19:06 stephanmg is "pugs" essentially dead?
19:06 sorear yes
19:07 sorear TimToady: uh...
19:07 sorear TimToady: I wonder if I should revert the change that made cutoff length depend on version length
19:07 Psyche^ joined #perl6
19:07 Psyche^ is now known as Patterner
19:08 sorear nom: say 2 + 2
19:08 p6eval nom: OUTPUT«4␤»
19:15 birdwindupbird joined #perl6
19:16 PerlJam stephanmg: but that's okay becase there are many other implementations by now.
19:17 TimToady sorear: but surely it's a zero-sum game as far as irc is concernd
19:19 TimToady pugs still runs fine; if someone decided that their calling in life was to make sure pugs converges on the P6 spec, nobody would cry
19:20 TimToady otoh, getting a P6 on a Haskell platform might be easier now by writing a backend to niecza or nqp
19:22 TimToady apparently there are parts of pugs that are difficult to understand even if you know Haskell well
19:22 TimToady but maybe that's the fault of Haskell, not pugs...
19:22 TimToady in which case a Haskell backend will not be any easier to understand, except for the bits written in P6 :)
19:23 MayDaniel left #perl6
19:23 daxim left #perl6
19:26 stephanmg PerlJam: okay, i just thought if i should recapitulate haskell, because i had read basic book in my CS study. so i now skip that part :)
19:26 pochi left #perl6
19:29 stephanmg PerlJam: and i can directly stick to perl6 stuff, because i know C. that's good.
19:30 Bzek left #perl6
19:34 dalek rakudo/nom: 761fa93 | pmichaud++ | src/Perl6/Actions.pm:
19:34 dalek rakudo/nom: Some more nqp:: opcodes for us to use.
19:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/761fa93841
19:34 dalek rakudo/nom: 96fdaf8 | pmichaud++ | src/ (2 files):
19:34 dalek rakudo/nom: Use nqp::iterators instead of Rakudo Lists for calculating
19:34 dalek rakudo/nom: Signature.count/.arity.  Also, once we've calculated them, keep them
19:34 dalek rakudo/nom: around for the next time they're request (very common for blocks
19:34 dalek rakudo/nom: used in map and other iterations).
19:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/96fdaf812d
19:34 dalek rakudo/nom: d19672e | pmichaud++ | / (9 files):
19:34 dalek rakudo/nom: Significant refactor of lists and iterators.  Results in a 50%
19:34 dalek rakudo/nom: speed improvement versus what we had before for a simple counting
19:34 dalek rakudo/nom: loop, although we're _still_ not as fast as Rakudo master.
19:34 dalek rakudo/nom: Working on that next.
19:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d19672ebef
19:34 dalek rakudo/nom: ce956a6 | pmichaud++ | src/ (4 files):
19:34 dalek rakudo/nom: Update shiftpush opcode to be quite a bit faster.
19:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ce956a686f
19:34 dalek rakudo/nom: 1e975bf | pmichaud++ | src/ops/perl6.ops:
19:34 dalek rakudo/nom: Optimize perl6_rpa_find_type to automatically skip containerized thingies.
19:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1e975bf77f
19:34 dalek rakudo/nom: 28c1fff | pmichaud++ | src/core/ (4 files):
19:34 dalek rakudo/nom: Our aggregates can benefit from some Infinite wisdom again.
19:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/28c1fff326
19:34 dalek nqp: 959bb78 | pmichaud++ | tools/build/PARROT_REVISION:
19:34 dalek nqp: Bump PARROT_REVISION to get latest splice improvements.
19:34 dalek nqp: review: https://github.com/perl6/nqp/commit/959bb782e1
19:37 lichtkind thou: cheers
19:37 thou lichtkind: hi! busy day at work.... :-)
19:37 lichtkind allright
19:37 lichtkind i want also sleep soon
19:38 thou lichtkind: ok. anything new on your side?
19:38 thou my next goal is to do another chunk of Appendix A.
19:38 lichtkind thou: i have to write next part of my wx tutorial after it come back to tablets
19:38 lichtkind thou: what ybout write history tablet a bit
19:39 lichtkind there i can make most grammar and spelling mistakes
19:39 lichtkind as long your there i have to take advantage of it :)
19:39 lichtkind thou: great
19:39 dalek rakudo/nom: ac94f0c | pmichaud++ | tools/build/NQP_REVISION:
19:39 dalek rakudo/nom: Bump NQP_REVISION to get Parrot splice fixes.
19:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ac94f0cf4e
19:39 thou lichtkind: ok, are you happy with the content of the history tablet, for the most part?
19:40 lichtkind thou: there is almost no content there :)
19:40 lichtkind compared to the planned
19:40 thou oh. maybe wait for masak to finish his Paris talk, and just steal that ;-)
19:40 lichtkind thou: in german version is a lot
19:41 lichtkind in my articles too
19:41 kst` is now known as kst
19:41 lichtkind problem is not material but the reordering and proper storytelling
19:41 thou ok
19:45 ggoebel left #perl6
19:49 lichtkind thou: but thatnk i didnt know masak is writing slides please point me to it when its published
19:50 ggoebel joined #perl6
19:50 icwiener joined #perl6
19:50 thou ok. i just know he was having fun going through old parrot/perl6 and rakudo commits, looking for fun bits of historical trivia
19:54 TimToady I'm wondering if statement modifier when should switch to succeed semantics like Perl 5 does.
19:54 TimToady I used to think that it would interfere with writing list comprehensions, but a list comprehension already has a $_-binding context, so next work still work there
19:55 TimToady s/next/succeed/
19:56 TimToady rakudo: .say when $_ %% 2 for 1..10
19:56 p6eval rakudo b2bc99: OUTPUT«2␤4␤6␤8␤10␤»
19:56 lichtkind thou: thats interesting but my focus ist on mainline history :)
19:56 TimToady rakudo: .say when * %% 2 for 1..10
19:56 p6eval rakudo b2bc99: OUTPUT«2␤4␤6␤8␤10␤»
19:57 TimToady so a "failed" when would just proceed to the next for iteration
19:57 pochi joined #perl6
19:57 TimToady and a successful when would do the thunk and the succeed to the next iteration
19:58 TimToady the main difference is how a bare "42 when /answer/" behaves
19:59 lichtkind thou: so you plan is to sniff through Appendix A, good , hinrik didnt answer me yet but after sniffing through the dist.ini im for he package it and i just send him the files
19:59 TimToady and the current semantics is equivalent to "42 if $_ ~~ /answer/
20:00 lichtkind thou: you think its better to finish basics ?
20:00 TimToady so there's no great need for the current semantics of the when modifier
20:00 thou lichtkind: i think it's best to work on what's interesting :-) to stay motivated.
20:00 TimToady more to the point, it's one less inconsistency to have to explain
20:01 thou but, yes, i think basics are important
20:01 lichtkind thou: thats where i alst time lest my pencil
20:01 thou also, if you have pretty good info in some of the german tablets, it might be most effective to work with those.
20:02 ab5tract left #perl6
20:02 lichtkind thou: great but please be aware of the slightly changed ordering, once i stopped keep them in sync, some corners are rotten
20:04 wamba joined #perl6
20:04 birdwindupbird left #perl6
20:04 mj41 joined #perl6
20:14 zby_home joined #perl6
20:16 Vlavv_ left #perl6
20:20 Trashlord left #perl6
20:25 sorear TimToady: statement_modifier for isn't a $_ shadowing context, it's a $_ temporalizing context.  Dunno if it makes a difference here
20:29 Vlavv_ joined #perl6
20:31 jnthn evening, \perl6
20:31 jnthn er
20:31 jnthn #perl6 :)
20:31 * jnthn back from teaching trip
20:32 tadzik hello jnthn
20:32 lichtkind jnthn: sounds great, wb
20:33 jnthn Tomorrow is a national Perl 6 hacking day^W^W^W^Wholiday here in Sweden :)
20:33 lichtkind jnthn: you are lucky pmichaud++ answered all questions i had for you
20:33 jnthn pmichaud++ :)
20:33 cottoo joined #perl6
20:33 sorear o/ JNTHN
20:33 cotto left #perl6
20:34 masak joined #perl6
20:34 masak lol hi #perl6!
20:34 sorear o/ MASAK!
20:34 masak !!!
20:34 sorear yapsi: say 2
20:34 diakopter omg
20:34 p6eval yapsi: OUTPUT«2␤»
20:34 diakopter yapsi: timeout 2
20:34 masak \o/
20:34 p6eval yapsi: OUTPUT«Could not parse␤»
20:35 masak heh
20:35 colomon :)
20:35 sorear it turns out that precompiling Yapsi.pm to PIR drops the startup time from 45s to 5s.
20:35 masak sorear++
20:35 sorear I'm still tempted to switch p6eval to the niecza branch though
20:35 masak I wasn't aware it was running non-precompiled.
20:35 masak sorear: yes, that would be fine with me.
20:36 masak sorear: I'm still not sure how we should develop those parallel branches.
20:36 jnthn masak: Bon soir, l'hacker en France!
20:37 masak bonsoir.
20:38 masak j'ai trouvé mon hotel. ça me fait hereux. :-)
20:38 cottoo left #perl6
20:39 tadzik hello masak
20:39 frettled Q'est-ce que vous est, masak?
20:39 masak "What are you, masak?"? :P
20:39 tadzik my french dictionary is limited to phrases like "agoch en battaglie!"
20:40 tadzik or however you write that
20:40 masak might come in handy some day.
20:40 frettled masak: oups, mixed my sentences during rewrite.  Should've been «Ou est-ce…»
20:40 masak ah :)
20:40 masak I've managed to ask directions today.
20:40 frettled Ou est la gare?
20:40 frettled La gare est la-bas.
20:40 tadzik masak: oh it does, quite often actually :)
20:41 masak frettled: je suis proxime de Place de Clichy, en 17:me.
20:41 tadzik Even in Polish battles
20:41 frettled masak: est-ce qu'il est bon, ça?
20:41 * frettled mangles French happily.
20:41 diakopter Alarm Sack
20:42 diakopter A Lark Scam
20:42 diakopter masak: your name makes great anagrams
20:42 pjcj_ joined #perl6
20:42 masak diakopter: :D
20:42 masak diakopter: oddly enough, that has never occurred to me. (I'm serious.)
20:42 diakopter not great?
20:44 pjcj left #perl6
20:47 frettled Kam Rascal
20:48 cognominal left #perl6
20:48 cognominal joined #perl6
20:49 [particle] left #perl6
20:50 [particle] joined #perl6
20:51 hanekomu joined #perl6
21:00 jimmy1980 left #perl6
21:01 jimmy1980 joined #perl6
21:03 mj41 left #perl6
21:04 masak frettled: I think that will be my new nom de plume.
21:05 frettled (:
21:05 cottoo joined #perl6
21:14 donri left #perl6
21:23 masak left #perl6
21:29 perplexa left #perl6
21:39 spq1 left #perl6
21:41 Psyche^ joined #perl6
21:45 Patterner left #perl6
21:45 Psyche^ is now known as Patterner
21:46 pothos_ joined #perl6
21:46 y3llow_ joined #perl6
21:48 y3llow left #perl6
21:48 pothos left #perl6
21:48 y3llow_ is now known as y3llow
21:48 pothos_ is now known as pothos
21:49 mberends left #perl6
21:49 hanekomu left #perl6
22:05 bitpart joined #perl6
22:07 dual joined #perl6
22:09 hanekomu joined #perl6
22:17 impious left #perl6
22:20 cottoo left #perl6
22:22 wamba left #perl6
22:24 wooden left #perl6
22:31 DarthGandalf left #perl6
22:36 cotto joined #perl6
22:37 DarthGandalf joined #perl6
22:38 cotto left #perl6
22:38 cotto joined #perl6
22:48 bitpart left #perl6
22:50 whiteknight joined #perl6
23:09 mantovani joined #perl6
23:12 hanekomu left #perl6
23:40 wamba joined #perl6
23:45 dalek niecza: 14c6eb4 | sorear++ | src/niecza:
23:45 dalek niecza: Fudge packages not evaluating to Any anymore
23:45 dalek niecza: review: https://github.com/sorear/niecza/commit/14c6eb4c1f
23:45 dalek niecza: 55ff541 | sorear++ | lib/ (2 files):
23:45 dalek niecza: Fix systematic who -> how typo in kernel
23:45 dalek niecza: review: https://github.com/sorear/niecza/commit/55ff541a84
23:48 zby_home__ joined #perl6
23:49 zby_home left #perl6
23:51 daniel-s joined #perl6
23:55 molaf_ joined #perl6
23:58 molaf left #perl6
23:58 Trashlord joined #perl6

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

Perl 6 | Reference Documentation | Rakudo