»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
itz_ Merry Christmas Mr Potter! 01:44
[Coke] (automate R*) - there's a daily run that builds one and tests it. 04:37
lue personally believes there's little in the process as it currently is that would benefit from automation 04:52
moritz good morning 06:42
preflex moritz: you have 2 new messages. '/msg preflex messages' to read them.
moritz preflex: messages
preflex lue said 8 hours, 17 minutes and 11 seconds ago: the only file to differ between the two tarballs is <tarball>/MANIFEST, and *I think* it's just that the sorting of files in them is different. I also don't spot any files that only appear in one tarball.
lue said 8 hours, 11 minutes and 31 seconds ago: Just confirmed it's a simple case of the files being listed in a different order in the MANIFESTs. Note that this was *just* the top-level MANIFEST; the others were precisely the same between tarballs.
moritz preflex: tell lue that I have uploaded the R* tarball, and sent you an invitation to for an account on rakudo.org 06:48
preflex Consider it noted.
lue ✔ ⑫ upload tarball to rakudo.org (moritz++) 07:05
preflex lue: you have 1 new message. '/msg preflex messages' to read it.
lue I'll get to 13-15 in the morning, ♘ all! o/
cxreg karma jnthn? 07:19
aw :(
atroxaper Hello, #perl6 07:34
moritz \o 07:40
atroxaper moritz: o/
moritz: i want to ask you about rakudo pod parsing. 07:41
moritz: does it parse right?)
atroxaper moritz: i have printed pod object after parsing S26 and i see that (for example) C<> isn't parsed last table. 07:43
in last table.
I see q{ ("C<B<...>> Basis/focus of sentence (typically rendered bold)", "C<B<...>>", "Basis/focus of sentence (typically rendered bold)") } 07:45
But as i understand correctly C<...> in that exaple should convert its contenst to 'code' 07:46
moritz atroxaper: yes, might be a pod parsing bug 08:02
diakopter !karma jnthn 08:27
.karma jnthn
.jnthn jnthn
moritz jnthn++ # I now know that it's one higher than before! 08:34
diakopter .jnthn jnthn
seems the same to me
moritz you're just too ignorant :-) 08:39
timotimo atroxaper: formatting codes in tables is NYI :( 10:32
i've started a patch on it and passed it on to tadzik; not terribly much progress on it yet
itz_ I also assume p6doc should format text within a width 10:35
like fmt(1) I mean
timotimo hm, i had some code to do that once, i wonder what i did with it 10:38
timotimo i don't think we have a proper decision on .trans and the availability of the $/ in the closures ... 11:01
btw, github.com/perl6/specs/issues/58 *bump* 11:02
so many tickets in perl6/specs ... 11:03
FROGGS o 11:27
o/
O
(now it is a snowman)
Rotwang there is no snow where I live :C 11:32
tadzik and I'm supposed to go snowboarding in 5 days :| 11:33
FROGGS no snow here ( in RL) either :( 11:34
timotimo there's only wind where i'm at at the moment 12:32
atroxaper timotimo: do you know what else are NYI yet in pod parsing? I want to write a really good rendering framework. 12:40
FROGGS one option would be to grep for XXX and NYI in the source and roast 12:41
timotimo oof, it's been a long time since i looked at that code
FROGGS the filenames should tell if it is pod related
atroxaper FROGGS: do you think that all tests for pod parsing wes written? 12:43
FROGGS atroxaper: no, but maybe you will find a few mentioned todos 12:44
atroxaper Ok. I'll try. Thank you.
timotimo there was only very meager test coverage for pod in roast. 12:45
atroxaper And one more question. About #perl6 culture. What is mean 'someone++' ?) 12:46
FROGGS that is giving somebody karma
timotimo r: my @a = <foo bar baz>; say "baz" ~~ / $(@a[0]) | $(@a[1]) | $(@a[2]) /;
camelia rakudo-parrot 6d54dc, rakudo-jvm 6d54dc: OUTPUT«「baz」␤␤»
FROGGS atroxaper: when somebody did something cool
the ++ is the incremental postfix 12:47
atroxaper Is it karma real? Where it is stored? 12:48
timotimo we had a bot that tracks it, it's not always here. we don't care about the actual value :P
FROGGS bots count it
preflex: karma jnthn
preflex jnthn: 4619
FROGGS preflex: karma FROGGS
preflex FROGGS: 231
FROGGS preflex: karma Tobias Leih 12:49
preflex Tobias Leih has no karma
FROGGS preflex: karma Tobias Leich
preflex Tobias Leich: 301
timotimo also, there's ++someone, which means something like "it's cool that you want to do this" or "you get the karma after you're done" or "cool idea, please go ahead" 12:49
dalek ecs: 7316137 | (Timo Paulssen)++ | S05-regex.pod:
try to resolve #40
12:50
timotimo preflex: karma timotimo
preflex timotimo: 204
timotimo is there a way to tell preflex that two names refer to the same thing?
atroxaper preflex: karma atroxaper
preflex atroxaper: 1
timotimo preflex: karma Timo Paulssen
preflex Timo Paulssen: 211
timotimo preflex: karma FROGGS
preflex FROGGS: 231
timotimo oh, github thought "try to resolve #40" meant "#40 is now resolved!" 12:51
might as well. review, anyone? 12:52
atroxaper I really like #perl6 !
FROGGS atroxaper: :o) 12:53
we too :o)
timotimo: your patch looks sane
timotimo i didn't look around the whole document, however 12:53
maybe there ought to be a bit of extra text somewhere that shows that you need to do the $(...) thing in other contexts, too 12:54
nah, i guess it's fine 12:55
someone else will likely tell me otherwise if they think i'm in the wrong and i'll happily work towards a better cording 12:56
wording*
FROGGS timotimo: I remember that TimToady++ told me about the $() trick once
timotimo yes, you linked to the irclog in the ticket 12:57
FROGGS yeah, I see that now too :o)
r: my @a; / @a[0] / # do we issue a warning? 12:58
camelia rakudo-jvm 6d54dc: OUTPUT«Potential difficulties:␤ Apparent subscript will be treated as regex␤ at /tmp/NvnGtC8bvS:1␤ ------> my @a; / @a⏏[0] / # do we issue a warning?␤»
..rakudo-parrot 6d54dc: OUTPUT«Potential difficulties:␤ Apparent subscript will be treated as regex␤ at /tmp/A7RmeJEW9A:1␤ ------> my @a; / @a⏏[0] / # do we issue a warning?␤»
FROGGS good
case closed I'd say :o)
timotimo nice :) 12:59
i'm now looking for the right place to put documentation about the set operators in S03
timotimo r: .say for ((1, 2, 3) xx 2) 13:33
camelia rakudo-parrot 6d54dc, rakudo-jvm 6d54dc: OUTPUT«1␤2␤3␤1␤2␤3␤»
timotimo r: ((1, 2, 3) xx 2).perl.say 13:34
camelia rakudo-parrot 6d54dc, rakudo-jvm 6d54dc: OUTPUT«((1, 2, 3), (1, 2, 3)).list␤»
timotimo i'm thinking to include the set operators just below the junctive operators, as they have junctive or precedence 13:39
FROGGS p: class A { method can() { 42 } }; say A.new.can 13:46
camelia rakudo-parrot 6d54dc: OUTPUT«42␤»
timotimo (junctive or, junctive and, or chaining comparison precedence, to be exact) 13:47
timotimo huh, what are <+ and >+? 13:54
ah, it's for bas 13:55
bags
timotimo there are no tests for (.) :( 14:04
FROGGS :/ 14:05
dalek ecs/S03-set-operators: 4c9c466 | (Timo Paulssen)++ | S03-operators.pod:
get a few lines of text started for the set/bag operators
14:07
timotimo somebody who actually knows what's up can continue my work :P
alfie53 Basic question: If a script begins with #!/usr/bin/perl6 is it also necessary to add use v6.0? 16:15
TimToady tell alfie53 anything that indicates perl6 will start it up in v6 mode automatically, including the #! line 16:51
preflex: tell alfie53 anything that indicates perl6 will start it up in v6 mode automatically, including the #! line 16:52
preflex Consider it noted.
Rotwang what are the boundaries for Int? 16:53
TimToady well, they have to be integers...
and they have to fit into memory
Rotwang TimToady: so their size is arbitrary? 16:56
TimToady I think I once found that mono had an upper limit hardcoded somewhere, but that's not our problem :)
Rotwang I see, thanks
TimToady r: sub postfix:<!>($n) { [*] 2..$n }; say 42! 16:57
camelia rakudo-parrot 6d54dc, rakudo-jvm 6d54dc: OUTPUT«1405006117752879898543142606244511569936384000000000␤»
TimToady r: sub postfix:<!>($n) { [*] 2..$n }; say 100!
camelia rakudo-parrot 6d54dc, rakudo-jvm 6d54dc: OUTPUT«93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000␤»
TimToady n: sub postfix:<!>($n) { [*] 2..$n }; say 100!
camelia niecza v24-108-g17d73e4: OUTPUT«93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000␤»
TimToady n: sub postfix:<!>($n) { [*] 2..$n }; say 1000!
camelia niecza v24-108-g17d73e4: OUTPUT«40238726007709377354370243392300398571937486421071463254379991042993851239862902059204420848696940480047998861019719605863166687299480855890132382966994459099742450408707375991882362772718873251977950595099527612087497546249704360141827809464649629105…»
TimToady pugs: sub postfix:<!>($n) { [*] 2..$n }; say 1000!
camelia pugs: OUTPUT«402387260077093773543702433923003985719374864210714632543799910429938512398629020592044208486969404800479988610197196058631666872994808558901323829669944590997424504087073759918823627727188732519779505950995276120874975462497043601418278094646496291056393887437886487337…» 16:58
Ben_Goldberg r: say length [*] 2..1000 17:16
camelia rakudo-jvm 6d54dc: OUTPUT«===SORRY!=== Error while compiling /tmp/Lo91_BkoBY␤Undeclared routine:␤ length used at line 1␤␤»
..rakudo-parrot 6d54dc: OUTPUT«===SORRY!=== Error while compiling /tmp/_Cjgl1bQAw␤Undeclared routine:␤ length used at line 1␤␤»
Ben_Goldberg r: say ([*] 2..1000).Str.elems 17:17
camelia rakudo-parrot 6d54dc, rakudo-jvm 6d54dc: OUTPUT«1␤»
Ben_Goldberg r: say (([*] 2..1000).Str.elems)
camelia rakudo-parrot 6d54dc, rakudo-jvm 6d54dc: OUTPUT«1␤»
Ben_Goldberg r: say ((~[*] 2..1000).elems) 17:18
camelia rakudo-parrot 6d54dc, rakudo-jvm 6d54dc: OUTPUT«1␤»
Ben_Goldberg r: say ((~[*] 2..1000))
camelia rakudo-parrot 6d54dc, rakudo-jvm 6d54dc: OUTPUT«4023872600770937735437024339230039857193748642107146325437999104299385123986290205920442084869694048004799886101971960586316668729948085589013238296699445909974245040870737599188236277271887325197795059509952761208749754624970436014182…»
Ben_Goldberg r: say ((~[*] 2..1000).chars)
camelia rakudo-parrot 6d54dc, rakudo-jvm 6d54dc: OUTPUT«2568␤»
Ben_Goldberg r: say ((~[*] 2..10000).chars)
camelia rakudo-parrot 6d54dc, rakudo-jvm 6d54dc: OUTPUT«35660␤»
Ben_Goldberg r: say ((~[*] 2..100000).chars)
camelia rakudo-parrot 6d54dc, rakudo-jvm 6d54dc: OUTPUT«(timeout)» 17:19
timotimo sup 17:24
TimToady p: say [*](2..1000).chars 17:27
camelia rakudo-parrot 6d54dc: OUTPUT«2568␤»
TimToady don't need the ~
because Cool
timotimo TimToady: do you have a bit of time to skim perl6/specs issues? for example github.com/perl6/specs/issues/58 17:29
and it seems like github.com/perl6/specs/issues/47 seems almost decided already 17:30
s:2nd/seems/is/
TimToady well, mostly family stuff today
but I don't see why that one couldn't be made to work, offhand
presents &
timotimo :) 17:31
i'm interpreting "that one" to mean multi-argument endpoints to the ... operator :) 17:32
in that case, i'll start trying to implement it :P 17:33
dalek rl6-roast-data: b7040da | coke++ | / (3 files):
today (automated commit)
17:46
[Coke] whoops - the rakudo daily star stuff has been committing to something-not-master. 17:50
[Coke] doesn't bother trying to rescue that. 17:54
timotimo Code is the right class to match against if i want to check for everything? 17:55
timotimo now to figure out how to make the sequence stuff work properly without making it preform worse 18:00
do i always slice off the last $arity elements?
or do i have a list that i always push onto and shift from? 18:01
timotimo gee, i sure wish i understood how munch works :P 18:07
dalek kudo/multi_arity_sequence_endpoint: 6c13c21 | (Timo Paulssen)++ | src/core/operators.pm:
start working on higher arity endpoint codes for SEQUENCE
18:18
timotimo i just guessed what munch does by how it's used in the rest of the code 18:21
pmurias timotimo: re phasers, why do we need the BEGIN ... form or the BEGIN {...} form?
timotimo pmurias: one gives you a lexical block, one doesn't 18:27
FROGGS btw, v5 parsed and executed its first module from cpan: this one cpansearch.perl.org/src/ILYAZ/if-0.0601/if.pm 18:31
timotimo yeah! :) 18:35
[Coke] FROGGS++ ! 18:36
FROGGS :o)
moritz FROGGS++ 18:37
that's a dual-lived module, right? 18:38
timotimo issue 35 from the specs seems like it's already decided? why don't we close it and put the decision into the specs? :)
FROGGS moritz: what do you mean? 18:39
moritz FROGGS: it's both in p5 core and in on CPAN 18:45
FROGGS moritz: then yes 18:46
timotimo it seemed to me like munch is used to chop off all elements up to the number specified and only leave the rest
moritz timotimo: sounds about right
timotimo something's not right, though :)
$my_list.elems - $number-i-want should give me a list with $number-i-want elements, aye? 18:47
oh, i got further in my code, that's good 18:48
moritz no, it gives you an intenger, not a list
dalek ar: ec29482 | lue++ | docs/announce/2013.12.md:
Fix minor braino, it's December this month.
18:49
timotimo oh. i meant to say ...
$my_list.munch($my_list.elems - $number-of-elems-i-want) would let $my_list have $number-of-elems-i-want elements in it afterwards?
timotimo r: my @foo = <a b c a b c a b c>; @foo.munch(@foo.elems - 3); say @foo; 18:49
camelia rakudo-jvm 6d54dc: OUTPUT«(timeout)» 18:50
..rakudo-parrot 6d54dc: OUTPUT«a b c␤»
timotimo rakudo star release \o/ 18:53
[Coke] for the people who can run tests with perl6-m - do you have any local modifications to the build? ISTR TimToady++ adding a --stagestats at some point. 18:54
timotimo err, what? 18:55
the list outputs as "1 2"
it says "you passed 3, but i expected 2"
my code is ~@$tail_list
er.
|@$tail_list
timotimo not quite sure what exactly that means :\ 18:57
this munch thing doesn't seem to work at all 19:03
now it says "expected 3, but got 13"
also, out of nowhere, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 come into existence 19:04
lue ✔ ⑬ Publicize the announcement. 19:08
moritz lue++ # R* release 19:09
timotimo ah, found one problem at least 19:10
dalek ar: 3c21f3b | lue++ | tools/star/release-guide.pod:
[RG 14] Add self to Hall of People who Released R* and when.
lue ✔ ⑭ Be known for the 2013.12 release. 19:11
timotimo \o/
lue++
lue ✔ ⑮ Celebrate! (in-progress, yet considered done) 19:12
R* RELEASE MODE DE-ACTIVATED ☄
moritz that was a short celebration :-)
lue moritz: "in-progress, yet considered done" 19:13
"considered done" is that checkmark. :)
timotimo ah, of course 19:15
i was bitten by the 1..12.pick trick
tick? 19:16
r: my $foo = ().list; $foo.push($_) for ^10; say $foo; say $foo.munch($foo.elems - 2); say $foo; 19:17
camelia rakudo-jvm 6d54dc: OUTPUT«(timeout)»
..rakudo-parrot 6d54dc: OUTPUT«0 1 2 3 4 5 6 7 8 9␤0 1 2 3 4 5 6 7␤8 9␤»
timotimo it's supposed to work; why doesn't it work? 19:18
d'oh
wrong variable .elem'd
timotimo cool, now 1, 2, { ^10.pick } ... * == * works 19:22
though it seems to also push the next value that's different from the previous two onto the result unless i ...^
which i think is wrong
timotimo found out why, fixed it 19:27
1 2 0 8 2 4 2 9 6 1 7 8 3 9 0 6 7 0 3 1 7 0 0 19:28
the result of a run of 1, 2, { (^10).pick } ... * == * 19:32
timotimo the spectest run is soon to be done \o/ 19:35
oh cool, all tests passed! 19:37
that either means i broke nothing in the normal case or the tests for sequences are not good enough 19:38
timotimo oh ,wait! 19:40
there arleady *was* tests for arity-2-or-more limits! 19:41
Ben_Goldberg r: my @x := 1, 2, { (^10).pick } ... *; say @x[^10]
camelia rakudo-jvm 6d54dc: OUTPUT«(timeout)»
..rakudo-parrot 6d54dc: OUTPUT«1 2 2 3 2 1 4 5 6 2␤»
Ben_Goldberg n: my @x := 1, 2, { (^10).pick } ... *; say @x[^10] 19:42
camelia niecza v24-108-g17d73e4: OUTPUT«1 2 0 7 4 5 9 3 1 6␤»
Ben_Goldberg j: say 'alive' 19:43
camelia rakudo-jvm 6d54dc: OUTPUT«(timeout)» 19:44
moritz j: say 42 19:45
timotimo hm, the test expects this to work:
camelia rakudo-jvm 6d54dc: OUTPUT«(timeout)»
moritz j: say 42
camelia rakudo-jvm 6d54dc: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
timotimo an arity-3 limit with a starting list that's empty
github.com/perl6/roast/blob/master...more.t#L17 19:46
lue Does anyone else experience slowness on perlcabal.org and feather.perl6.nl?
timotimo is this a bogus test, or should it just generate values unchecked until the required number of parameters is reached in the list so far?
moritz lue: feather has been slow for some time 19:47
lue moritz: I was thinking that it was just another symptom of the general slowness, but wasn't sure. 19:48
moritz j: say 42
camelia rakudo-jvm 6d54dc: OUTPUT«42␤»
timotimo guidance, please?
moritz timotimo: I'd say it is just assumed that the limit isn't reached until the arity of the checker is satisfied 19:50
dalek ecs: 763b4b3 | lue++ | S32-setting-library/Str.pod:
[S32::Str] Remove Str.normalize

