»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:07
ghgah joined
00:08
ghgah left,
kanishka joined
00:29
icwiener left
00:38
impious left
00:42
cotto joined
|
|||
cognominal | lichtkind, appropriately, LoL is acceptable in camelcase. | 00:44 | |
lichtkind | alrright &sleep anyhow | ||
00:44
lichtkind left
00:49
ggoebel joined
01:04
noganex_ left
01:06
noganex joined
01:08
cotto left
01:12
tokuhir__ joined
01:13
mjhsieh joined
01:14
mjhsieh left
01:15
tokuhirom left
01:21
woosley joined
01:31
tokuhir__ left
01:36
tokuhirom joined
01:37
tokuhirom left
01:51
[particle] left
01:52
[particle] joined
01:54
whiteknight left
02:19
dju joined
02:24
jaldhar left
02:25
jaldhar joined
02:26
kanishka left
02:41
kanishka joined
03:08
cotto joined
03:10
Chillance left
03:25
Su-Shee left
03:28
Su-Shee joined
03:33
jtpalmer left,
cooper left,
jtpalmer joined
03:39
molaf joined
03:41
satyavvd joined
03:51
cooper joined
03:57
donri left
04:01
envi joined,
cotto left
04:30
molaf left
04:34
REPLeffect left
04:36
REPLeffect joined
04:37
wolfman2000 left
04:39
wolfman2000 joined
04:44
saaki left,
saaki joined
04:45
wamba joined
04:50
jaldhar left
04:53
jaldhar joined
04:54
cotto joined
05:02
wamba left
|
|||
jdhore1 | I'm working on releasing Rakudo #42 as we speak | 05:02 | |
05:04
Bzek joined
05:09
koban joined
05:11
Grrrr left
05:14
REPLeffect left
05:15
szabgab joined
05:16
_patch_ is now known as _patch,
estrabd left
05:17
_patch is now known as npatch
05:22
bakedb joined
05:25
birdwindupbird joined
05:28
REPLeffect joined
05:29
wolfman2000 left
05:37
REPLeffect left
05:39
eternaleye_ is now known as eternaleye
05:49
REPLeffect joined
|
|||
dalek | kudo: 4f47105 | jdhore++ | docs/announce/2011.06: Update 2011.06 announcement with the releasename and another Douglas Adams reference. |
05:50 | |
kudo: 70c5ca4 | jdhore++ | docs/release_guide.pod: Update release_guide.pod for 2011.06 release. |
|||
kudo: b2bc994 | jdhore++ | VERSION: [release] bump VERSION |
|||
jdhore1 | Rakudo Douglas Adams is released | 05:52 | |
Did i say in here why I chose Bruxelles? | 05:54 | ||
06:03
kanishka left
|
|||
sorear | no | 06:05 | |
moritz | yes | 06:07 | |
06:15
cooper left,
buubot_backup left,
REPLeffect left
06:17
bbkr_ left
06:18
REPLeffect joined,
cooper joined,
cooper left,
cooper joined,
cooper left,
cooper joined,
cooper left,
cooper joined,
cooper left,
cooper joined,
bbkr_ joined,
cooper left,
cooper joined,
cooper left
06:19
cooper joined
06:21
bakedb left
06:39
buubot_backup joined
06:41
wamba joined
06:44
buubot_backup left
07:02
REPLeffect left
07:07
buubot_backup joined
07:08
mj41 joined
|
|||
sorear | ah. | 07:10 | |
moritz | www.urbandictionary.com/define.php?term=belgium | 07:13 | |
hm no | 07:15 | ||
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 | ||
07:16
cognominal left
|
|||
jdhore1 | moritz, Yep | 07:16 | |
Well, it was more specifically only in Restaurant at the ned of the universe IIRC | |||
Su-Shee | douglas adams references? not again.. | ||
jdhore1 | secure.wikimedia.org/wikipedia/en/...Censorship | 07:17 | |
I was close... | |||
Su-Shee, for Rakudo #42? How Could I possibly not? | |||
07:17
cognominal joined
07:18
bakedb joined
|
|||
moritz | Su-Shee: it's the same reference as the last time we discussed it :-) | 07:19 | |
07:21
REPLeffect joined
|
|||
jdhore1 | did you like my towel reference in the announcement? | 07:24 | |
sorear -> sleep | |||
TimToady | rosettacode.org/wiki/Soundex#Perl_6, another example of using take from within a pattern matcher | 07:33 | |
07:43
Shozan joined,
REPLeffect left
|
|||
moritz | that's kinda scary-ish | 07:53 | |
07:57
REPLeffect joined
08:06
wamba left
08:07
wamba joined
08:14
proller_ joined,
proller joined,
proller_ left
08:26
bakedb left
08:40
bakedb joined
08:44
kanishka joined
08:49
mberends joined
08:54
dakkar joined
08:56
daniel-s joined
09:03
wamba left
09:06
sivoais joined
09:12
dayangkun joined
09:13
dual left
09:20
woosley left
09:25
Grrrr joined
09:27
cooper left
09:33
dayangkun left
09:39
_twitch joined
09:51
REPLeffect left
10:04
REPLeffect joined
10:09
kboga left
10:18
MayDaniel joined
10:24
kanishka left
10:39
proller left
10:51
proller joined,
proller left
10:54
proller joined
11:01
icwiener joined
11:16
skangas_ joined,
skangas_ is now known as skangas
11:20
mtk joined
11:23
MayDaniel left
11:28
wamba joined
11:35
jaldhar left
11:36
jaldhar joined
11:51
jaldhar left
11:52
satyavvd left
|
|||
takadonet | morning all | 12:02 | |
12:04
REPLeffect left
12:07
Util joined,
chris99 left,
wamba left
12:08
chris99 joined,
orafu left,
orafu joined
|
|||
mberends | morning takadonet | 12:09 | |
12:15
woosley joined
12:16
woosley left
12:19
Chillance joined
12:22
jimmy1980 joined
|
|||
tadzik | morning takadonet, mberends | 12:26 | |
12:26
jaldhar joined
|
|||
mberends | o/ | 12:26 | |
12:33
Holy_Cow joined,
wolfman2000 joined,
jaldhar left
12:34
jaldhar joined
12:42
prammer left
12:44
prammer joined
12:54
Shozan left
13:13
Holy_Cow left
|
|||
daniel-s | github.com/daniel-s/Elo-Calculator | 13:13 | |
13:13
daxim joined
|
|||
daniel-s | what do I need to do to add that to the ecosystem? | 13:14 | |
13:15
_twitch left
|
|||
tadzik | ask me :) | 13:18 | |
also, making it spec-conformant is a plus | |||
daniel-s: see github.com/perl6/ecosystem/blob/master/spec.pod | 13:19 | ||
you can copypaste some of the existing META.info files and adjust it for your module | |||
13:19
proller left
|
|||
tadzik | having tests would be nice too | 13:20 | |
mberends | .oO( Electric Light Orchestra? ) |
13:27 | |
arnsholt | Chess score | 13:39 | |
Or, ranking score | 13:40 | ||
frettled | It's a pretty nice system for keeping a relative, floating ranking. | 13:42 | |
(for one-on-one sports) | |||
pmichaud | good morning, #perl6 | 13:57 | |
PerlJam | pmichaud: guten Tag | 13:58 | |
14:02
koban left
14:07
donri joined
|
|||
colomon | o/ | 14:08 | |
pmichaud | "...and don't forget your towel!" jdhore++ | 14:14 | |
daniel-s | all of the module tests use "use Test" | 14:16 | |
is Test a builtin module? | |||
moritz | yes | ||
takadonet | why why!!! : blogs.perl.org/users/alberto_simoes...names.html | 14:24 | |
14:26
kaare_ joined
|
|||
moritz | ambs doesn't think high of Perl 6, and has made that known for quit some time | 14:26 | |
takadonet | the issue keeps arising | 14:28 | |
14:29
estrabd joined
14:31
mberends left
|
|||
moritz | and it all boils down to how narrow or wide you define what "Perl" is | 14:34 | |
14:35
thou joined
14:40
ab5tract joined
|
|||
donri | as an outsider i have to say i sorta agree with the guy | 14:43 | |
moritz | I "sorta" agree too | 14:44 | |
I think it would make sense to rename things, under a few conditions | |||
1) we find good new names for Perl 5 and Perl 6 | |||
2) we rename both at the same time | 14:45 | ||
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
|
|||
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 | ||
so I don't see why Perl 6 should give up the claim of the Perl name, while Perl 5 does not | |||
donri | shrug | 14:48 | |
14:48
pernatiy joined
|
|||
TimToady | maybe we should call it Perl: A New Hope | 14:48 | |
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)? | ||
donri | so, bad marketing either way | ||
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) | ||
colomon: that too :P | |||
it takes some ten years for a new language to mature | |||
TimToady: or "esperanto": "he who hopes" ;) | 14:51 | ||
arnsholt | Oh, that's what esperanto means! (d'uh) | 14:53 | |
I never made the connection | |||
donri | well, "doktoro esperanto" | ||
and "one who hopes" | |||
arnsholt | (Of course, it's sperare in Latin. Damned epenthetic 'e's!) | 14:54 | |
TimToady | purrl | 14:59 | |
15:00
satrac joined
15:03
xinming left
15:06
wamba joined
15:10
spq1 joined
|
|||
sorear | good * #perl6 | 15:15 | |
colomon | \o | 15:16 | |
15:16
JimmyZ_ joined
|
|||
sorear | TimToady: ugh. does that work on niecza? | 15:17 | |
TimToady | dunno | ||
sorear | TimToady: (soundex) | ||
TimToady | no .trans | ||
sorear | even if .trans were added... niecza uses gather/take internally to handle regex backtracking | 15:18 | |
TimToady | this is a problem | ||
perhaps gather/take should be defined lexotically | 15:19 | ||
sorear | I suppose it would work in this case, since ~~ never backtracks into the regex | 15:20 | |
TimToady | and no .fmt | 15:23 | |
other than those, it seems to work okayish | |||
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:28 | ||
otoh, forcing all the takes inside the gather is a bit problematic for splitting out a set of subs | 15:29 | ||
you almost want to bind each take to the last gather *compiled* whether or not it's in this scope | |||
but that's error prone too | |||
lexotic is about as good as we can do without resorting to labels | 15:32 | ||
15:32
mj41 left
15:46
daniel-s left,
cotto left
15:50
mtk left
|
|||
dalek | ecs: b4e7bc1 | larry++ | S04-control.pod: gather/take is lexotic with dynamic fallback We have to allow for implementations and libraries to use gather/take internally. To preserve the sanity of the user in such cases, we need gather/take to behave lexotically, so that if you use take in the lexical scope of a gather, it always goes to *that* gather, even if the take is inside a closure that is passed into the scope of another gather. |
15:51 | |
TimToady | (that may also help with certain optimizations) | 15:52 | |
15:52
mtk joined
|
|||
TimToady | (if you can just push to a lexically known location instead of chasing up the dynamic stack) | 15:53 | |
sorear | TimToady: could Soundex be written using .trans(/ <[ bpfv ]>+ / => '1', ..., / . / => '') instead? | 15:58 | |
15:58
mberends joined
|
|||
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. | |||
sorear | call it 'nibble' maybe | ||
it would subsume both trans and comb | 15:59 | ||
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:00 | |
TimToady: I mean, I believe I know what you mean only because I also read your commit message. | 16:02 | ||
TimToady | well, you might have to see the definition of "lexotic" in S04:52 | 16:03 | |
sorear | rakudo: say [lcm] 1..20 | ||
p6eval | rakudo b2bc99: OUTPUT«232792560» | ||
16:09
pernatiy left
16:17
REPLeffect joined
16:21
kaare_ left
16:22
uniejo_ is now known as uniejo
16:27
MayDaniel joined
16:30
JimmyZ_ left
|
|||
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:38 | |
PerlJam | awwaiid: you mean skip it? | 16:39 | |
awwaiid | yeah | ||
like skip_gather &callback (or however the syntax goes) | |||
16:41
kanishka joined
16:42
cdarroch joined,
cdarroch left,
cdarroch joined
16:43
wamba left
16:50
birdwindupbird left
|
|||
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:51 | |
16:52
wamba joined
16:54
lichtkind joined
17:03
dakkar left
|
|||
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:03 | |
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:04 | |
17:05
molaf joined
|
|||
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:06 | |
or we use a different keyword for dynamic gather | 17:07 | ||
but I'd prefer not to if we can just do what the user expects mostly | 17:08 | ||
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:11 | ||
this seems like the sanest approach | 17:12 | ||
17:12
impious joined
|
|||
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:12 | |
17:15
rokoteko joined
|
|||
colomon | rakudo | 17:16 | |
awwaiid | unless they both want dynamic :) | ||
pmichaud | star | ||
colomon | rakudo: say [lcm] 1..10 | ||
p6eval | rakudo b2bc99: OUTPUT«===SORRY!===Unable to parse postcircumfix:sym<[ ]>, couldn't find final ']' at line 22» | ||
colomon | rakudo: say 5 lcm 10 | 17:18 | |
p6eval | rakudo b2bc99: OUTPUT«10» | ||
colomon | rakudo: say [lcm] 1, 2, 3, 4, 5 | ||
p6eval | rakudo b2bc99: OUTPUT«60» | ||
colomon | rakudo: say [lcm] 1..10 | ||
p6eval | rakudo b2bc99: OUTPUT«2520» | ||
colomon | rakudo: say [lcm] 1..20 | ||
p6eval | rakudo b2bc99: OUTPUT«232792560» | ||
pmichaud | rakudo: say [lcm] 1..10, 12 | 17:19 | |
p6eval | rakudo b2bc99: OUTPUT«2520» | ||
17:19
ab5tract left
|
|||
pmichaud | rakudo: say [lcm] 1..10, 12,14,15 | 17:19 | |
p6eval | rakudo b2bc99: OUTPUT«2520» | ||
pmichaud | rakudo: say [lcm] 1..10, 12,14,15,18,20 | ||
p6eval | rakudo b2bc99: OUTPUT«2520» | ||
sorear | colomon: did my comment go through? | ||
colomon | Just approved it. :) | ||
TimToady | awwaiid: then we say that library writers should never use dynamic if they are executing any user code | 17:21 | |
17:21
flussence joined
|
|||
TimToady | that's their "extra discipline" | 17:21 | |
colomon | sorear: and commented on it, too. | ||
on the bright side, we can take the fastest implementation and add it to niecza, I suppose. ;) | 17:23 | ||
PerlJam | TimToady: seems like something they could do accidentally because of the "invisible" nature of their discipline. | 17:24 | |
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 | ||
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 | |
sorry ... of their user's takes | |||
sorear | I fear that allowing non-nested use of gather and take may be opening a semantic can of worms | 17:29 | |
one best left closed. | |||
PerlJam | sorear: This is why I like to leave the language design to TimToady ... he gets to worry about the deep issues. :) | 17:33 | |
17:36
satrac left
|
|||
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:38 | |
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 | ||
OTOH. this was early spring, which is (as I understood) the herring's mating season. | |||
17:41
bakedb left,
icwiener left
|
|||
colomon is now quietly singing "The herring it is the king of the sea" to himself... | 17:42 | ||
17:42
icwiener joined
17:44
cooper joined
|
|||
dalek | ecs: d5e7386 | larry++ | S04-control.pod: gather/take user-vs-library considerations Incorporate feedback from awwaiid++, PerlJam++, sorear++. |
17:44 | |
awwaiid | TimToady++ # well said | 17:54 | |
17:57
envi left
|
|||
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:58 | |
sorear | TimToady: regex uses gather/take to assemble the "lazy list of cursors" that a backtracking regex returns, not within a regex | 17:59 | |
TimToady: there's some fudgey code that does "the first cursor is generated immediately"; I think that's saving us here | 18:00 | ||
after the regex succeeds the first time, it rewrites itself into a gather, but ~~ never re-enters the regex after it succeeds | 18:01 | ||
so the take never sees the internal gather | |||
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? | ||
actually, in your case it doesn't sound too hard to make it lexotic, depending on where your take is | 18:02 | ||
the label solution would have the additional "benefit" of letting people to mix lexotic and dynamic take | 18:04 | ||
not sure this is a good thing... | |||
sorear | TimToady: is &take still a function? | 18:08 | |
if it's caring about lexical scopes now | |||
TimToady | yes, unless we also have $label.take | ||
which is likely to be $*LABEL.take actually | 18:09 | ||
sorear | What does "visible" outer gather mean? | 18:10 | |
TimToady | at least internally, even if we provide sugar | ||
a gather that contains the take | |||
lexically | |||
18:10
cotto joined
|
|||
sorear | I'll have to try it | 18:14 | |
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 | ||
without forcing users to specify something that they think is obvious | 18:17 | ||
(whether or not it's actually obvious, but the lexical/dynamic division seems pretty dwimmy to me right now) | |||
PerlJam | in my imagination, I like the label solution. | 18:18 | |
though using lift seems interesting as well. | |||
TimToady | except lift is currently about lexical scopes, not dynamic | ||
(other than that the lexical scope in question is the caller's) | |||
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:19 | ||
18:20
Patterner left
|
|||
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 | ||
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:21 | |
TimToady | or a way of declaring a label in a large scope that contains both the gather and the takes | 18:22 | |
PerlJam | Hmm. | ||
wouldn't dynamism defeat that anyway? | |||
the take could come from "outside" | 18:23 | ||
unless there's some super global scope that could be hooked into | 18:24 | ||
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«===SORRY!===Illegal use of colon as invocant marker at /tmp/stkBQ0Dh5O line 1:------> HERE:⏏; { HERE: for 1..5 { .say; foo() when 3 Any()Unable to parse block at /tmp/stkBQ0Dh5O line 1:------> HERE:; {⏏… | ||
..rakudo b2bc99: OUTPUT«===SORRY!===Confused at line 22, near "HERE:; { H"» | |||
..pugs: OUTPUT«***  Unexpected ":;" expecting "::", dot, "!", word character, "(", "{", term postfix or operator at /tmp/0GbcrUcXs3 line 1, column 5» | |||
TimToady snickers | |||
18:25
kanishka left
|
|||
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"» | ||
..niecza v6-179-gad0bcf6: OUTPUT«===SORRY!===Illegal use of colon as invocant marker at /tmp/ODEGv2BkHI line 1:------> HERE:⏏; { HERE: for 1..5 { .say; foo() when 3 Any()Unable to parse block at /tmp/ODEGv2BkHI line 1:------> HERE:; {⏏… | |||
..pugs: OUTPUT«***  Unexpected ":;" expecting "::", dot, "!", word character, "(", "{", term postfix or operator at /tmp/mvPfOGxFCt line 1, column 5» | |||
frettled mars | |||
TimToady | perl6: HERE: 42; { HERE: for 1..5 { .say; foo() when 3 }; sub foo { last; }; say "done"; | ||
p6eval | rakudo b2bc99: OUTPUT«===SORRY!===Confused at line 22, near "HERE: 42; "» | ||
..niecza v6-179-gad0bcf6: OUTPUT«===SORRY!===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… | |||
..pugs: OUTPUT«***  Unexpected "when" expecting operator or "}" at /tmp/VIHWaBUGmG line 1, column 42» | |||
TimToady | hmm, how is HERE already bound to the outer HERE? | 18:27 | |
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... | ||
for 1..20000 { $i = $i + $_ } | |||
rakudo master: 2.74 sec | |||
rakudo nom: 1.69 sec | |||
TimToady | that's the right direction :) | 18:29 | |
pmichaud | _finally_ | ||
still a couple of optimizations to put in place | |||
TimToady | niecza: say [+] 1..20000 | 18:30 | |
p6eval | niecza v6-179-gad0bcf6: OUTPUT«200010000» | ||
TimToady | one could intuit that it the sum would fit into an int32, for instance :) | ||
diakopter | hah. | 18:31 | |
TimToady was thinking about diakopter++ for some reason :) | |||
diakopter | #perl6 is the best jobvertainment | 18:32 | |
pmichaud | .oO( jobvertainment? jobtertainment? jobutainment? ... ) |
18:34 | |
TimToady | perlesque: say [+] 1..20000 | ||
p6eval | perlesque: ( no output ) | ||
diakopter | broken I guess | ||
it doesn't do [op] | 18:35 | ||
18:36
jferrero joined
|
|||
diakopter | niecza: say [==] 1..-1 | 18:37 | |
p6eval | niecza v6-179-gad0bcf6: OUTPUT«Bool::True» | ||
diakopter | I don't know whether that's right | ||
pmichaud | niecza: say [==] () | 18:38 | |
p6eval | niecza v6-179-gad0bcf6: OUTPUT«Bool::True» | ||
18:39
ab5tract joined
|
|||
TimToady | niecza: say [==] (1..-1).flat | 18:40 | |
p6eval | niecza v6-179-gad0bcf6: OUTPUT«Bool::True» | ||
TimToady | oh, right | ||
that's why you were testing the (), duh... | 18:41 | ||
so yes, it's right | |||
18:41
icwiener left
|
|||
TimToady | however | 18:41 | |
niecza: say [==] 1...-1 | |||
p6eval | niecza v6-179-gad0bcf6: OUTPUT«Bool::False» | ||
TimToady | that's also correct | ||
diakopter | niecza: say [==] 1..2 | ||
p6eval | niecza v6-179-gad0bcf6: OUTPUT«Bool::False» | ||
diakopter | oh | 18:42 | |
TimToady | ranges never autoreverse, but sequences do | ||
diakopter | niecza: say [==] 1..1 | ||
p6eval | niecza v6-179-gad0bcf6: OUTPUT«Bool::True» | ||
TimToady | niecza: say [==] 1, *+0 ... 1 | 18:43 | |
p6eval | niecza v6-179-gad0bcf6: OUTPUT«Bool::True» | ||
rokoteko | what is the difference between a sequence and range? range can go backwards? | ||
TimToady | ranges are conceptually intervals, while sequences are list generators | 18:44 | |
S03 has much about both of them | |||
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 | ||
sorear | I can kill that, since it's caught by the general "two lexicals of the same name in one scope" check | ||
diakopter | sorear: I can't get the inner HERE to even parse as a label | ||
TimToady | you'd think the inner label should just shadown the outer | 18:46 | |
sorear | right. | ||
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 | ||
TimToady | otoh, goto "foo" is pure string match | ||
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 ? | ||
TimToady | huh? | 18:48 | |
rokoteko | Intuitively the latter would be a sequence of $_ * 10. | ||
sorear | FOO: behaves sort of like my ::FOO is enter( Label.new("Foo", callframe) ) | ||
diakopter | TimToady: your example is missing a } | ||
with the two HEREs | |||
sorear | next FOO requires both the name and the frame to match | ||
TimToady | rokoteko: those are just lists and have nothing to do either ranges or sequences | ||
the middle one is the only one that could be generated from a range, however | 18:49 | ||
18:50
wamba left
|
|||
TimToady | (in the absense of greps or maps) | 18:50 | |
sorear | niecza: say (1, 2, 4, 6).perl | ||
p6eval | niecza v6-179-gad0bcf6: OUTPUT«(1, 2, 4, 6)» | ||
sorear | niecza: say (1, 2, 3, 4).perl | ||
p6eval | niecza v6-179-gad0bcf6: OUTPUT«(1, 2, 3, 4)» | ||
TimToady | perl6: say 10,20 ... 100 | 18:51 | |
dalek | ecza: c218cfa | sorear++ | src/Operator.pm6: Remove double method definition |
||
ecza: c12e878 | sorear++ | / (2 files): Fix use-ing of modules that are already transitively needed |
|||
ecza: 9c1b484 | sorear++ | src/niecza: Fix spurious IMiaB error for shadowing labels |
|||
p6eval | pugs: OUTPUT«***  Unexpected "100" expecting operator, ":" or "," at /tmp/ddeLWkbTSl line 1, column 15» | ||
..rakudo b2bc99, niecza v6-179-gad0bcf6: OUTPUT«102030405060708090100» | |||
TimToady | rakudo: say (10,20 ... 100) | 18:52 | |
p6eval | rakudo b2bc99: OUTPUT«102030405060708090100» | ||
TimToady | rakudo: say [10,20 ... 100] | 18:53 | |
p6eval | rakudo b2bc99: OUTPUT«10 20 30 40 50 60 70 80 90 100» | ||
TimToady | rakudo: say (10,20 ... 100).gist | ||
p6eval | rakudo b2bc99: OUTPUT«Method 'gist' not found for invocant of class 'List' in main program body at line 22:/tmp/ardaeOPUK_» | ||
TimToady | nom: say (10,20 ... 100) | ||
p6eval | nom: OUTPUT«Rebuild in progress» | ||
TimToady | ooh | ||
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. | ||
TimToady | nom rebuild needs snap semantics... | 18:54 | |
pmichaud | nom doesn't have sequences yet. that's next on my list. | ||
after lists. | |||
TimToady | 1,2,4..10 is not a sequence in P6 terms | ||
it's a list of two integers and a range | |||
only ... makes a sequence | |||
pmichaud | rokoteko: note the difference between .. and ... | ||
rokoteko | Oh. | 18:55 | |
TimToady | perl6: say ~(1,2,4..16) | ||
p6eval | pugs, rakudo b2bc99, niecza v6-179-gad0bcf6: OUTPUT«1 2 4 5 6 7 8 9 10 11 12 13 14 15 16» | ||
TimToady | perl6: say ~(1,2,4...16) | ||
p6eval | rakudo b2bc99, niecza v6-179-gad0bcf6: OUTPUT«1 2 4 8 16» | ||
..pugs: OUTPUT«***  Unexpected "16" expecting operator or ")" at /tmp/ZjcG0sfnd0 line 1, column 15» | |||
TimToady | perl6: say ~(1,2,4...*) | 18:56 | |
p6eval | rakudo b2bc99, niecza v6-179-gad0bcf6: OUTPUT«(timeout)» | ||
..pugs: OUTPUT«***  Unexpected end of input at /tmp/XedipypjSg line 1, column 17» | |||
diakopter | pmichaud: jobutainment is closest I guess | ||
TimToady | perl6: .say for 1,2,4 ... * | 18:57 | |
p6eval | pugs: OUTPUT«***  Unexpected end of input at /tmp/aPP9nUKFp5 line 2, column 1» | ||
..niecza v6-179-gad0bcf6: OUTPUT«(timeout)1248163264128256512102420484096819216384327686553613107226214452428810485762097152419430483886081677721633554432671088641342177282684354565368709121073741824214748364842949672968589934592171798691843435973836868… | |||
..rakudo b2bc99: OUTPUT«(timeout)1248163264128256512102420484096819216384327686553613107226214452428810485762097152419430483886081677721633554432671088641342177282684354565368709121073741824214748364842949672968589934592171798691843435973836868719476736… | |||
TimToady | um, why the difference? | 18:58 | |
oh, version info | |||
19:05
stephanmg joined
|
|||
stephanmg | hi. | 19:05 | |
is "pugs" essentially dead? | 19:06 | ||
sorear | yes | ||
TimToady: uh... | 19:07 | ||
TimToady: I wonder if I should revert the change that made cutoff length depend on version length | |||
19:07
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
sorear | nom: say 2 + 2 | 19:08 | |
p6eval | nom: OUTPUT«4» | ||
19:15
birdwindupbird joined
|
|||
PerlJam | stephanmg: but that's okay becase there are many other implementations by now. | 19:16 | |
TimToady | sorear: but surely it's a zero-sum game as far as irc is concernd | 19:17 | |
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:19 | ||
otoh, getting a P6 on a Haskell platform might be easier now by writing a backend to niecza or nqp | 19:20 | ||
apparently there are parts of pugs that are difficult to understand even if you know Haskell well | 19:22 | ||
but maybe that's the fault of Haskell, not pugs... | |||
in which case a Haskell backend will not be any easier to understand, except for the bits written in P6 :) | |||
19:23
MayDaniel left,
daxim left
|
|||
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 | |
19:26
pochi left
|
|||
stephanmg | PerlJam: and i can directly stick to perl6 stuff, because i know C. that's good. | 19:29 | |
19:30
Bzek left
|
|||
dalek | kudo/nom: 761fa93 | pmichaud++ | src/Perl6/Actions.pm: Some more nqp:: opcodes for us to use. |
19:34 | |
kudo/nom: 96fdaf8 | pmichaud++ | src/ (2 files): Use nqp::iterators instead of Rakudo Lists for calculating around for the next time they're request (very common for blocks used in map and other iterations). |
|||
kudo/nom: d19672e | pmichaud++ | / (9 files): Significant refactor of lists and iterators. Results in a 50% loop, although we're _still_ not as fast as Rakudo master. Working on that next. |
|||
kudo/nom: ce956a6 | pmichaud++ | src/ (4 files): Update shiftpush opcode to be quite a bit faster. |
|||
kudo/nom: 1e975bf | pmichaud++ | src/ops/perl6.ops: Optimize perl6_rpa_find_type to automatically skip containerized thingies. |
|||
kudo/nom: 28c1fff | pmichaud++ | src/core/ (4 files): Our aggregates can benefit from some Infinite wisdom again. |
|||
p: 959bb78 | pmichaud++ | tools/build/PARROT_REVISION: Bump PARROT_REVISION to get latest splice improvements. |
|||
lichtkind | thou: cheers | 19:37 | |
thou | lichtkind: hi! busy day at work.... :-) | ||
lichtkind | allright | ||
i want also sleep soon | |||
thou | lichtkind: ok. anything new on your side? | 19:38 | |
my next goal is to do another chunk of Appendix A. | |||
lichtkind | thou: i have to write next part of my wx tutorial after it come back to tablets | ||
thou: what ybout write history tablet a bit | |||
there i can make most grammar and spelling mistakes | 19:39 | ||
as long your there i have to take advantage of it :) | |||
thou: great | |||
dalek | kudo/nom: ac94f0c | pmichaud++ | tools/build/NQP_REVISION: Bump NQP_REVISION to get Parrot splice fixes. |
||
thou | lichtkind: ok, are you happy with the content of the history tablet, for the most part? | ||
lichtkind | thou: there is almost no content there :) | 19:40 | |
compared to the planned | |||
thou | oh. maybe wait for masak to finish his Paris talk, and just steal that ;-) | ||
lichtkind | thou: in german version is a lot | ||
in my articles too | 19:41 | ||
19:41
kst` is now known as kst
|
|||
lichtkind | problem is not material but the reordering and proper storytelling | 19:41 | |
thou | ok | ||
19:45
ggoebel left
|
|||
lichtkind | thou: but thatnk i didnt know masak is writing slides please point me to it when its published | 19:49 | |
19:50
ggoebel joined,
icwiener joined
|
|||
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:50 | |
TimToady | I'm wondering if statement modifier when should switch to succeed semantics like Perl 5 does. | 19:54 | |
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 | |||
s/next/succeed/ | 19:55 | ||
rakudo: .say when $_ %% 2 for 1..10 | 19:56 | ||
p6eval | rakudo b2bc99: OUTPUT«246810» | ||
lichtkind | thou: thats interesting but my focus ist on mainline history :) | ||
TimToady | rakudo: .say when * %% 2 for 1..10 | ||
p6eval | rakudo b2bc99: OUTPUT«246810» | ||
TimToady | so a "failed" when would just proceed to the next for iteration | 19:57 | |
19:57
pochi joined
|
|||
TimToady | and a successful when would do the thunk and the succeed to the next iteration | 19:57 | |
the main difference is how a bare "42 when /answer/" behaves | 19:58 | ||
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/ | ||
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 | ||
thou | lichtkind: i think it's best to work on what's interesting :-) to stay motivated. | ||
TimToady | more to the point, it's one less inconsistency to have to explain | ||
thou | but, yes, i think basics are important | 20:01 | |
lichtkind | thou: thats where i alst time lest my pencil | ||
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
|
|||
lichtkind | thou: great but please be aware of the slightly changed ordering, once i stopped keep them in sync, some corners are rotten | 20:02 | |
20:04
wamba joined,
birdwindupbird left,
mj41 joined
20:14
zby_home joined
20:20
Trashlord left
|
|||
sorear | TimToady: statement_modifier for isn't a $_ shadowing context, it's a $_ temporalizing context. Dunno if it makes a difference here | 20:25 | |
20:29
Vlavv_ joined
|
|||
jnthn | evening, \perl6 | 20:31 | |
er | |||
#perl6 :) | |||
jnthn back from teaching trip | |||
tadzik | hello jnthn | 20:32 | |
lichtkind | jnthn: sounds great, wb | ||
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 | ||
jnthn | pmichaud++ :) | ||
20:33
cottoo joined
|
|||
sorear | o/ JNTHN | 20:33 | |
20:34
cotto left,
masak joined
|
|||
masak | lol hi #perl6! | 20:34 | |
sorear | o/ MASAK! | ||
masak | !!! | ||
sorear | yapsi: say 2 | ||
diakopter | omg | ||
p6eval | yapsi: OUTPUT«2» | ||
diakopter | yapsi: timeout 2 | ||
masak | \o/ | ||
p6eval | yapsi: OUTPUT«Could not parse» | ||
masak | heh | 20:35 | |
colomon | :) | ||
sorear | it turns out that precompiling Yapsi.pm to PIR drops the startup time from 45s to 5s. | ||
masak | sorear++ | ||
sorear | I'm still tempted to switch p6eval to the niecza branch though | ||
masak | I wasn't aware it was running non-precompiled. | ||
sorear: yes, that would be fine with me. | |||
sorear: I'm still not sure how we should develop those parallel branches. | 20:36 | ||
jnthn | masak: Bon soir, l'hacker en France! | ||
masak | bonsoir. | 20:37 | |
j'ai trouvé mon hotel. ça me fait hereux. :-) | 20:38 | ||
20:38
cottoo left
|
|||
tadzik | hello masak | 20:39 | |
frettled | Q'est-ce que vous est, masak? | ||
masak | "What are you, masak?"? :P | ||
tadzik | my french dictionary is limited to phrases like "agoch en battaglie!" | ||
or however you write that | 20:40 | ||
masak | might come in handy some day. | ||
frettled | masak: oups, mixed my sentences during rewrite. Should've been «Ou est-ce…» | ||
masak | ah :) | ||
I've managed to ask directions today. | |||
frettled | Ou est la gare? | ||
La gare est la-bas. | |||
tadzik | masak: oh it does, quite often actually :) | ||
masak | frettled: je suis proxime de Place de Clichy, en 17:me. | 20:41 | |
tadzik | Even in Polish battles | ||
frettled | masak: est-ce qu'il est bon, ça? | ||
frettled mangles French happily. | |||
diakopter | Alarm Sack | ||
A Lark Scam | 20:42 | ||
masak: your name makes great anagrams | |||
20:42
pjcj_ joined
|
|||
masak | diakopter: :D | 20:42 | |
diakopter: oddly enough, that has never occurred to me. (I'm serious.) | |||
diakopter | not great? | ||
20:44
pjcj left
|
|||
frettled | Kam Rascal | 20:47 | |
20:48
cognominal left,
cognominal joined
20:49
[particle] left
20:50
[particle] joined
20:51
hanekomu joined
21:00
jimmy1980 left
21:01
jimmy1980 joined
21:03
mj41 left
|
|||
masak | frettled: I think that will be my new nom de plume. | 21:04 | |
frettled | (: | 21:05 | |
21:05
cottoo joined
21:14
donri left
21:23
masak left
21:39
spq1 left
21:42
Psyche^ joined
21:45
Patterner left,
Psyche^ is now known as Patterner
21:46
pothos_ joined,
y3llow_ joined
21:48
y3llow left,
y3llow_ is now known as y3llow,
pothos_ is now known as pothos
21:49
mberends left,
hanekomu left
22:05
bitpart joined
22:07
dual joined
22:09
hanekomu joined
22:17
impious left
22:20
cottoo left
22:22
wamba left
22:25
wooden left
22:31
DarthGandalf left
22:36
cotto joined
22:37
DarthGandalf joined
22:38
cotto left,
cotto joined
22:48
bitpart left
22:50
whiteknight joined
23:09
mantovani joined
23:12
hanekomu left
23:40
wamba joined
|
|||
dalek | ecza: 14c6eb4 | sorear++ | src/niecza: Fudge packages not evaluating to Any anymore |
23:45 | |
ecza: 55ff541 | sorear++ | lib/ (2 files): Fix systematic who -> how typo in kernel |
|||
23:48
zby_home__ joined
23:49
zby_home left
23:51
daniel-s joined
23:55
molaf_ joined
23:58
molaf left,
Trashlord joined
|