gfldex m: my \longlist = 1,2,4 ... *; say longlist.is-finite; 01:54
camelia rakudo-moar 957dc0: OUTPUT«Method 'is-finite' not found for invocant of class 'Seq'␤ in block <unit> at <tmp> line 1␤␤»
gfldex m: my \longlist = 1,2,4 ... *; say longlist.infinite;
camelia rakudo-moar 957dc0: OUTPUT«Method 'infinite' not found for invocant of class 'Seq'␤ in block <unit> at <tmp> line 1␤␤»
gfldex m: my \longlist = 1,2,4 ... *; say longlist.^methods;
camelia rakudo-moar 957dc0: OUTPUT«(new new-consumed is-ready iterator is-lazy eager List Slip Array elems Numeric Int Bool fmt sink from-loop list item race lazy hyper flat lazy-if cache Str Stringy gist perl Method+{<anon|51797360>}.new Method+{<anon|51797360>}.new Method+{<anon|51797360>…»
gfldex m: my \longlist = 1,2,4 ... *; say longlist.is-lazy;
camelia rakudo-moar 957dc0: OUTPUT«True␤»
Zoffix Perl 6 doesn't have a a concept of infinite lists.
gfldex it would be nice to get hold of the generator 01:55
but then a closure block without the closure variables doesn't make much sense 01:56
Zoffix m: sub foo { dd (Nil for ^10) }; foo() 02:24
camelia rakudo-moar 957dc0: OUTPUT«(Nil, Nil, Nil, Nil, Nil, Nil, Nil, Nil, Nil, Nil)␤»
Zoffix m: sub foo { dd (42 for ^10) }; foo()
camelia rakudo-moar 957dc0: OUTPUT«(42, 42, 42, 42, 42, 42, 42, 42, 42, 42)␤»
Zoffix m: sub foo { 42 for ^10 }; dd foo()
camelia rakudo-moar 957dc0: OUTPUT«Nil␤»
Zoffix kinda expected the return to be the last value; i.e. the
(42, 42, 42, 42, 42, 42, 42, 42, 42, 42)
Also, is anyone else bothered that we use word 'subroutine' universally... except for the title of this page: docs.perl6.org/language/functions 02:25
(and by extension its name in this list docs.perl6.org/language.html ) 02:26
gfldex Zoffix: i try to use routine because that includes subs and methods 02:34
m: sub foo { do 42 for ^10 }; dd foo() 02:35
camelia rakudo-moar 957dc0: OUTPUT«(42, 42, 42, 42, 42, 42, 42, 42, 42, 42)␤»
Zoffix Nice, gfldex++
m: -> $, $ {}.cando: \(42, 45) 03:34
camelia rakudo-moar 957dc0: OUTPUT«Method 'cando' not found for invocant of class 'Block'␤ in block <unit> at <tmp> line 1␤␤»
Zoffix :(
gfldex m: my \b = -> $, $ {}; say &b.signature ~~ \(42, 45) 03:35
camelia rakudo-moar 957dc0: OUTPUT«False␤»
gfldex m: my \b = -> $, $ {}; say \(42, 45) ~~ &b.signature
camelia rakudo-moar 957dc0: OUTPUT«False␤»
gfldex m: my \b = -> $, $ {}; dd &b.signature 03:36
camelia rakudo-moar 957dc0: OUTPUT«Nil␤»
gfldex m: my \b = -> $, $ {}; dd b.signature
camelia rakudo-moar 957dc0: OUTPUT«:($, $)␤»
gfldex m: my \b = -> $, $ {}; dd b.signature ~~ \(42, 45)
camelia rakudo-moar 957dc0: OUTPUT«Bool::False␤»
gfldex m: my \b = -> $, $ {}; dd b.signature ~~ (42, 45) 03:37
camelia rakudo-moar 957dc0: OUTPUT«Bool::False␤»
gfldex m: my \b = -> $, $ {}; dd \(42, 45) ~~ b.signature
camelia rakudo-moar 957dc0: OUTPUT«Bool::True␤»
gfldex Zoffix: ^^^
Zoffix m: my \b = -> $, :$foo {}; dd \(42, :foo) ~~ b.signature
camelia rakudo-moar 957dc0: OUTPUT«Bool::True␤»
Zoffix m: my \b = -> $, :$foo {}; dd \(42) ~~ b.signature
camelia rakudo-moar 957dc0: OUTPUT«Bool::True␤»
Zoffix m: my \b = -> $ {}; dd \(42, :foo) ~~ b.signature 03:38
camelia rakudo-moar 957dc0: OUTPUT«Bool::False␤»
Zoffix Thanks.
dalek kudo/nom: 4eb9a3e | skids++ | src/vm/moar/ops/container.c:
Fix RT#127958 on moarvm... :D smiley containers assigned from Nil

   There is no sensible default default for :D types, blame Kurt Gödel.
   This breaks the assumption that a type's default is a legal value.
   So, check the assigned type even when assigning from the_default.
03:49
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127958
kudo/nom: 0a1d932 | skids++ | src/core/Exception.pm:
Make errors more awesome for types that cannot contain their own type object
kudo/nom: 5500404 | lizmat++ | src/ (2 files):
Merge pull request #829 from skids/nilwithsmilies

c2ae914 | lizmat++ | src/core/Exception.pm: Streamline warning handling a bit
The big problem is still in $backtrace.first-none-setting-line, which we need to make leaner (by not completely reifying the frames inbetween)
lizmat sorry dalek 03:54
Zoffix Why does it do that? It doesn't actually get kicked off by Freenode. 03:55
dalek, source
skids should stick to one line commit messages :-)
Thanks lizmat.
lizmat skids: no, thank you! 03:56
geekosaur looks like either an output lines limit, or it only sees some number of commits at a time (batching on github's end?) 04:10
skids Maybe a proactive limit to prevent a kick. 04:11
Zoffix it's not a limit, 'cause each line is a new message and I've seen it get kicked for flood in the past, so I doubt it's github's fault. I do think this may be a proactive limit. 04:21
dalek, help
dalek, repo
s/not a limit/not a Freenode's max-message limit/; 04:22
kudo/nom: a0161a9 | lizmat++ | src/core/Any-iterable-methods.pm:
Streamline .first adverbed result handling

  - rewritten using nqp ops
  - use underlying native hash for adverb checking
On a .first that returns the first element, there's 25% improvement without any adverbs, and 2x when using the "kv" adverb.
05:41
lizmat .tell jnthn would be nice if foo!method would also get cached, as dispatch:<!> appears quite high in a lot of profiles 06:02
yoleaux2 lizmat: I'll pass your message to jnthn.
dalek kudo/nom: 3dbde5a | lizmat++ | src/core/Any-iterable-methods.pm:
Streamline .grep adverb handling

Reduces the overhead by 10% (no adverbs) to 30% (:v adverb) by using the underlying native hash for checking.
06:59
kudo/nom: 35df199 | lizmat++ | src/core/Any-iterable-methods.pm:
Add some inline docs for !first-result
07:11
Woodi technically, what are a Parrot prospects ? is it possible it will be fast like C (or Moar) ? what about code - is it clean or messy ? if no good technical prospect then it should be abandoned ASAP... 07:12
lizmat Woodi: Parrot brought us where we are now 07:25
but it developed an impedance with the Perl 6 development 07:26
which accelerated the development of multiple backend support
first JVMa
Woodi lizmat: I'm for (sentimental reasons)++ too... but what about technical state ? 07:27
lizmat and when that was there, MoarVM (which, looking back with 20/20 hindsight) is what Parrot should have been
no commits for the past 6 months
the last people interested in developing it, have started working on other projects 07:28
ShimmerFairy I personally see no reason to keep hope for the ex-parrot around if it's not going anywhere, but that's just me of course :) .
Woodi no-one-is-working is not technical... maybe refactoring is enought, maybe parrot 2.0 would help (if there is a reason for that)... 07:29
ShimmerFairy Woodi: IIRC Parrot got pretty bloated, slow, and perhaps even hard to maintain in the end. I don't know much about its guts myself, just that I can't think of a good reason to hope it'll come back someday. 07:31
dalek kudo/nom: 4551803 | lizmat++ | src/core/Any-iterable-methods.pm:
Streamline .first iterating (about 10% faster)

  - rewrite in nqp::ops
  - finding match after testing 1000 elements
07:42
nine lizmat: looks like those failures are caused by use Test; use lib 't/spec/packages'; use Test::Util; # which again loads Test 07:46
lizmat so changing the order in the test files would fix the spectest issue 07:47
ah, no, because then it won't find Test::Util
right?
nine lizmat: yes, the better order is use lib 't/spec/packages'; use Test; use Test::Util; 07:48
lizmat: I just wonder if there is a way to keep it working like it is
lizmat well, yes, because one would expect it to work, no?
or are we saying: once you've used a module, you can't do a 'use lib' anymore ? 07:49
nine We've said that since ~ November :) Well, we've turned precomp off if you did that so people didn't really notice, except for a huge startup time hit. 07:51
The real cause of the failures is github.com/rakudo/rakudo/commit/04...8c9dfaab0d
lizmat hmmm.... the situation in t/spec/S10-packages/basic.t is a bit more complicated, it seems 07:54
breakfast& 07:57
nine Actually I think it would work if all tests either use lib first or after use Test. It's the mix that kills us. 08:03
One test does use lib 't/spec/packages'; use Test; use Test::Util; So Test gets compiled into t/spec/packages. 08:04
Another one does use Test; use lib 't/spec/packages'; use Test::Util; So Test gets compiled into lib, then we change the repo and load Test::Util which is compiled against the Test in t/spec/packages. 08:05
We are even smart enough to know that there's something fishy, so we re-resolve Test to see if we'd really still load the same Test and indeed, we would. 08:06
It's just that we've already loaded a Test from lib which we wouldn't do now.
The thing is that the precomp id (the SHA hash used for the file name) contains $*REPO.id which identifies the whole repo-chain. So when you use lib, we arrive at a different id, even if you try to load exactly the same module from the same repository. 08:08
This is a measure that causes us to when in doubt, rather compile a fresh one that use a possibly stale precomp file. But I'm not sure if it's actually needed anymore. 08:09
If I heard such a story at work, I'd recommend writing a list of all known use cases to check theories against. Which almost no one ever does, because we're all lazy and far too pround of our brains... 08:26
dalek ast: 1603f0f | lizmat++ | S0 (2 files):
Fix order of loading modules

So that we can actually test them
08:40
timotimo lizmat: what does "finding match after testing 1000 elements" mean? %) 09:00
lizmat (flat ^1000,"a").first(Str) 09:01
timotimo ah, that's just a reference to the 10% speedup number? 09:02
lizmat yeah
timotimo OK :) 09:04
dalek ast: fa9a6b0 | LLFourn++ | S04-declarations/smiley.t:
Tests for RT #127958
10:17
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127958
dalek kudo/nom: 852d81c | lizmat++ | src/core/Any-iterable-methods.pm:
Streamline .first(:end) iterating (about 10% faster)

  - when finding match after testing 1000 elements
  - rewrite in nqp::ops