The method makes no sense in light of S15, with separate types for each normalization form. Fully updating S32::Str to agree with S15 still needs to be done.
19:52
Ben_Goldberg j: my @x := 1, 2, { (^10).pick } ... *; say @x[^10] 19:53
camelia rakudo-jvm 6d54dc: OUTPUT«1 2 3 6 3 8 4 0 3 8␤»
timotimo github.com/perl6/specs/issues/58 ← my thoughts on the topic agree with moritz 19:54
moritz: i'll go ahead and implement that. 19:55
Ben_Goldberg n: say { (^10).pick } ... * == *; 19:57
camelia niecza v24-108-g17d73e4: OUTPUT«1 2 2␤»
Ben_Goldberg n: say { (^10).pick } ... * == *;
camelia niecza v24-108-g17d73e4: OUTPUT«3 4 8 0 3 9 3 8 5 8 2 8 4 5 3 0 1 7 9 6 6␤»
timotimo ah, even niecza already has that :) 20:00
ajr_ Just to let you know, 2013.12 appears to have downloaded and installed successfully. 20:07
timotimo r: say -Inf ~~ -Inf
woolfy FROGGS++ for star release!
camelia rakudo-parrot 6d54dc, rakudo-jvm 6d54dc: OUTPUT«True␤»
timotimo er, but lue made the star release, woolfy 20:08
woolfy preflex: karma FROGGS
timotimo have you had something to drink? :)
diakopter dehydrated
woolfy OOPS sorryy..... lue++ for star release 20:09
FROGGS++ for many other things :-)
timotimo :3
lue woolfy: no problem. :)
woolfy timotimo: yesterday at xmas part at lizmat' sis... prosecco, Belgian beer, Austrian Marzipan-Creme-Likör, and whisky. 20:11
(no hangover though)
timotimo very good :) 20:12
timotimo and more tests passing for rakudo \o/ 20:14
p: (1 ... *)[^10].say 20:22
camelia rakudo-parrot 6d54dc: OUTPUT«1 2 3 4 5 6 7 8 9 10␤»
timotimo locally, that gives me an error all of a sudden ... ?!?
moritz timotimo: that's not good :-) 20:33
timotimo i made a silly little mistake 20:37
xenoterracide can I modify a class, without modifying the source or subclassing, in a way that would modify all instances of the class on the system? (or at least all new instances) 20:50
moritz xenoterracide: yes, to the degree that "modify" means "add new stuff to it" 20:53
with use MONKEY_TYPING; augment class YourClass { new definitions here }
xenoterracide moritz: that's cool, where's that documented? 21:00
timotimo oh! 21:01
the endpoint check causes it to give a negative direction if the $endpoint is a code object
xenoterracide debates on whether I want to write this system I want to write in p5 or p6 21:02
timotimo r: say (1 ... * > 100)[^10]; 21:04
camelia rakudo-parrot 6d54dc, rakudo-jvm 6d54dc: OUTPUT«1 0 -1 -2 -3 -4 -5 -6 -7 -8␤»
moritz xenoterracide: S12 (and to a lesser degree S02) 21:05
timotimo i thought this was a bug i caused
fortunately it's already there
TimToady r: say 1 cmp * > 100
camelia rakudo-parrot 6d54dc, rakudo-jvm 6d54dc: OUTPUT«WhateverCode.new()␤»
timotimo ohai timtoady :)
TimToady xenoterracide: do you want it fast, or readable? 21:06
timotimo TimToady: IMO, with perl6 it will stay readable and become faster; with perl5 it will stay unreadable and fast :P
TimToady r: my $f = * > 100; say 1 cmp $f
camelia rakudo-parrot 6d54dc, rakudo-jvm 6d54dc: OUTPUT«More␤»
TimToady r: my $f = * > 100; say $f.Num 21:07
camelia rakudo-jvm 6d54dc: OUTPUT«No such method 'Num' for invocant of type 'WhateverCode'␤␤»
..rakudo-parrot 6d54dc: OUTPUT«No such method 'Num' for invocant of type 'WhateverCode'␤ in block at /tmp/nECXtRXwo8:1␤␤»
TimToady r: my $f = * > 100; say +$f
camelia rakudo-parrot 6d54dc: OUTPUT«Cannot call 'Numeric'; none of these signatures match:␤:(Mu:U \v: Mu *%_)␤ in any at gen/parrot/BOOTSTRAP.nqp:1218␤ in any at gen/parrot/BOOTSTRAP.nqp:1209␤ in method Numeric at gen/parrot/CORE.setting:985␤ in sub prefix:<+> at gen/parrot…»
..rakudo-jvm 6d54dc: OUTPUT«Cannot call 'Numeric'; none of these signatures match:␤:(Mu:U \v: Mu *%_)␤ in any at gen/jvm/BOOTSTRAP.nqp:1201␤␤»
TimToady r: my $f = * > 100; say 1 after $f 21:08
xenoterracide TimToady: now there's a question... I suppose the real question though will be, is how bad will the longterm runtime be, either way I'm going to have to write a lot of code
camelia rakudo-parrot 6d54dc, rakudo-jvm 6d54dc: OUTPUT«True␤»
timotimo TimToady: would it be too magical to special-case code to give an increasing sequence if we only have one starting value in the list
TimToady p: say 10 ... 1 21:09
camelia rakudo-parrot 6d54dc: OUTPUT«10 9 8 7 6 5 4 3 2 1␤»
TimToady it would not be too magical, unless "wrong" is too magical :)
TimToady xenoterracide: longterm, we expect P6 to run faster than P5; shortterm, not so much... 21:10
xenoterracide TimToady: although I imagine this is a very speculative question... and one asked a lot, is there any speculation on how long long term? like 1-2 years before it's on par? 21:13
had a side thought... I wonder how well it'd work p5 became a target vm of p6
TimToady that's one of those futures that will be unevenly distributed; it depends on what you're trying to do
timotimo i think in 2 years we'll have pretty decent performance 21:14
TimToady p5 hasn't got the internals to support p6 well
it it basically would have to emulate the type system, rather than using its native type system 21:15
this is why backporting smartmatching was not very successful 21:16
xenoterracide it's a thought similarly based around people thinking of having it compile to js
v8 is faster than p5 but not /that/ much I think
TimToady but v8 has a type system at a fundamental level that p5 is missing 21:17
xenoterracide ah 21:17
TimToady p5 goes out of its way to smear the fundamental types
timotimo there would probably have to be at least as much trouble for running p6 on p5 as there is for running rakudo on parrot 21:18
TimToady merely using a number as a string means that P5 doesn't any longer know whether it is primarily a number pretending to be a string or a string pretending to be a number
clsn_ Doesn't p6 also sometimes treat numbers-that-look-like-strings differently from other strings?
TimToady only when coming from a medium that confuses them already 21:19
such as command-line args, or user input or the text of your program
xenoterracide TimToady: thanks, (gotta go celebrate the holidays)
TimToady nodnod
TimToady in that sense, <1 2 3> is like «1 2 3» in kinda emulating command line args, just without the interpolation of the latter 21:21
timotimo TimToady: a regular my $foo = 10 won't give a int-str, but if you put < ... > around them it would 21:21
TimToady clsn_: but unlike p5, which just turns those all into a SvPVIV or whatever, p5 distinguishes Int from Str, and both of those from IntStr 21:23
clsn_ I see.
TimToady part of the more general design principle of p6, avoid accidental genericity
intention genericity is fine, and IntStr represents that
*tional
declaring a role is intentional genericity 21:24
so we know the code inside a role must be interpreted more than one way
but p5's multipass parsing is accidental genericity
so the compiler is itself never quite sure what language it's in 21:25
which is why p6 does one-pass parsing :)
timotimo TimToady: you wanted a "p6" instead of "p5" at the end of the last line starting with "clsn_:" 21:26
TimToady timotimo: well, a single <10> should produce an Int
n: say <10>.WHAT
camelia niecza v24-108-g17d73e4: OUTPUT«(Int)␤»
TimToady niecza++
timotimo wasn't there something about wanting to keep the representation of <10_00_00> etc?
TimToady n: say <10_000_000>.WHAT 21:27
camelia niecza v24-108-g17d73e4: OUTPUT«(Int)␤»
timotimo that's supposed to .Str back to 10_000_000 again rather than 10000000, right?
TimToady the presence of _ could be taken to mean an IntStr is desired, I suppose
well, if you really mean that...
timotimo OK, sure
TimToady n: say < 10_000_000 >.WHAT
camelia niecza v24-108-g17d73e4: OUTPUT«(IntStr)␤»
timotimo oh, i see 21:28
TimToady you can always write it like that
timotimo there's that, too
TimToady it's a DW
it's a DWIM, so there's always going to be a bit of WAT
same for lol vs flat dwimmery 21:29
timotimo i'm going for a last spectest run, then i'm going to push my branch and go to bed 21:35
my branch will also contain a change to make 1 ... * > 10 and similar things to give increasing sequences 21:36
TimToady r: my $f = * > 100; say -1 after $f 21:38
camelia rakudo-parrot 6d54dc, rakudo-jvm 6d54dc: OUTPUT«True␤»
TimToady r: my $f = * > 100; say $f after $f 21:39
camelia rakudo-parrot 6d54dc, rakudo-jvm 6d54dc: OUTPUT«False␤»
dalek ast: a734f7c | (Timo Paulssen)++ | S03-sequence/limit-arity-2-or-more.t:
fudge two hanging WIP spectests for sequences
21:43
dalek kudo/multi_arity_sequence_endpoint: c248769 | (Timo Paulssen)++ | / (2 files):
finish up multi-arity-limit, run the pre-existing tests
21:55
kudo/multi_arity_sequence_endpoint: bc572cd | (Timo Paulssen)++ | src/core/operators.pm:
towards @_ support and increasing seqs by default

if the arity of the code for the limit is 0 and the count is Inf, I try to pass all values so far into the code.
in addition, lists that start with a single number and then have a limit block will now be increasing, rather than decreasing (strange to have ... * be increasing and ... * > 5 be decreasing instead)
timotimo good night perl6 people 22:07
[Coke] ~~ 22:15
moritz fwiw the advent calendar had 22.5k visitors, which is a little less than 2011, and more than 2012 22:40
lue ooc, what's the difference between an exception and a control exception? Is "control exception" things like SIGINT ? 22:48
FROGGS isnt a control exeption something like `NEXT`, `REDO`, or `LAST`? 22:52
lue FROGGS: there's a CONTROL {} phaser that catches "control exception"s, and I'm not sure why/how that warrants a CATCH {} variant. 22:54
moritz return() uses control exceptions, for example 22:56
all the things that cause "anormal" control flow 22:57
lue
.oO("Control (flow) Exception")
23:01
moritz: OK, I think it's just a case of me not seeing CONTROL {} in action that makes me wonder about them. :) 23:02