11:45
lizmat afk again& 11:49
dalek p/noparrot: fda900e | moritz++ | src/vm/moar/ModuleLoader.nqp:
Reword a comment that really was not about Parrot anymore
11:56
p/noparrot: 9282327 | Coke++ | docs/nqp-overview.txt:
remove reference to non-existent directory
15:29
p/noparrot: 9dc85d1 | Coke++ | src/vm/j (2 files):
remove cut-and-paste comment from parrot
p/noparrot: 5a717bb | Coke++ | docs/ops.markdown:
remove reference to parrot vm behavior
kudo/nom: 906a46e | TimToady++ | src/Perl6/Grammar.nqp:
better warnings on sequence ... in term position

Instead of inflicting the overhead of the ... test on every comma parse, we instead look backwards from much less common term:sym<...> parser and check for a stub following a comma or a function call. Also, change panic to worry as the TODO suggested.
15:58
kudo/nom: 0419194 | TimToady++ | src/Perl6/Grammar.nqp:
term:<...> could also indicate missing args

When we warn, we should give suggestions on both sides of the ambiguity.
16:25
gfldex m: lizmat weekly input: gist.github.com/gfldex/1f2285045a1...6bd1548446 16:52
camelia rakudo-moar 041919: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Confused␤at <tmp>:1␤------> lizmat weekly input: https:⏏//gist.github.com/gfldex/1f2285045a1a5ad␤ expecting any of:␤ colon pair␤»
gfldex lizmat: weekly input: gist.github.com/gfldex/1f2285045a1...6bd1548446 16:53
[Coke] FYI, we have 2 examples on rosettacode marked as needing attention: Amb, and Sieve of Eratosthenes 17:10
unmatched} There was another about sockets and promises. It no longer works on modern rakudo, saying you can't thread a socket 17:11
gfldex++ The bigpage is awesome. 17:12
Tho "NetworkError: 404 Not Found - docs.perl6.org/pod-to-bigpage.css"
510 pages :o Slap a cover on it and you get the Perl 6 book everyone seems to want XD 17:15
gfldex unmatched}: that's intentional. If you download the file you can drop pod-to-bigpage.css into the same dir and fiddle with the CSS (printing is still crap)
i tried xmldiff to create diffs. With a 16GB swap file, the oom killer killed my linux box. 17:16
well, xmldiff is written in python, so bless them
[TuxCM] This is Rakudo version 2016.07.1-57-g0419194 built on MoarVM version 2016.07-4-g236058a 17:39
test 15.053
test-t 8.153
csv-parser 16.018
stmuk hmm has anyone tried creating the docs as .epub or .mobi? 17:43
or using calibre 17:44
geekosaur not recently 17:51
hm, actually I think there weren't any p6 docs when I was doing that (pugs was still a going concern!) 17:52
dalek ar: 2b2f9c4 | coke++ | tools/star/release-guide.pod:
fix typo
18:05
unmatched} :) I noticed it after my PR was merged but I didn't want to bug with yet another PR fixing a typo :) 18:19
What protocol do we have in place for adding features to Rakudo? I recall there was a mention about new branches or somesuch 18:55
The feature being another multi for a method that would provide extra functionality irclog.perlgeek.de/perl6/2016-07-25#i_12905687 18:56
timotimo TimToady: is the <...> optimization noticable in stage parse? 19:01
TimToady unlikely
but I don't see how it can hurt, since commas are much more common than stubs
timotimo if it has overhead on every comma parse, that could add up to something big
timotimo AFKBBL 19:02
lizmat gfldex++ 19:21
unmatched} FWIW, my stage parse is now at 48.332, but used to float at 45 in the past. 19:24
PR to extend IO::Path.basename. I've not proofread the description 'cause I gotta run catch my bus, but I think it's fine: github.com/rakudo/rakudo/pull/832 19:51
hoelzro unmatched} =:= Zoffix? 19:54
perlpilot aye 19:55
hoelzro I've been so confused with all the Zoffix aliases lately o_O
dalek p: 956c4ce | (Pawel Murias)++ | src/vm/js/ (4 files):
[js] Move the cost of getting of the current code ref to when it's actually done.
21:06
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2016/07/25/...kudo-star/ 21:20
moritz lizmat++ 21:23
lizmat good night, #perl6-dev! 21:25
Zoffix night 21:26
hoelzro, It's easy. There's the Real Zoffix and fake zoffixes who ain't got the right stuff ;)
lizmat++ # good weekly 21:48
jnthn lizmat++ # keeping me up to date :) 22:07
yoleaux2 06:02Z <lizmat> jnthn: would be nice if foo!method would also get cached, as dispatch:<!> appears quite high in a lot of profiles
jnthn Innerestin' Perl6::Optimizer is meant to deal with those... :)
(And avoid dispatch:<!> in most cases) 22:08
'night, #perl6 22:19