Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-09-25

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 leont japhb: cute, but not very intuitive
00:17 tokuhiro_ joined #perl6
00:18 TimToady m: say (Nil) => Nil
00:18 camelia rakudo-moar 4653d9: OUTPUT«(Any) => Nil␤»
00:18 TimToady hmm
00:20 timotimo do we know what's wrong with CURL::I?
00:20 timotimo CUR::L::I?
00:20 timotimo CURLI?
00:22 laouji joined #perl6
00:23 * adu <3 cURL
00:24 ShimmerFairy timotimo: we seem to have agreed on tossing the namespace 'sigils' (?) in the abbreviation of CURL, CURLF, and CURLI :)
00:28 pink_mist do those names actually have to do with curl(1)?
00:30 pink_mist (had it only been CURL, I would have assumed so, but with CURLF and CURLI thrown into the mix I'm less sure)
00:31 timotimo separators, eh?
00:31 timotimo Comp Unit Repository:: Local:: Installation
00:31 timotimo in this case
00:33 ShimmerFairy pink_mist: well, if your module installer uses curl to download the modules it installs... :P
00:33 pink_mist hehe :P
00:37 timotimo it could
00:37 timotimo that'd also allow us to distribute our modules via gopher
00:38 larion joined #perl6
00:40 laouji joined #perl6
00:40 ShimmerFairy timotimo: I'm personally excited to see if gentoo's portage/emerge could do P6 module installation 'natively', as opposed to going through other installers like they do for other languages :3
00:43 laouji joined #perl6
00:59 timotimo is paludis still a thing, btw?
01:03 dalek roast: 71be130 | TimToady++ | S02-types/pair.t:
01:03 dalek roast: make sure pairs can take Nil and such as key
01:03 dalek roast: review: https://github.com/perl6/roast/commit/71be1303c1
01:03 dalek roast: f31fbab | TimToady++ | S32-exceptions/misc.t:
01:03 dalek roast: make sure return errors report Nil and Junction ok
01:03 dalek roast: review: https://github.com/perl6/roast/commit/f31fbab83c
01:03 dalek rakudo/nom: 77d6f04 | TimToady++ | src/core/Range.pm:
01:03 dalek rakudo/nom: exception wants a type, not a string
01:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/77d6f04045
01:03 dalek rakudo/nom: b02c4e1 | TimToady++ | src/core/traits.pm:
01:03 dalek rakudo/nom: allow 'is default' on attributes
01:03 dalek rakudo/nom:
01:03 dalek rakudo/nom: It simply sets the default slot in the container_descriptor that
01:04 dalek rakudo/nom: the attribute already has one of.  And seems to work right.
01:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b02c4e1973
01:04 dalek rakudo/nom: 8c9be89 | TimToady++ | src/core/Exception.pm:
01:04 dalek rakudo/nom: use defaults on attrs to allow Mu/Nil type reports
01:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8c9be895a7
01:04 dalek rakudo/nom: 8edd1cd | TimToady++ | src/core/Pair.pm:
01:04 dalek rakudo/nom: Pair should allow Nil keys and values
01:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8edd1cdac9
01:04 dalek rakudo/nom: 1b73d7a | TimToady++ | src/core/Pair.pm:
01:04 dalek rakudo/nom: forgot => and pair() also need the Mu treatment
01:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1b73d7a313
01:04 dalek rakudo/nom: 9e2dd67 | TimToady++ | lib/Test.pm:
01:04 dalek rakudo/nom: allow checking 'got' against Nil
01:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9e2dd6709e
01:04 ShimmerFairy timotimo: don't know what that is
01:05 TimToady .tell lizmat turns out adding 'is default' to an attribute's container descriptor was a 3-line patch :)
01:05 yoleaux TimToady: I'll pass your message to lizmat.
01:07 ShimmerFairy timotimo: looking now, and it seems interesting so far. Haven't had a problem with portage myself, but then again I don't really mess with any of the code or ebuilds :)
01:19 abaugher joined #perl6
01:25 TimToady m: say (Nil) => Nil
01:25 camelia rakudo-moar 9e2dd6: OUTPUT«Nil => Nil␤»
01:27 TimToady m: sub foo(--> Nil) { 42 }; foo
01:27 camelia rakudo-moar 9e2dd6: OUTPUT«Type check failed for return value; expected 'Nil' but got 'Int'␤  in sub foo at /tmp/NVYwJX_SCx:1␤  in block <unit> at /tmp/NVYwJX_SCx:1␤␤»
01:27 TimToady \o/
01:27 TimToady dinner &
01:35 helloworldlang joined #perl6
01:37 helloworldlang what is the the surrounding list?
01:37 thou joined #perl6
01:45 aborazmeh joined #perl6
01:45 aborazmeh joined #perl6
01:46 timbunce_ joined #perl6
01:46 lolisa joined #perl6
01:47 dnmfarrell joined #perl6
01:53 geekosaur errr. context?
02:05 chenryn joined #perl6
02:08 helloworldlang what is the the surrounding list?
02:14 zakharyas joined #perl6
02:17 Zoffix helloworldlang, you'd get a more helpful response if you explained the context. Where are you seeing that term?
02:17 MadcapJake joined #perl6
02:24 helloworldlang Flattening is the idea that an @-like thing will, in certain contexts, have its values automatically incorporated into the surrounding list.
02:25 helloworldlang in page http://design.perl6.org/S07.html
02:26 Zoffix helloworldlang, I don't know Perl 6, but in other languages that would mean that, say, [ 'foo', [1, 2, 3], 'bar'], when flattened, would become ['foo', 1, 2, 3, 'bar']
02:27 Zoffix so 'list' [1, 2, 3], when flattened is incorporated into the "parent" 'list', [ 'foo', $this, 'bar']
02:27 geekosaur yes
02:28 geekosaur perl 5 has this thing where if you have a list inside another list, it "gets absorbed" into the outer list
02:28 geekosaur implicit flattening
02:29 geekosaur but perl 5's notion of what a "list" is for that purpose, many people find confusing. perl 6 is trying to be more clear about such things (and a great many other fun perl5-isms that often trap the unwary...)
02:33 lolisa joined #perl6
02:34 dalek rakudo-star-daily: d302375 | coke++ | log/ (9 files):
02:34 dalek rakudo-star-daily: today (automated commit)
02:34 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/d3023757c6
02:35 samb1 joined #perl6
02:38 BenGoldberg m: https://gist.github.com/BenGo​ldberg1/bc39a9a31eaeb733012a
02:38 camelia rakudo-moar 9e2dd6: OUTPUT«Cannot send a message on a closed channel␤  in block <unit> at /tmp/8zxPwX29g7:33␤␤»
02:38 [particle] joined #perl6
02:40 * BenGoldberg is confused.
02:41 BenGoldberg If I never call .close on a Channel object until after I'm done sending into it, then the above error shouldn't be able to occur, yes?
02:41 noganex joined #perl6
02:42 Zoffix Can someone that knows Perl 6 see if this entry is wrong: https://en.wikipedia.org/wi​ki/Fluent_interface#Perl_6  Shouldn't the last line of code be say $employee.gist; ?
02:43 geekosaur "say" does .gist
02:43 Zoffix Weird. :)
02:44 * Zoffix should find time to learn Perl 6
02:44 geekosaur if you want the whole thing, use print instead of say
02:44 geekosaur (or some other output)
02:46 mr_ron joined #perl6
02:47 rurban joined #perl6
02:47 mr_ron Why can't the rakudo star daily find URI::Escape?
02:49 * Zoffix is not seeing URI::Escape neither in modules.perl6.org nor in Task::Star
02:50 Zoffix Looking at some other channels, it seems Perl 6 is getting some negative rep because you can't put method calls on new lines, like say, here (look at last lines): https://en.wikipedia.org/w​iki/Fluent_interface#Ruby
02:50 Zoffix The given {} bit feels to verbose here: https://en.wikipedia.org/wi​ki/Fluent_interface#Perl_6
02:50 geekosaur you can but you need to use an unspace. which I agree is a bit unfortunate
02:51 dnmfarrell URI::Encode
02:51 kaare__ joined #perl6
02:51 mr_ron It's part of URI.  If you install URI you get URI::Escape with it ...
02:51 Zoffix geekosaur, would you be able to provide an example? I'm not getting any matches for unspace on http://doc.perl6.org/
02:52 geekosaur ?
02:52 Zoffix how would I use unspace. ?
02:52 geekosaur I just entered "unspace" in the search box and the first hit talks about it
02:52 Zoffix 0.o
02:52 geekosaur oh
02:52 geekosaur http://design.perl6.org/
02:53 Zoffix Oh, I was using the wrong website, sorry.
02:53 geekosaur if you are somewhere else then the docs you are seeing may be out of date (or not indexed properly)
02:53 * Zoffix was looking at http://doc.perl6.org/
02:53 geekosaur anyway the idea of unspace is that a backslash followed by any (nonempty) amount of any kind of whitespace is "invisible"
02:54 geekosaur yeh. I reclal that being way out of date and unmaintained. and down for a while I think
02:54 geekosaur http://design.perl6.org/S02.html#Unspaces
02:55 geekosaur anyway, it works but I find the backslashes (a) cluttery (b) too reminiscent of the more annoying aspects of shell scripting
02:55 dnmfarrell mr_ron: you've installed URI, but cannot use URI::Escape, is that the issue?
02:56 geekosaur maybe the question is "CPAN can find the package for a module by module name, shouldn't we as well"?
02:57 mr_ron No, I just noticed that "rakudo-star-daily" autocommit had lots of errors about no seeing URI::Escape http://irclog.perlgeek.de/p​erl6/2015-09-25#i_11272436
02:57 geekosaur right, I feel like modules.perl6.prg is indexing packages, not modules
02:57 geekosaur *.org
02:59 Zoffix Is it difficult to make Perl 6 accept method calls on new lines without unspaces?
03:01 Zoffix Looking at other languages on https://en.wikipedia.org/wiki/Fluent_interface, I get a feel that Perl 6 should not be listed there at all.
03:02 ShimmerFairy Zoffix: it would count as TTIAR, since  .method  means  $_.method, thus  $foo .bar  really means  $foo $_.bar
03:02 ShimmerFairy Zoffix: and before you ask, it's too late to make  .method  not mean that anymore :P
03:03 Zoffix ShimmerFairy, what's "TTIAR"?
03:03 ShimmerFairy Two Terms In A Row
03:03 Zoffix Ah
03:03 ShimmerFairy m: say 42 42
03:03 camelia rakudo-moar 9e2dd6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/5Xou6G3CeR␤Two terms in a row␤at /tmp/5Xou6G3CeR:1␤------> 3say 427⏏5 42␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        statement…»
03:04 Zoffix It's never too late! :)
03:05 Zoffix By why does it mean that? I don't know Perl 6, so I'm speaking from ignorance, but isn't $foo \n .bar; unambiuous, since $foo \n $_.bar is an error anyway, since there's no semicolon?
03:05 ShimmerFairy trust me, there are cases where I personally think an implied $_ is not that useful (m// being the main thing for me, since I _always_ do $thing ~~ m//), but there's no hope of making people use $_ in their code more :)
03:06 ShimmerFairy Zoffix: If I'm correct (I don't know the correct reason for sure off-hand), it's because method calls are a postfix operation, and you generally can't put space between a term and a postfix
03:07 ShimmerFairy m: my $a = 41; $a ++; say $a
03:07 camelia rakudo-moar 9e2dd6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/gUilA_Iyko␤Prefix + requires an argument, but no valid term found␤at /tmp/gUilA_Iyko:1␤------> 3my $a = 41; $a ++7⏏5; say $a␤    expecting any of:␤        prefix␤»
03:07 ShimmerFairy ^ an example of this
03:07 Zoffix Ah
03:10 chencho joined #perl6
03:12 mr_ron left #perl6
03:26 makapa joined #perl6
03:30 geekosaur perl 6 has a number of places where whitespace is significant
03:31 geekosaur I think in the end it's probably better than what perl 5 does with print ($x + 2) * 3;...
03:32 uvtc joined #perl6
03:33 uvtc Is there a video available to go with jnthn's recent "Perl 6 hands-on tutorial" slides?
03:33 uvtc (Swiss Perl Workshop 2015)
03:35 helloworldlang p6: my @a = 1,2,3; my @b; @b.push: @a,;
03:35 camelia rakudo-moar 9e2dd6: ( no output )
03:35 helloworldlang p6: my @a = 1,2,3; my @b; @b.push: @a,; say @b;
03:35 camelia rakudo-moar 9e2dd6: OUTPUT«[1 2 3]␤»
03:36 helloworldlang p6: my @a = 1,2,3; my @b; @b.push: (@a,); say @b;
03:36 camelia rakudo-moar 9e2dd6: OUTPUT«[[1 2 3]]␤»
03:36 helloworldlang p6: my @a = 1,2,3; my @b; @b.push: @a,; say @b;
03:36 camelia rakudo-moar 9e2dd6: OUTPUT«[1 2 3]␤»
03:41 [Coke] there was only one video made at the SPW - the Q&A with larry - https://www.youtube.com/watch?v=zmNInkzaYLc
03:42 uvtc [Coke]: Yup, saw that one. With you hosting!
03:42 uvtc Thanks.
03:45 [Coke] </plug>
03:46 uvtc :) Also nice --- when no video is available --- is when there's an approx textual transcription under each slide.
04:07 vendethiel joined #perl6
04:22 electricface joined #perl6
04:22 chenryn joined #perl6
04:24 laouji joined #perl6
04:26 rmgk_ joined #perl6
04:27 ShimmerFairy joined #perl6
04:32 uvtc left #perl6
04:47 kanishka joined #perl6
04:57 chenryn joined #perl6
05:03 dnmfarrell joined #perl6
05:08 adu joined #perl6
05:14 telex joined #perl6
05:40 ShimmerFairy t/spec/S32-io/IO-Socket-Async.t hangs for me :(
05:43 chenryn p6: say -3%2;
05:43 yoleaux 22 Nov 2014 04:30Z <JimmyZ> chenryn: 那个是匿名变量
05:43 camelia rakudo-moar 9e2dd6: OUTPUT«1␤»
06:04 dalek rakudo/nom: f347690 | ShimmerFairy++ | t/harness:
06:04 dalek rakudo/nom: Have harness run with 'trap' enabled
06:04 dalek rakudo/nom:
06:04 dalek rakudo/nom: This lets you still get a test summary if you send a SIGINT, which means
06:04 dalek rakudo/nom: you can quit out of the spectest if one of them is hanging by typing ^C,
06:04 dalek rakudo/nom: and still get a summary of whatever was run. Inspired by the fact that I
06:04 dalek rakudo/nom: would've appreciated this when I ran the spectest just now :) .
06:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f3476903e4
06:04 dalek rakudo/nom: c84ff30 | ShimmerFairy++ | t/harness:
06:04 dalek rakudo/nom: Remove leftover parrot cruft from t/harness
06:04 dalek rakudo/nom:
06:04 dalek rakudo/nom: This includes the icu option (since, as I recall, that was a Parrot
06:04 dalek rakudo/nom: thing, and there are no # icu lines in spectest.data anymore anyway), as
06:04 dalek rakudo/nom: well as the parrot-revision option and attempts to use perl6-p or fudge
06:04 dalek rakudo/nom: on rakudo.parrot.
06:04 dalek rakudo/nom:
06:04 dalek rakudo/nom: The ternaries that were modified simply default to moar now. I figured
06:04 dalek rakudo/nom: that would be the safest option, though I could also see some sort of
06:04 dalek rakudo/nom: exception being thrown in those spots instead, or something along those
06:04 dalek rakudo/nom: lines.
06:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c84ff300d5
06:06 tony-o CURLI!!!!
06:10 diana_olhovik joined #perl6
06:11 espadrine joined #perl6
06:18 domidumont joined #perl6
06:26 FROGGS joined #perl6
06:26 Ven joined #perl6
06:28 xfix joined #perl6
06:28 araujo_ joined #perl6
06:29 aiacob joined #perl6
06:42 [Tux] test             50000    34.938    34.837
06:42 [Tux] test-t           50000    35.454    35.353
06:57 nwc10 joined #perl6
06:57 nwc10 hi.
06:57 nwc10 commit f3476903e466c047d95d888639c0f7750e3c6fd8
06:57 nwc10 Have harness run with 'trap' enabled
06:57 nwc10 Breaks on older versions of Test::Harness.
06:57 nwc10 that's somewhat LTA
06:58 nwc10 Unknown arguments to TAP::Harness::new (trap) at t/harness line 120
06:58 nwc10 offhand I don't know what the minimum version needed is
06:58 nwc10 I suspect that the Awesome fix is to optionally add that argument if $TAP::Harness::VERSION is new enough
07:00 ShimmerFairy http://perldoc.perl.org/5.20.1/TAP/Harness.html  mentions nothing about what version 'trap' is for, and since it does mention a couple "NEW in" lines, presumably it's been around for a while.
07:00 ShimmerFairy How old is your TAP::Harness?
07:02 ShimmerFairy rather, Test::Harness
07:02 xinming joined #perl6
07:03 nwc10 3.17
07:04 nwc10 https://metacpan.org/change​s/distribution/Test-Harness
07:04 nwc10 3.22    2010-08-14
07:04 nwc10 - Add --trap (summary on Ctrl-C) option to prove (#59427).
07:05 FROGGS nwc10++
07:05 ShimmerFairy woah, that's from five years ago O_o
07:05 RabidGravy joined #perl6
07:06 nwc10 sometimes I think "woah, it's still using Perl 5" :-/
07:06 nwc10 after all, Perl 5 isn't using Perl 4 to run its tests :-)
07:08 ShimmerFairy nwc10: true, I frequently wonder when we can replace P5 stuff in rakudo with P6 :P  (though IIRC P5 doesn't do its config in P5...)
07:10 ShimmerFairy nwc10: honestly, I'm used to implicit *%_ enough that I'm surprised it balked at the strange named :P
07:16 masak nwc10: optionally adding the argument based on version sounds sane.
07:17 ShimmerFairy I agree, even though I'm very tempted to say "this was added five years ago, why are you so outdated?" :P  (Then again, I guess I just don't understand how P5 upgrading works, or something.)
07:18 masak people are running old versions of a lot of things.
07:18 masak frequent/timely updates sometimes seem to be the exception, not the rule
07:20 ShimmerFairy masak: I guess it's just weird to me since I keep a bleeding-edge copy of rakudo (and LLVM whenever I remember it), and I'm toying with the idea of finally installing a C++14 capable version of gcc, despite gentoo still marking them unstable :)
07:21 [Tux] http://tux.nl/Talks/CSV6/test-t.jpg (all reports taking longer than 75 seconds stripped)
07:22 masak ShimmerFairy: https://en.wikipedia.org/wi​ki/Diffusion_of_innovations
07:25 ShimmerFairy masak: I think another reason is that 5 years ago in Perl 6, we still had only parrot (and IIRC rakudo was itself fairly new), so I can't help but automatically think that a version of Perl from a few years back shouldn't be very maintainable anymore :P
07:26 masak heh.
07:26 masak I'm sure at least some would agree with you.
07:27 ShimmerFairy Though on the other side I'm sure it's a testament to P5 that you can get away with lagging behind for half a decade :D
07:29 abraxxa joined #perl6
07:30 masak the sad thing about "DarkPAN" users of Perl is that they often don't upgrade, and don't immediately see why they should. thus increasing the distance and isolation with connected community people.
07:30 masak s/with/from/
07:33 ShimmerFairy .oO(Spell it like DARKPAN, it reads like some sort of edgy cyber-enemy from an 80's/90's movie)
07:34 nwc10 I wonder how the average age of Perl installs compares with that of Python installs
07:36 masak fwiw, I saw Python people being stuck with Python 2.6 sometimes.
07:36 masak I think that was due to some default Linux distro install, maybe.
07:36 Ven joined #perl6
07:37 ShimmerFairy Reading  http://www.modernperlbooks.com/mt/2009/02/the-dark​pan-dependency-management-and-support-problem.html  , I kinda hope we don't end up being quite so careful in the future of Perl 6. I like the idea that big and necessary changes can happen :)
07:38 abaugher joined #perl6
07:41 masak I think we'll have a Scylla/Charybdis like situation there, where the "spirit" of the Perl 6 codebase/community is to change things as needed. but we also want to gel more and more as we get more customers and more people depending on stability.
07:42 dalek nqp: a54d49e | ShimmerFairy++ | src/HLL/sprintf.nqp:
07:42 dalek nqp: Remove useless conditional in sprintf
07:42 dalek nqp:
07:42 dalek nqp: Unless I've severely forgotten my math, a < b && a > b  is never True.
07:42 dalek nqp: This ternary inside an if statement was effectively testing that,
07:42 dalek nqp: meaning the False portion would always happen. Doesn't make a difference
07:42 dalek nqp: to remove this ternary, but I think it's nice to not be using a
07:42 dalek nqp: conditional that isn't very conditional :) .
07:42 dalek nqp: review: https://github.com/perl6/nqp/commit/a54d49e778
07:43 ShimmerFairy masak: sure. Perhaps a good way to do that is to encourage not upgrading to a new version of the standard when you're not willing to correct new problems :)
07:43 leont joined #perl6
07:58 nwc10 mmm, a < b && a > b will always be false, won't it
07:58 nwc10 but a < b || a > b won't always be true
07:58 nwc10 (because NaN)
08:01 ShimmerFairy nwc10: well, math generally only deals with numbers though :P
08:04 RabidGravy ^ This Fedora has has python 2.7 *and* python 3.4 (and must have got installed as deps of something as I didn't do it deliberately)
08:08 ShimmerFairy RabidGravy: I have python2 and python3, but I think that's just how it works out on gentoo :)
08:09 dalek doc/MARTIMM-patch-1: eb77e04 | (Marcel Timmerman)++ | lib/Language/functions.pod:
08:09 dalek doc/MARTIMM-patch-1: small changes
08:09 dalek doc/MARTIMM-patch-1:
08:09 dalek doc/MARTIMM-patch-1: - Modified a pod command at line 351
08:09 dalek doc/MARTIMM-patch-1: - A typo at line 395
08:09 dalek doc/MARTIMM-patch-1: review: https://github.com/perl6/doc/commit/eb77e04289
08:10 dakkar joined #perl6
08:12 darutoko joined #perl6
08:14 masak m: class W {}; multi infix:<< < >>($a, $b) { True }; multi infix:<< > >>($a, $b) { True }; my ($a, $b) = W.new xx *; say $a < $b && $a > $b
08:14 camelia rakudo-moar c84ff3: OUTPUT«Ambiguous call to 'infix:<<>'; these signatures all match:␤:(\a, \b)␤:($a, $b)␤  in block <unit> at /tmp/1sejb7Djt1:1␤␤»
08:14 masak m: class W {}; multi infix:<< < >>(W $a, W $b) { True }; multi infix:<< > >>(W $a, W $b) { True }; my ($a, $b) = W.new xx *; say $a < $b && $a > $b
08:14 camelia rakudo-moar c84ff3: OUTPUT«True␤»
08:14 masak nwc10: ^
08:16 ShimmerFairy cheater :P
08:16 masak cheating is technique. :)
08:16 jack_rabbit_ joined #perl6
08:17 masak but I agree that with Real things there's an expectation that `a < b && a > b` is never true.
08:18 ShimmerFairy masak: the only mathematical place I know where that breaks down is the real projective line, or whatever the one is that connects both ends of the real number line to Inf
08:19 dalek doc: eb77e04 | (Marcel Timmerman)++ | lib/Language/functions.pod:
08:19 dalek doc: small changes
08:19 dalek doc:
08:19 dalek doc: - Modified a pod command at line 351
08:19 dalek doc: - A typo at line 395
08:19 dalek doc: review: https://github.com/perl6/doc/commit/eb77e04289
08:19 dalek doc: d884b12 | RabidGravy++ | lib/Language/functions.pod:
08:19 dalek doc: Merge pull request #133 from perl6/MARTIMM-patch-1
08:19 dalek doc:
08:19 dalek doc: small changes
08:19 dalek doc: review: https://github.com/perl6/doc/commit/d884b12824
08:20 ShimmerFairy (and for that weird number line, then it becomes a < b ↔ a > b, if I'm not mistaken ☺)
08:25 psch ShimmerFairy: from what i understand from wikipedia that's wrong
08:25 ShimmerFairy psch: my use of ↔ or my mention of the number line?
08:25 psch ShimmerFairy: the real projective line is cyclically ordered, which means you'd have to go from a to Inf to b when a > b
08:25 psch ShimmerFairy: but you won't reach Inf
08:26 ShimmerFairy psch: ah, I could swear I came across a number line where ordering broke down, and I was sure it's the one that looks like a circle :)
08:27 rindolf joined #perl6
08:28 araujo joined #perl6
08:31 psch ShimmerFairy: afaiu that's true for every cycle whos underlying set is countable finite
08:31 psch e.g. 12 pm < 12 am < 12 pm
08:32 ShimmerFairy Maybe the projective real line page once claimed ordering broke down or something, who knows?
08:33 laouji joined #perl6
08:33 * psch shrugs
08:33 psch not like i really learned all of this anywhere else either :)
08:33 Ven joined #perl6
08:33 psch well, school up to a point of course...
08:35 ShimmerFairy psch: I did see a mention of being totally ordered, so I'm inclined to think I misremembered :)
08:41 salv0 joined #perl6
08:43 jnthn morning, #perl6
08:44 Ven joined #perl6
08:45 nwc10 good UGT, jnthn
08:47 _mg_ joined #perl6
08:47 jnthn .oO( given how my throat feels, it's more like URGH-T )
08:48 ShimmerFairy jnthn: hope you're not using any voice-to-text, then :)
08:51 bjz_ joined #perl6
08:52 psch backends don't agree on one specific usage of superstituous parenthesis :(
08:52 psch r: sub f { (sub g { 1 }) }; say f()()
08:53 camelia rakudo-{moar,jvm} c84ff3: OUTPUT«1␤»
08:53 psch r: sub f { sub g { 1 } }; say f()()
08:53 camelia rakudo-moar c84ff3: OUTPUT«1␤»
08:53 camelia ..rakudo-jvm c84ff3: OUTPUT«java.lang.NullPointerException␤  in block <unit> at /tmp/tmpfile:1␤␤»
08:53 psch also hi jnthn, and get well soon jnthn
08:53 jnthn ShimmerFairy: Thankfully not :)
08:55 FROGGS r: sub f { my $ = sub g { 1 } }; say f()()
08:55 camelia rakudo-{moar,jvm} c84ff3: OUTPUT«1␤»
08:55 FROGGS this has been in a workaround in the setting for a while
08:57 Ven joined #perl6
08:57 psch FROGGS: i suppose that means you don't have an idea where to start looking either?
08:57 salv0 joined #perl6
08:58 laouji joined #perl6
08:59 FROGGS psch: no
09:00 FROGGS psch: and I lack knowledge to guess
09:01 jnthn If I had to guess, it may be in the QAST::Want void hanlding, since we use that to decide whether we need to emit the closure taking in place or if it's just a straight declaration
09:01 jnthn Probably somewhere near the end of routine_def is a good place to start exploring
09:03 FROGGS jnthn: but how can that be an issue on jvm only?
09:03 ShimmerFairy QAST->JAST would be my guess :)
09:06 brrt joined #perl6
09:06 FROGGS hi brrt
09:06 brrt hi FROGGS
09:06 jnthn FROGGS: I'm assuming code-gen mis-hap
09:09 psch the stage=ast output is identical, fwiw
09:09 psch so QASTCompilerJAST i guess..?
09:11 cognominal joined #perl6
09:11 jnthn psch: Yes, I was expecting it would be...you can verify --target=optimize also is
09:11 psch oh, right, optimize
09:11 jnthn psch: But yeah, I was more pointing you to routine_def to give you a point to start digging rather than expecting the issue to be near there...it probably is in QAST->JAST.
09:12 psch mhm
09:21 FROGGS the void handling compile_all_the_stmts looks differently on moar/jvm... but I've not enough brain cycles atm spare
09:38 * grondilu suddenly wonders if my & = sub {} is ok
09:38 espadrine joined #perl6
09:38 grondilu std: my &
09:38 camelia std 28329a7: OUTPUT«ok 00:00 138m␤»
09:38 grondilu m: my &
09:38 camelia rakudo-moar c84ff3: ( no output )
09:40 Ven joined #perl6
09:41 brrt how do dynamic variables actually work in perl6?
09:42 brrt (dynamically scoped, that is)
09:43 lizmat messages ?
09:43 yoleaux 01:05Z <TimToady> lizmat: turns out adding 'is default' to an attribute's container descriptor was a 3-line patch :)
09:43 lizmat wow, TimToady++   :-)
09:44 brrt ah, i get it
09:48 brrt hmm, just making dynvars fail is not so simple
09:48 masak m: (my &)()
09:48 camelia rakudo-moar c84ff3: OUTPUT«Cannot invoke this object␤  in block <unit> at /tmp/lOtyyWW442:1␤␤»
09:48 masak m: say (my &).^name
09:48 camelia rakudo-moar c84ff3: OUTPUT«Callable␤»
09:49 dalek roast: 3abe56f | lizmat++ | S02-names/is_default.t:
09:49 dalek roast: Unfudge now passing tests
09:49 dalek roast: review: https://github.com/perl6/roast/commit/3abe56fac5
09:50 jnthn brrt: They're just lexicals; it's just the lookup that is different
09:51 brrt yeah, i figured
09:51 * brrt wonders what would be necessary to make a failing case outside of the compiler
09:52 timotimo ShimmerFairy: did you consider perhaps $a > $b && $a < $b is for NaN handling?
09:55 ShimmerFairy timotimo: still false
09:55 timotimo OK, good
09:55 brrt i fear it'll be a grammar, and we all know how easy they are to debug
09:55 ShimmerFairy timotimo: or rather, you wouldn't enter that conditional in the first place :)
09:55 ShimmerFairy m: say 1 < NaN; say 1 > NaN;
09:56 camelia rakudo-moar c84ff3: OUTPUT«False␤False␤»
09:56 timotimo mhm
09:56 timotimo i didn't look at the code, just the commit message sounded dangerous :D
09:57 jnthn brrt: I'm not sure it's about grammars per se
09:58 timotimo i still have masak's post about that topic in the back of my head
09:58 jnthn brrt: That's just where it shows up
09:58 brrt yeah, that's what i think too
09:58 brrt it's just that grammars tend to be the type of code where these bugs show up
09:58 brrt in general
10:05 jnthn They showed up a couple of SSA bugs 'cus they have the most interesting control flow ;)
10:05 jnthn But I don't think that's what this is
10:08 lizmat m: my @b; @b.push: (1,2,3),; dd @b   # note comma after list, should this flatten ?
10:08 camelia rakudo-moar c84ff3: OUTPUT«Array @b = [1, 2, 3]␤»
10:09 lizmat jnthn: 13 days ago you wrote that it should  :-)
10:09 lizmat *shouldn't
10:10 jnthn lizmat: uh...did I? :)
10:10 jnthn m: my @b; @b.push: ((1,2,3),); dd @b
10:10 camelia rakudo-moar c84ff3: OUTPUT«Array @b = [(1, 2, 3),]␤»
10:10 lizmat commit de53e4be in specs
10:10 jnthn Argh
10:10 jnthn OK, I should fix that. :)
10:10 lizmat the specs or the runtime ?
10:10 psch m: my @b; @b.push: (1,2,3),; dd @b[0] # dd output is a bit confusing, in some cases
10:10 camelia rakudo-moar c84ff3: OUTPUT«Int @b = 1␤»
10:10 jnthn m: my @b; @b.push: $(1,2,3); dd @b # idiomatic way
10:10 camelia rakudo-moar c84ff3: OUTPUT«Array @b = [(1, 2, 3),]␤»
10:10 jnthn lizmat: The specs :)
10:10 lizmat ah, ok
10:11 lizmat I'll reject #126172 then  :-)
10:11 jnthn There's no way we can make argument lists do such weird things with trailing commas :)
10:11 jnthn Sorry for the confusion
10:14 lizmat shall I fix it ?
10:15 nwc10 left #perl6
10:19 jnthn lizmat: Please
10:20 dalek specs: 82b8032 | lizmat++ | S07-lists.pod:
10:20 dalek specs: Spec fix for #126172
10:20 dalek specs: review: https://github.com/perl6/specs/commit/82b80326ba
10:22 tokuhiro_ joined #perl6
10:23 makapa joined #perl6
10:38 AlexDaniel joined #perl6
10:57 aiacob joined #perl6
10:58 tokuhiro_ joined #perl6
11:02 * ilmari discovers he has a cow-orker called camelia, thanks to her accidental reply-all
11:02 dalek rakudo/nom: e87794e | lizmat++ | src/core/Any-iterable-methods.pm:
11:02 dalek rakudo/nom: Add List.repeated(:as,:with)
11:02 dalek rakudo/nom:
11:02 dalek rakudo/nom: The opposite of List.unique: returns all things that are seen more than once.
11:02 dalek rakudo/nom:
11:02 dalek rakudo/nom: <a b b b c c d e f>.repeated.say
11:02 dalek rakudo/nom: (b b c)
11:02 dalek rakudo/nom:
11:02 dalek rakudo/nom: If you only want unique repeats, add unique:
11:02 dalek rakudo/nom:
11:02 dalek rakudo/nom: <a b b b c c d e f>.repeated.unique.say
11:02 dalek rakudo/nom: (b c)
11:02 dalek rakudo/nom:
11:02 dalek rakudo/nom: This is basically a cat license job on .unique and really only for discussion
11:02 dalek rakudo/nom: so far.  Please revert if considered unneeded.
11:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e87794ea8f
11:04 lizmat ilmari: she should have a camelia button  :-)
11:16 Ven joined #perl6
11:20 lizmat m: 42
11:20 camelia rakudo-moar c84ff3: OUTPUT«WARNINGS:␤Useless use of constant integer 42 in sink context (line 1)␤»
11:24 _mg_ joined #perl6
11:26 Peter_R joined #perl6
11:26 Ven joined #perl6
11:30 pink_mist is sink context the equivalent of perl5's void context?
11:31 brrt joined #perl6
11:32 moritz yes
11:48 dalek rakudo/nom: 08b0359 | lizmat++ | t/spectest.data:
11:48 dalek rakudo/nom: Move S32-io/IO-Socket-INET.t to "right" place
11:48 dalek rakudo/nom:
11:48 dalek rakudo/nom: Well, the list gets sorted in the end anyway, so there was no point putting
11:48 dalek rakudo/nom: it at the end.  *And* it seems to survive under load nowadays
11:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/08b0359d75
11:55 moritz maybe we could have a warning for the use of 'return' in a routine that was marked as 'is rw'?
11:56 lizmat or maybe "is rw" should be enough to have the return transmogrify into a return-rw autmatically ?
11:59 ShimmerFairy I think it'd be a bit weird if I had to write 'rw' twice :)   (might also discourage use of 'is rw' altogether, since "it doesn't matter")
12:01 zakharyas joined #perl6
12:05 larion joined #perl6
12:05 masak I thought all things ending in `-rw` were basically stopgap things until we figure out how to do without them performantly.
12:07 ShimmerFairy that would be news to me, though that doesn't mean much :)
12:10 brrt oh goody, are we killing containers? :-P
12:12 masak brrt: not likely.
12:13 masak brrt: but I was thinking there are still things that could be done that would push them into the background.
12:13 masak like ShimmerFairy says, if I already did `is rw` on the routine, why shouldn't it be clear enough that it's the *container* I want to return when I do `return $x;` ?
12:14 brrt hmm yeah, it probably should
12:14 masak if it were Java, I would expect it to be specified in triplicate, but this is Perl.
12:14 ShimmerFairy It also means the 'is rw' trait becomes useless, since it adds nothing over 'return-rw'
12:15 ShimmerFairy .oO( use JavaJavaJava; )
12:15 brrt return.... return probably decontainerizes the value normaly
12:15 brrt *normally*
12:17 cognominal joined #perl6
12:22 jdv79 ShimmerFairy: have you worked with large legacy codebases?  I think its common ot be lagging the bleeding edge by a lot.
12:23 ShimmerFairy no, I haven't.
12:24 andreoss joined #perl6
12:41 ab6tract joined #perl6
12:44 FROGGS joined #perl6
12:45 masak brrt: if I had never heard about the `return-rw` workaround, and I was wondering how to return a container from an `is rw` routine, my expectation/guess would be squarely on `return`.
12:45 masak brrt: and I guess you could say that this is because at that moment, I don't care about containers. I want it to Just Work.
12:46 plicease joined #perl6
12:47 jnthn masak: I don't see why we have to have "return-rw", tbh
12:47 jnthn masak: There's no deep impl reason as far as I can see
12:49 dalek rakudo/nom: 4b2f8e1 | lizmat++ | t/harness:
12:49 dalek rakudo/nom: Implement "slow" fudger
12:49 dalek rakudo/nom:
12:49 dalek rakudo/nom: A test marked as "slow" will not be done in alphabetical order.  Instead,
12:49 dalek rakudo/nom: all tests marked "slow" injected as far apart from each other in the total
12:49 dalek rakudo/nom: run of testing.  When given enough TEST_JOBS (e.g. 10 on a quad-core CPU)
12:49 dalek rakudo/nom: this results in almost 100% CPU usage for the whole run.  Which should
12:49 dalek rakudo/nom: result in smaller wallclock times.
12:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4b2f8e1b89
12:49 dalek rakudo/nom: 80578e5 | lizmat++ | t/spectest.data:
12:49 dalek rakudo/nom: Mark slow test files
12:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/80578e5f67
12:50 lizmat TimToady: the fan should not go off anymore  :-)
12:50 lizmat cycling&
12:50 masak as long as we're fairly agreed that `return-rw` (et al) are deliberately ugly stopgap features, which we may end up supporting for a long time after 6.christmas because backwards compatibility, we're all good
12:51 masak lizmat++ # slow fudger
12:52 jnthn masak: I don't really see take/take-rw as being in the same boat fwiw
12:52 masak sounds like a British insult. :P "come along, ya slow fudger!"
12:52 jnthn That seems legit
12:52 masak jnthn: ok. because they build different results?
12:52 jnthn Well, and the alternative would be a gather-rw :)
12:52 jnthn And putting it on the take is the more flexible option
12:52 masak I can't recall ever wanting `take-rw`, tbh.
12:53 masak if anyone has a use case for that, I'd be much interested :>
12:53 masak I always build a sequence of values, not of containers.
12:54 jnthn Well, something traversing a tree finding things to process, and you want to do for the-things() { s/foo/bar/; }
12:56 rindolf joined #perl6
13:00 tokuhiro_ joined #perl6
13:02 [Coke] RT: 1,019; testneeded: 9; GLR: 4; xmas: 98; LTA: 78; WEIRD: 12
13:04 pat_js` joined #perl6
13:06 vytas sorry for a silly question, but what does "use v6;" mean for Perl6 ? does it have to be used?
13:10 DrForr It's more for when you accidentally run the script in perl5 :)
13:10 pat_js` vytas: it's a perl5-compatible way of saying that you are using perl6
13:11 pat_js` is there an “interactive perl6-shell mode” for emacs out there?
13:11 vytas does Perl5 output warning? I know there is p6.pm
13:12 pat_js` vytas: here is the message you get: Perl v6.0.0 required--this is only v5.20.2, stopped at rb_tree.p6 line 1.
13:12 vytas thanks :)
13:13 jdv79 lizmat: a *real* test runner would randomize the execution:)
13:13 DrForr prove(1) has a randomizer :)
13:14 jdv79 i've never done it though.  seems of dubious value.
13:15 jdv79 oh yeah.  forgot about that.  DrForr++
13:16 dnmfarrell joined #perl6
13:17 ShimmerFairy m: multi sub foo(Int $a) { say "I" }; constant &bar = &foo; multi sub bar(Str $a) { say "S" }; foo(42); bar("A"); foo("A"); bar(12)
13:17 camelia rakudo-moar 08b035: OUTPUT«I␤S␤S␤I␤»
13:18 ShimmerFairy someone please tell me it isn't this easy to define a "synonym" for something :)
13:18 Ven joined #perl6
13:18 [Coke] lizmat: anything marked stress should also be considered slow, aye?
13:18 jdv79 they don't get run in spec though right?
13:19 jnthn [Coke]: Those are excluded in a normal spectest run, though
13:19 [Coke] not in spectest, but in stresstest - but it's the same harness, just different options.
13:19 [Coke] so if we want slow to be the default, it should be the default for stressy things too, I think.
13:32 jdv79 does anyone use Net::IRC::Bot?  And is there something better these days?
13:33 tony-o .tell nwc10 there is a perl6 'prove' module/bin out there called 'Green', can be installed with zef or panda.
13:33 yoleaux tony-o: I'll pass your message to nwc10.
13:35 * [Coke] hurls a new SE question: https://stackoverflow.com/questions/3277​7831/perl-6-namespace-and-module-system
13:35 [Coke] er, SO, not SE
13:36 * [Coke] thinks he might have combined stack overflow and experts exchange there.
13:37 jdv79 maybe that first comment is the best idea there
13:37 tony-o seems like that is what the :auth in that spec should be used for [Coke], if that company wants to have its own private ecosystem for modules.
13:38 tony-o jdv79++
13:38 [Coke] tony-o: to be clear, I didn't ask it, I just mentioned it here.
13:40 [Coke] TimToady: You just brought + prefix on argument lists back, yes? https://stackoverflow.com/questions/15947639/wha​t-plus-means-in-method-declaration-in-perl6?rq=1 might need a new answer. :)
13:43 kjk joined #perl6
13:46 skids joined #perl6
13:48 Ven joined #perl6
13:49 kjk how do I find out what methods I can invoke on an object?
13:49 masak is it possible to import a family of multis, and then add another candidate to it in the current lexical scope?
13:49 masak m: say Mu.^methods>>.name
13:49 camelia rakudo-moar 80578e: OUTPUT«(self gimme munch ACCEPTS WHERE WHICH take return-rw return WHY set_why Bool so not defined new is-lazy CREATE bless BUILDALL BUILD_LEAST_DERIVED Numeric Real Str Stringy item say print note gist perl DUMP DUMP-PIECES DUMP-OBJECT-ATTRS isa does can clone C…»
13:50 masak kjk: ^
13:50 masak m: say ?Mu.^can("new")
13:50 camelia rakudo-moar 80578e: OUTPUT«True␤»
13:50 jnthn masak: You just import (or use) and then declare another multi, no?
13:50 masak jnthn: so that works? nice.
13:51 masak jnthn: does it work because the import is actually a copy, and so the family of multis you extend are actually located in your lexical scope, not where you imported them from?
13:51 jnthn masak: Don't see why not.
13:51 jnthn masak: Yeah, should do
13:51 skids masak: you mentioned in RT#120895 you'd want to review any ideas for altering dedenting, I posted one in PR#540
13:51 kjk masak: thank you! this would really help a lot with exploring perl6 in repl
13:52 jnthn masak: We have to do some amount of candidate list copying anyway 'cus you can export just some multis ratehr than the whole set
13:52 dalek roast: 3c32ca8 | hoelzro++ | S17-lowlevel/lock.t:
13:52 dalek roast: Unfudge lock/join test
13:52 dalek roast:
13:52 dalek roast: The condition under which it would fail under OS X has been fixed
13:52 dalek roast: review: https://github.com/perl6/roast/commit/3c32ca81f4
13:52 masak m: module Foo { multi x(Int $n) is export { say "Int" } }; import Foo; multi x(Str $s) { say "Str" }; x(42); x("OH HAI")
13:52 camelia rakudo-moar 80578e: OUTPUT«Int␤Str␤»
13:52 masak niiiiiice.
13:52 masak skids: url?
13:52 jnthn hoelzro: I thought it was :)
13:52 jnthn hoelzro++
13:53 skids masak: https://github.com/rakudo/rakudo/pull/540
13:53 * masak looks
13:53 jnthn Time for me to do some Perl 6 bits :)
13:54 dalek rakudo/rw-cleanup: 890402f | jnthn++ | src/core/ (5 files):
13:54 dalek rakudo/rw-cleanup: Clean up various `is rw` misuses.
13:54 dalek rakudo/rw-cleanup:
13:54 dalek rakudo/rw-cleanup: It's meaningless on non-Scalars. In some places, drop bogus `is rw`,
13:54 dalek rakudo/rw-cleanup: and in others switch to using scalars over \foo.
13:54 dalek rakudo/rw-cleanup: review: https://github.com/rakudo/rakudo/commit/890402f975
13:54 dalek rakudo/rw-cleanup: 03a42d9 | jnthn++ | src/core/ (24 files):
13:54 dalek rakudo/rw-cleanup: Cleanup of `is rw` usage on subs/methods.
13:54 dalek rakudo/rw-cleanup:
13:54 dalek rakudo/rw-cleanup: Most of them wanted to be "is raw".
13:54 dalek rakudo/rw-cleanup: Some didn't want anything at all.
13:54 dalek rakudo/rw-cleanup: In some places "rw" stayed.
13:54 dalek rakudo/rw-cleanup: Commit poem! Oh, LOL! Well played.
13:54 dalek rakudo/rw-cleanup: review: https://github.com/rakudo/rakudo/commit/03a42d977c
13:54 dalek rakudo/rw-cleanup: 73e9f5d | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
13:54 dalek rakudo/rw-cleanup: Only allow `is rw` on Scalar parameters.
13:54 dalek rakudo/rw-cleanup: review: https://github.com/rakudo/rakudo/commit/73e9f5d499
13:55 jnthn heh, forgot a rebase would replay all the branch here
13:56 jnthn Now I need to remember what I was meant to do next with that branch...
13:56 moritz spectest? merge?
13:57 masak skids: both look good.
13:57 jnthn heh, no :)
13:57 masak skids: the second one more obviously so than the first. :)
13:57 jnthn Ah, yeah, actually make "is rw" enforce something...
13:58 masak skids: I guess changing from deleting from the end rather than from the front was a fairly deliberate thing? and probably the saner one anyway.
13:59 masak skids: I don't immediately see that one direction would be more right than the other there. we mainly need to support the use cases we know about, and be consistent/sane.
13:59 masak skids: in other words, it looks mergeable to me.
14:00 skids masak: Yes, deliberate on that (actually I think indenting by padding the right is, while convenient, less what people expect)
14:02 dnmfarrell Just pushed a new version of URI::Encode, and thanks to smls, it's much faster. Swapping a .trans for a .subst did the trick :)
14:03 skids masak: (but I didn't change that, because there may e use cases for "don't alter my tabbification at all")
14:03 tony-o [Coke]: i'm aware, i juyst like talking about the curli spec
14:04 tony-o since it's still pretty ambiguous..
14:05 masak skids: OK if I merge?
14:05 skids FIne by be.  I'll fix up thos spectests.
14:05 dalek rakudo/nom: 12db6c0 | skids++ | src/core/Str.pm:
14:05 dalek rakudo/nom: One possible solution to RT#120895
14:05 dalek rakudo/nom:
14:05 dalek rakudo/nom: Deindents delete from the front.  Any spaces that are not
14:05 dalek rakudo/nom: contributing to the length are deleted along with the tab
14:05 masak merged/
14:05 jdv79 fyi, the snippets at the top of http://doc.perl6.org/type/IO::Socket::Async are broken:(
14:06 dalek joined #perl6
14:07 RabidGravy jdv79, that'll probably be my fault
14:07 RabidGravy ls
14:07 jdv79 Type check failed in binding $b; expected 'Blob' but got 'Str' in block <unit> at test_bot.pl:3
14:08 jdv79 but there is no $b...
14:08 jnthn jdv79: That probably refers to a $b inside IO::Socket::Async's impl somewhere
14:09 jdv79 oh, hmm.  yeah.  s/write/print/ fixed it but that error.  :(
14:11 RabidGravy got a different error
14:11 dalek roast: 41afc57 | skids++ | S32-str/indent.t:
14:11 dalek roast: Alter two tests due to new semantics arising from RT#120895
14:11 dalek roast: review: https://github.com/perl6/roast/commit/41afc575eb
14:12 skids I'll get to describing that in design docs later, and maybe an RT-specific test
14:12 jdv79 RabidGravy: something about send?
14:12 RabidGravy yeah
14:12 jnthn skids++ # taking things from fixmas list
14:12 jdv79 yeah.  i did s/send/write/ wrongly and then to print and it seems better now
14:13 jdv79 but that error message - can that be fixed?
14:13 skids Ah, those were LHF.  Most of those tickets I don;t even know where to start or boil down to a spec desicision.
14:13 dalek doc: 96b4260 | RabidGravy++ | lib/Type/IO/Socket/Async.pod:
14:13 dalek doc: s/send/print/
14:13 dalek doc: review: https://github.com/perl6/doc/commit/96b4260f12
14:14 dalek rakudo/rw-cleanup: cdc51a7 | jnthn++ | src/core/CompUnitRepo.pm:
14:14 dalek rakudo/rw-cleanup: A couple more `is rw` -> `is raw`.
14:14 dalek rakudo/rw-cleanup: review: https://github.com/rakudo/rakudo/commit/cdc51a7a6e
14:14 RabidGravy still don't like the client example
14:14 sria91 joined #perl6
14:17 anaeem1 joined #perl6
14:22 dalek rakudo/rw-cleanup: 8b7d0c1 | jnthn++ | src/Perl6/Actions.nqp:
14:22 dalek rakudo/rw-cleanup: Topic blocks need $_ to be raw, not rw.
14:22 dalek rakudo/rw-cleanup: review: https://github.com/rakudo/rakudo/commit/8b7d0c144a
14:25 dalek rakudo/rw-cleanup: 2434d18 | jnthn++ | src/Perl6/ (2 files):
14:25 dalek rakudo/rw-cleanup: Update binder (on Moar) to make `is rw` constrain.
14:25 dalek rakudo/rw-cleanup:
14:25 dalek rakudo/rw-cleanup: Now it requires to be passed something that is an assignable scalar
14:25 dalek rakudo/rw-cleanup: container (Scalar, Proxy, etc.)
14:25 dalek rakudo/rw-cleanup: review: https://github.com/rakudo/rakudo/commit/2434d186ea
14:25 pmurias_ joined #perl6
14:26 andreoss how can I copy a function?
14:26 colomon andreoss: why would you copy a function?
14:26 jnthn andreoss: What do you mean by "copy"?
14:26 andreoss to undefine state variable
14:27 jnthn Oh, that just happens out of closure semantics
14:27 jnthn .clone() should do it also though
14:27 jnthn m: sub foo() { return sub () { state $a = 1; $a++ } }; my &a = foo(); my &b = foo(); a xx 4; b xx 4;
14:27 camelia rakudo-moar bff29c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/HCJ0Z_JX4z␤Undeclared routine:␤    xx used at line 1␤␤»
14:27 jnthn m: sub foo() { return sub () { state $a = 1; $a++ } }; my &a = foo(); my &b = foo(); a() xx 4; b() xx 4;
14:27 camelia rakudo-moar bff29c: ( no output )
14:28 jnthn m: sub foo() { return sub () { state $a = 1; $a++ } }; my &a = foo(); my &b = foo(); say a() xx 4; say b() xx 4;
14:28 camelia rakudo-moar bff29c: OUTPUT«(1 2 3 4)␤(1 2 3 4)␤»
14:28 jnthn There you go
14:28 andreoss m: sub foo { state $x; say "hi {$x++}" } ; my &bar = &foo; foo(); bar(); foo()
14:28 camelia rakudo-moar bff29c: OUTPUT«hi 0␤hi 1␤hi 2␤»
14:29 andreoss m: sub foo { state $x; say "hi {$x++}" } ; my &bar = clone &foo; foo(); bar(); foo()
14:29 camelia rakudo-moar bff29c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/MoD9e2IjKT␤Undeclared routine:␤    clone used at line 1. Did you mean 'close', 'done', 'none'?␤␤»
14:29 andreoss m: sub foo { state $x; say "hi {$x++}" } ; my &bar = &foo.clone; foo(); bar(); foo()
14:29 camelia rakudo-moar bff29c: OUTPUT«hi 0␤hi 0␤hi 1␤»
14:30 jnthn That works too (and is safe to rely on)
14:30 andreoss m: sub foo { state $x; say "hi {$x++}" } ; my &bar = &(&foo); foo(); bar(); foo()
14:30 camelia rakudo-moar bff29c: OUTPUT«hi 0␤hi 1␤hi 2␤»
14:30 jnthn You'll have to explicitly clone if you don't want to write it in the function generator form I showed above
14:31 jnthn Assignment just assigns the same closure.
14:31 andreoss thanks
14:32 jnthn Phew, only one spectest I need to look at from making `is rw` check for a container
14:33 moritz jnthn: does 'sub f($x is rw) { }; f 42' fail to dispatch in your branch?
14:33 jnthn Yes
14:33 moritz \o/
14:34 jnthn C:\consulting\rakudo>perl6-m -e "sub f($x is rw) { }; f 42"
14:34 jnthn Parameter '$x' expected a container, but got an Int value in sub f at -e:1
14:34 jnthn Any comments on the message are welcome
14:34 psch s/value/literal/ maybe?
14:34 psch oh but there's values that aren't literal
14:34 jnthn I pondered literal, but...yes, that. :)
14:35 moritz jnthn: "expected a writable container"?
14:35 moritz does  sub g($x) { f(x) }; sub f ($x is rw); g my $y;  fail to dispatch to &f?
14:35 jnthn Hm, that does better link it back to rw
14:36 jnthn Did you mean f($x) ?
14:36 moritz yes
14:36 jnthn Uh, it should but...hmm
14:37 jnthn Ah...
14:37 jnthn iscont isn't sufficient 'cus we use ro Scalar to prevent flattening
14:39 jnthn grr
14:39 * jnthn fixes
14:40 jdv79 RabidGravy: yes, that client is awful;)
14:40 jnthn moritz++ for the test base, btw
14:40 jnthn *case
14:40 jnthn I'd expected that one to already refuse to bind...
14:40 jdv79 maybe better net and/or async docs would be nice
14:41 * moritz too
14:41 moritz jdv79: I've tried very hard to document Promise, Supply and Channel well
14:41 jdv79 i'm just digging in for the first time
14:42 moritz jdv79: if you have any complaints in that part of the docs, please let me know
14:42 jdv79 moritz++ # thanks!
14:45 jnthn moritz: Turns out it's some work to not totally cheat on it too... Working on it :)
14:55 andreoss m: sub foo { say "hi" }; my &bar = &foo.perl.EVAL; bar()
14:55 camelia rakudo-moar bff29c: OUTPUT«Stub code executed␤  in sub foo at EVAL_0:1␤  in block <unit> at /tmp/kKAytGgWID:1␤␤Actually thrown at:␤  in block <unit> at /tmp/kKAytGgWID:1␤␤»
14:56 jnthn &foo.perl doesn't actually provide the source code.
14:59 masak there's no real technical limitation there. many JavaScript implementations do that.
14:59 bjz joined #perl6
14:59 jnthn It's more a choice
15:00 masak still, there might be security concerns. and maybe performance/memory concerns.
15:00 jnthn We choose not to, otherwise pre-comps have to carry the source code around in them too
15:00 jnthn Do that for CORE.setting and it's another few megs of RAM on base Perl 6.
15:00 masak right.
15:00 TimToady well, or a file lookup
15:01 jnthn True, the info is kept around to do that.
15:01 jnthn Well
15:01 jnthn The start of the function is :)
15:01 jnthn Even then it's not the whole story because you don't have the context
15:01 jnthn So it *still* won't round-trip
15:01 tokuhiro_ joined #perl6
15:02 * masak .oO( just forbid closure semantics! ) :P
15:02 jnthn We're not *that* enterprise :P
15:03 pmurias m: sub foo {say "hi" }; say(&foo.perl)
15:03 camelia rakudo-moar bff29c: OUTPUT«sub foo () { #`(Sub|77114784) ... }␤»
15:03 pmurias it seems less the awesome
15:03 jnthn Tough.
15:03 pmurias * then
15:04 jnthn * than :P
15:04 pmurias yes ;)
15:05 Ven masak: Function::toString used to be "nonstandard" (not required to work). I think es6 standardises it..
15:06 skids Oh, that reminded me, is a "wisdom" system for storing spesh/optimization preloads in a disk cache for future runs potentially feasible?
15:07 skids (JOOC)
15:07 jnthn skids: Potentially, yeah, it's just...hard :)
15:07 jnthn skids: Ideally you'd store the JITted output but you gotta get security right and write a linker... :)
15:07 FROGGS jnthn: once you thought precomp+BEGIN is hard, no? :o)
15:08 jnthn FROGGS: It still *is* hard, as evidenced by the fact we still have precomp issues to squish ;)
15:08 nine We do have file and line information for call frames. Isn't this somehow accessible?
15:08 jnthn nine: Yeah
15:08 jnthn nine: I think timotimo did something to make it so
15:08 jnthn On a routine
15:08 jnthn m: say Routine.^methods>>.name
15:08 camelia rakudo-moar bff29c: OUTPUT«(<anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> <anon> of returns onlystar candidates cando multi soft wrap unwrap yada package leave perl add_phaser phasers assuming WHY set_why perl <anon> fire_ph…»
15:08 timotimo i *thought* i put something in there
15:08 tony-o lizmat: is CURLF or CURLI returning the proper type?  CURLF is returning a CompUnitRepo and CURLI is returning an array..
15:08 timotimo but i couldn't find it the last time i looked
15:09 timotimo perhaps it's in a branch
15:09 jnthn m: say Routine.^methods>>.name.grep(* ne '<anon>')
15:09 camelia rakudo-moar bff29c: OUTPUT«(of returns onlystar candidates cando multi soft wrap unwrap yada package leave perl add_phaser phasers assuming WHY set_why perl fire_phasers has-phasers count of ACCEPTS signature Str arity returns new outer static_id)␤»
15:09 jnthn Yeah, I don't see it in there
15:10 zoosha joined #perl6
15:11 jnthn timotimo: Mebbe you just did the moar work to make it possible :)
15:11 timotimo cit seems i put a commit there to get nqp::getcodelocation, but didn't put it into core
15:11 jnthn aha
15:11 timotimo m: say nqp::getcodelocation(nqp::getattr(sub foo() { }), Block, '$!do'))
15:11 camelia rakudo-moar bff29c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/cDKcckOySP␤Unexpected closing bracket␤at /tmp/cDKcckOySP:1␤------> 3::getattr(sub foo() { }), Block, '$!do')7⏏5)␤»
15:11 timotimo m: use nqp; say nqp::getcodelocation(nqp::getattr(sub foo() { }), Block, '$!do')
15:11 camelia rakudo-moar bff29c: OUTPUT«===SORRY!===␤Arg count 3 doesn't equal required operand count 2 for op 'getcodelocation'␤»
15:11 timotimo m: use nqp; say nqp::getcodelocation(nqp::getattr(sub foo() { }, Block, '$!do'))
15:11 camelia rakudo-moar bff29c: OUTPUT«P6opaque: no such attribute '$!do'␤  in block <unit> at /tmp/VehgbQRdUX:1␤␤»
15:12 timotimo m: use nqp; say nqp::getcodelocation(nqp::getattr(sub foo() { }, Routine, '$!do'))
15:12 camelia rakudo-moar bff29c: OUTPUT«P6opaque: no such attribute '$!do'␤  in block <unit> at /tmp/e9TnOGH7Wp:1␤␤»
15:12 timotimo m: use nqp; say nqp::getcodelocation(nqp::getattr(sub foo() { }, Code, '$!do'))
15:12 camelia rakudo-moar bff29c: OUTPUT«file => /tmp/owkwm5aYQe, line => 1␤»
15:12 timotimo there we go
15:12 timotimo this is how we'd implement it
15:12 timotimo nine: do you want to? :)
15:12 nine I give it a try :)
15:13 hoelzro o/ #perl6
15:16 tony-o .tell lizmat, i'm looking to fix either CURLI or CURLF so we can keep working on the modules we have.  can you tell me whether the CURLF (returns CompUnit) or CURLI (returns an Array) is correct?  this will tell me whether CURLI needs to be changed or whether CURLF needs to be fixed along with whatever is trying to call .load on the returned value.
15:16 yoleaux tony-o: What kind of a name is "lizmat,"?!
15:16 tony-o .tell lizmat i'm looking to fix either CURLI or CURLF so we can keep working on the modules we have.  can you tell me whether the CURLF (returns CompUnit) or CURLI (returns an Array) is correct?  this will tell me whether CURLI needs to be changed or whether CURLF needs to be fixed along with whatever is trying to call .load on the returned value.
15:16 yoleaux tony-o: I'll pass your message to lizmat.
15:16 tony-o thanks yoleaux
15:16 haroldwu joined #perl6
15:17 jnthn C:\consulting\rakudo>perl6-m -e "sub g($x) { f($x) }; sub f ($x is rw) { }; g my $y;"
15:17 jnthn Parameter '$x' expected a writable container, but got an Any value in sub f at -e:1 in sub g at -e:1
15:17 jnthn \o/
15:17 tony-o what is C:\
15:17 nine Ok, finding a sub in a file is easy. The hard part is knowing where it ends
15:18 pink_mist tony-o: the main harddrive in most windows installs
15:18 dalek nqp: d55821d | jnthn++ | tools/build/MOAR_REVISION:
15:18 dalek nqp: Bump MOAR_REVISION for isrwcont op.
15:18 dalek nqp: review: https://github.com/perl6/nqp/commit/d55821d556
15:18 dalek nqp: bd77bf7 | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
15:18 dalek nqp: Map isrwcont op on Moar backend.
15:18 dalek nqp: review: https://github.com/perl6/nqp/commit/bd77bf71ac
15:18 dalek rakudo/nom: 94bc1a9 | (Stefan Seifert)++ | src/core/Code.pm:
15:18 dalek rakudo/nom: Make .file and .line of Code objects accessible
15:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/94bc1a93ed
15:19 jnthn tony-o: Wearning a turban and feeling odd about it.
15:19 jnthn *Wearing
15:20 AlexDaniel joined #perl6
15:21 nine Now if only we had a Perl 6 parser available for Perl 6 ;)
15:21 AlexDaniel hah
15:21 jdv79 chars-supply seems line oriented.  that's not correct right?
15:22 jnthn jdv79: It's not something you can rely on
15:22 jnthn jdv79: We give you the stuff the OS gives us
15:22 jdv79 thought so
15:23 jnthn jdv79: If the programming is outputting data a line at a time it's possible you'll get lines, but don't rely on it :)
15:23 jnthn *program
15:23 AlexDaniel p6weekly is barely p6monthly again :(
15:24 jnthn AlexDaniel: If you're time/interest, I'm sure the two people who try to make it happen woudln't mind a third person to help spread the load.
15:24 AlexDaniel jnthn: sure
15:24 AlexDaniel jnthn: but I'm afraid that I'm not the right person to do that, because it's basically one of my primary sources of perl6 news
15:24 tokuhiro_ joined #perl6
15:25 AlexDaniel jnthn: maybe if I was a bit more active on IRC…
15:26 AlexDaniel but just wanted to complain a little bit to remember that p6weekly is a really great idea, I wish there were more updates
15:26 tony-o jnthn++
15:28 AlexDaniel by the way, maybe it is a good idea to make some wiki page where everyone could make dirty notes? Which would be later refactored into a blog post
15:28 AlexDaniel this way, even I could contribute
15:29 jnthn AlexDaniel: I think looking over the commit logs for Rakudo and the ecosystem module list would get you plenty of info on stuff that's been going on as a source.
15:29 RabidGravy is there a nice way of getting out of a "react"? having troubling working it out
15:29 jnthn RabidGravy: "done"
15:29 RabidGravy ah-ha! cheers
15:30 jnthn AlexDaniel: Collecting that into notes somewhere (just a gist even, or a github wiki) would certainly help
15:30 jnthn AlexDaniel: Typically whoever writes it posts it here for review and asks if there's anything people want included also
15:31 travis-ci joined #perl6
15:31 travis-ci NQP build errored. jnthn 'Map isrwcont op on Moar backend.'
15:31 travis-ci https://travis-ci.org/perl6/nqp/builds/82171720 https://github.com/perl6/nqp/com​pare/a54d49e77874...bd77bf71acc1
15:31 travis-ci left #perl6
15:31 jnthn If we could get up to 4-5 people who contribute then it'd only be once per month for somebody to curate the stuff into a blog post.
15:31 pmurias hoelzro: \o
15:31 jnthn oh really, travis...
15:32 jnthn yowser, that's a nasty build fail
15:32 tony-o jnthn: contribute to what?
15:32 jnthn tony-o: perl6 weekly
15:32 jnthn https://p6weekly.wordpress.com/
15:32 hoelzro o/ pmurias
15:37 dalek nqp: 06ae7d2 | (Pawel Murias)++ | src/vm/js/nqp-runtime/ (4 files):
15:37 dalek nqp: [js] Progress on serializing P6opaque and object references.
15:37 dalek nqp: review: https://github.com/perl6/nqp/commit/06ae7d2fa1
15:37 dalek nqp: 2f956fd | (Pawel Murias)++ | src/vm/js/nqp-runtime/serialization.js:
15:37 dalek nqp: [js] Fix bug
15:37 dalek nqp: review: https://github.com/perl6/nqp/commit/2f956fd2b4
15:39 sufrostico joined #perl6
15:40 RabidGravy is https://gist.github.com/jonat​hanstowe/9ca53e8c076d7bd0a50e a nicer example for an IO::Socket::Async client? jdv79?
15:42 travis-ci joined #perl6
15:42 travis-ci NQP build passed. Pawel Murias '[js] Fix bug'
15:42 travis-ci https://travis-ci.org/perl6/nqp/builds/82174925 https://github.com/perl6/nqp/com​pare/bd77bf71acc1...2f956fd2b4c1
15:42 travis-ci left #perl6
15:42 travis-ci joined #perl6
15:42 travis-ci Rakudo build failed. Stefan Seifert 'Make .file and .line of Code objects accessible'
15:42 travis-ci https://travis-ci.org/raku​do/rakudo/builds/82171738 https://github.com/rakudo/rakudo/c​ompare/bff29c46317e...94bc1a93eda3
15:42 travis-ci left #perl6
15:48 Goblin_ joined #perl6
15:48 Goblin_ How to load module from different location?
15:49 estrabd joined #perl6
15:49 jnthn -Ifoo at the command line or use lib 'foo'; in code
15:52 dalek nqp: a2deb14 | jnthn++ | src/vm/jvm/ (3 files):
15:52 dalek nqp: Implement nqp::isrwcont on JVM backend.
15:52 dalek nqp: review: https://github.com/perl6/nqp/commit/a2deb14a05
15:52 andreoss why my sub foo {...} is immutable but my &foo = sub {...} is  not?
15:53 jnthn sub foo installs the sub at compile time into the lexpad
15:53 jnthn my &foo is just a Scalar container with a Callable type constraint.
15:54 estrabd joined #perl6
15:54 jnthn (And since the first happens at compile time, a bunch more error checking and optimization is possible)
15:56 dalek rakudo/rw-cleanup: 6eec497 | jnthn++ | tools/build/NQP_REVISION:
15:56 dalek rakudo/rw-cleanup: Bump NQP_REVISION for nqp::isrwcont.
15:56 dalek rakudo/rw-cleanup: review: https://github.com/rakudo/rakudo/commit/6eec49713d
15:56 dalek rakudo/rw-cleanup: 089e7df | jnthn++ | src/vm/moar/ops/container.c:
15:56 dalek rakudo/rw-cleanup: Implement new can_store container API on Moar.
15:56 dalek rakudo/rw-cleanup: review: https://github.com/rakudo/rakudo/commit/089e7df48d
15:59 jnthn lizmat: fwiw, the slow test re-ordering makes things *slower* on Windows
15:59 jnthn lizmat: 'cus it launches tests in batches
15:59 jnthn lizmat: And now there's more slow batches
16:04 dalek rakudo/rw-cleanup: 19975f9 | jnthn++ | src/Perl6/ (2 files):
16:04 dalek rakudo/rw-cleanup: Use nqp::isrwcont for checking parameter `is rw`.
16:04 dalek rakudo/rw-cleanup: review: https://github.com/rakudo/rakudo/commit/19975f91e7
16:04 dalek rakudo/rw-cleanup: 1d3c344 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
16:04 dalek rakudo/rw-cleanup: Mention "writable" in error; moritz++.
16:04 dalek rakudo/rw-cleanup: review: https://github.com/rakudo/rakudo/commit/1d3c3442a5
16:07 jnthn OK, I got 4 test failures in rw-cleanup, and 3 are about error reporting
16:07 jdv79 Calling emit() will never work with declared signature (\value)
16:07 jdv79 why not ?
16:08 jnthn jdv79: emit needs a value to emit
16:08 jnthn jdv79: I don't see a sensible "default" value
16:08 jdv79 oh i read it wrong
16:08 jdv79 right
16:09 * jnthn needs a break for a little bit
16:12 spider-mario joined #perl6
16:16 diana_olhovik joined #perl6
16:16 jdv79 oh WOW.  i just spent 10 mins trying to figure out how "Cannot find method 'postcircumfix:<( )>'" could be coming from a react or whenever block since tht's the line # it ref'd
16:16 jdv79 it was inside the supply block that it was looping over.  :(  that can't be fixed?
16:19 dalek doc: 6d961f0 | RabidGravy++ | lib/Type/IO/Socket/Async.pod:
16:19 dalek doc: Slightly prettier client example
16:19 dalek doc: review: https://github.com/perl6/doc/commit/6d961f04d3
16:20 FROGGS[mobile] joined #perl6
16:21 FROGGS[mobile] jdv79: can you golf and report it?
16:21 jdv79 ok
16:23 jnthn async error reporting is always some fun to get right :)
16:28 jdv79 is it async related?  seems to be def vs runtime on an anon block kinda
16:29 jdv79 https://gist.github.com/jdv/81f942b02e414219f79e
16:30 FROGGS[mobile]2 joined #perl6
16:31 jnthn Yeah, I can imagine how we lose the original exception
16:31 jnthn Can you RT that? I'm working on some of the rw-cleanup regressions and then it'll be dinner time soon...
16:31 jdv79 yes
16:31 jdv79 thanks
16:37 TimToady on code locations, it's gonna be hopeless unless we store positions rather than line numbers
16:37 khw joined #perl6
16:37 TimToady but I repeat myself...
16:38 timotimo for all those one-liners out there
16:38 timotimo and minified perl6 scripts
16:38 jdv79 in 3d?
16:38 jnthn .oO( TimToady repetition detected 5 lines ago :P )
16:39 FROGGS[mobile] joined #perl6
16:41 dalek rakudo/rw-cleanup: dbec58f | jnthn++ | src/ (2 files):
16:41 dalek rakudo/rw-cleanup: Typed exception for no `is rw` satisfaction.
16:41 dalek rakudo/rw-cleanup: review: https://github.com/rakudo/rakudo/commit/dbec58fc8b
16:43 jdv79 https://gist.github.com/ano​nymous/c4b70a65e2475ff25968
16:43 TimToady jnthn: maybe there should be a Storable role and s/writable container/Storable/?  well, maybe Storable is not the best name...
16:43 jdv79 is taht really necessary to write?  can't the core IO stuff do that?
16:43 cognominal joined #perl6
16:44 jnthn TimToady: I figured we could put that off until we figure out what `is rw` means on non-Scalar things...
16:44 jnthn TimToady: Of course we could test if .VAR ~~ Storable
16:44 jnthn Though yeah, the name has some...history...we may want to consider ;)
16:45 Alina-malina joined #perl6
16:48 jnthn jdv79: $conn.chars-supply.lines
16:49 jnthn m: my $s = supply { emit "omg"; emit "wtf\nbbq"; emit "!" }; react { whenever $s.lines { ++state $i; say "$i: $_" } }
16:49 camelia rakudo-moar 94bc1a: OUTPUT«1: omgwtf␤2: bbq!␤»
16:50 jnthn OK, I think I got my rw-cleanup branch mergable :)
16:54 jdv79 ha
16:55 jdv79 RabidGravy: that's the sort of stuff to put in that example code
16:56 RabidGravy just doing the server example to make it more like that
16:56 dalek rakudo/nom: d593789 | jnthn++ | src/core/ (5 files):
16:56 dalek rakudo/nom: Clean up various `is rw` misuses.
16:56 dalek rakudo/nom:
16:56 dalek rakudo/nom: It's meaningless on non-Scalars. In some places, drop bogus `is rw`,
16:56 dalek rakudo/nom: and in others switch to using scalars over \foo.
16:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d59378932e
16:57 jdv79 i did find a perhaps genuine bug though because i reinvented that wheel
16:57 dalek joined #perl6
16:57 dalek roast: 5caab8c | jnthn++ | S0 (3 files):
16:57 dalek roast: Update some expected exception types.
16:57 dalek roast:
16:57 dalek roast: We now enforce rw-ness at parameter binding time, so these die
16:57 jdv79 so maybe not wasted
16:57 dalek roast: earlier.
16:57 dalek roast: review: https://github.com/perl6/roast/commit/5caab8cfae
16:57 dalek roast: 6d542a7 | jnthn++ | S06-traits/misc.t:
16:57 dalek roast: Update tests for `is rw` for constraint semantics.
16:57 dalek roast: review: https://github.com/perl6/roast/commit/6d542a7230
16:57 yqt joined #perl6
16:58 jnthn rw-cleanup merged, thsoe were the fails I noticed and have fixed up tests for :)
16:58 jnthn This isn't everything, 'cus the multi-dispatcher needs to learn to enforce the constraint too
16:58 jnthn And the JVM binder... :)
16:58 jnthn But, dinner time &
17:01 pierrot_ joined #perl6
17:02 moritz http://hack.p6c.org/~moritz​/rakudo-star-2015.09.tar.gz # everbody please test it
17:03 jdv79 is there something like say for a socket?
17:03 jdv79 for line based text protocols for instance
17:04 moritz jdv79: no; and I don't advise adding it either
17:05 moritz cause say() uses gist, which is the summary meant for humans
17:05 moritz not something you usually send over the network
17:05 jdv79 yup
17:09 pierrot__ joined #perl6
17:12 espadrine joined #perl6
17:14 domidumont joined #perl6
17:19 travis-ci joined #perl6
17:19 travis-ci Rakudo build passed. jnthn 'Typed exception for no `is rw` satisfaction.'
17:19 travis-ci https://travis-ci.org/raku​do/rakudo/builds/82188992 https://github.com/rakudo/rakudo/c​ompare/94bc1a93eda3...277ed7e5bb97
17:19 travis-ci left #perl6
17:24 telex joined #perl6
17:26 garu_ I *love* the "did you mean" messages on undeclared variables. I wonder if we can do the same for unrecognized character names, since it's also a compile time error
17:28 garu_ something like 'say "\c[WHITE HEART]"' -- compile error: did you mean "WHITE HEART SUIT"?
17:31 hoelzro garu_: that's a spectacular idea
17:31 moritz also algorithmically a bit more challenging than for the setting
17:32 moritz there are many more Unicode characters than symbols in the setting, for example
17:33 TimToady and you're looking for more than just typos
17:36 hoelzro it's more complex time-wise, but it would only happen at compilation failure, right?
17:36 jdv79 RabidGravy: you work on HTTP::UserAgent, right?
17:37 hoelzro so a few extra millis for that info wouldn't be so bad, imo
17:37 jdv79 seems to be hangy again
17:37 RabidGravy jdv79, yes
17:37 RabidGravy occasionally anyway
17:37 adu joined #perl6
17:39 _mg_ joined #perl6
17:40 araujo_ joined #perl6
17:45 jdv79 RabidGravy: i bugged it 
17:45 RabidGravy cool
17:45 jdv79 who knew an http us could be so cranky:)
17:45 jdv79 *ua
17:55 leont joined #perl6
17:56 geekosaur anyone who's written one >.>
18:00 dalek doc: 70321a6 | RabidGravy++ | lib/Type/IO/Socket/Async.pod:
18:00 dalek doc: Make the server example more similar in style
18:00 dalek doc: review: https://github.com/perl6/doc/commit/70321a6946
18:02 dnmfarrell joined #perl6
18:04 FROGGS joined #perl6
18:11 FROGGS o/
18:12 garu_ \o
18:12 FROGGS hi garu_ :o)
18:14 dalek roast: f384b62 | FROGGS++ | S05-capture/array-alias.t:
18:14 dalek roast: turn old test into valid Perl 6
18:14 dalek roast:
18:14 dalek roast: That is, fix stringificationn of variables and lexical regex declarations.
18:14 dalek roast: review: https://github.com/perl6/roast/commit/f384b62b77
18:18 [Coke] FROGGS: that has a note at the top that it doesn't compile.
18:18 [Coke] ... which you can remove now. Not sure if there's anything else that needs doing to fix that RT, either.
18:18 [Coke] er, that test file you just updated.
18:19 FROGGS [Coke]: I am working on making it pass...
18:19 FROGGS m: my @chars; say "abc" ~~ m/@chars=(.)/; say @chars
18:19 camelia rakudo-moar 277ed7: OUTPUT«===SORRY!===␤QAST::Block with cuid cuid_1_1443205161.35459 has not appeared␤»
18:19 FROGGS [Coke]: it does not compile yet on nom
18:23 dalek rakudo/nom: 863a2a4 | TimToady++ | src/Perl6/Grammar.nqp:
18:23 dalek rakudo/nom: die better on malformed -->
18:23 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/863a2a465a
18:31 mr_ron joined #perl6
18:32 mr_ron m: https://gist.github.com/ron​aldxs/4cb6bb2b47140eab390a
18:32 camelia rakudo-moar 277ed7: OUTPUT«count should be 1 but is: 2␤»
18:32 mr_ron looks like proxy bug
18:34 timotimo rakudo doesn't guarantee how often FETCH is called
18:37 mr_ron I think that conclusion effects a roast test suite: https://github.com/perl6/roast/blo​b/master/S12-attributes/mutators.t
18:39 timotimo ah, i don't think we should be testing for the exact count of FETCH invocations there
18:39 mr_ron the FETCH will be called twice and add 4 instead of 2
18:39 timotimo but the test is currently skipped anyway, perhaps because $!varies gets the wrong "self" there?
18:40 timotimo let's look at RT #124909
18:40 timotimo oh
18:40 timotimo it's one of *those*
18:40 timotimo https://rt.perl.org/Public/​Bug/Display.html?id=124909
18:41 mr_ron yes I saw it - it doesn't say much
18:43 mr_ron custom mutators are something I want for one of my modules.  They don't really seem to be in the documentation.  Are they officially documented as part of Perl6 in some way?
18:43 lizmat messages?
18:43 yoleaux 15:16Z <tony-o> lizmat: i'm looking to fix either CURLI or CURLF so we can keep working on the modules we have.  can you tell me whether the CURLF (returns CompUnit) or CURLI (returns an Array) is correct?  this will tell me whether CURLI needs to be changed or whether CURLF needs to be fixed along with whatever is trying to call .load on the returned value.
18:45 lizmat tony-o: looking into it
18:45 * lizmat backlogs first
18:48 lizmat jdv79: re http://irclog.perlgeek.de/p​erl6/2015-09-25#i_11274295 , in 871268e72e11c9dd0c6705 I added a randomize option to t/harness
18:48 lizmat jdv79: it did not make things go faster (wallclock wise)
18:48 ggoebel2 joined #perl6
18:49 lizmat [Coke]: well, slow in my book is more "slow in wallclock" because of sleep() or i/O
18:49 mr_ron custom object attribute mutators I mean. From S12 "You may write your own accessors to override any or all of the autogenerated ones.".  Is there similar documentation on mutators?
18:50 lizmat [Coke]: so re http://irclog.perlgeek.de/p​erl6/2015-09-25#i_11274331  : I don't think tests marked "stress" should be considered slow as well
18:51 lizmat the whole idea was to spread out the tests that take long, but don't need a lot of CPU, over the entire run of the spectest, rather than be concentrated at a particular period of the run
18:51 [Coke] lizmat: if stress tests are slow by wallclock standard, what makes them stress tests?
18:51 sufrostico joined #perl6
18:51 [Coke] *aren't
18:52 lizmat because they are generally CPU intensive, and possibly take long because they do a lot
18:52 lizmat the "slow" tests are just slow because they *don't* do a lot, just waiting for things to happen
18:59 yqt joined #perl6
19:02 lizmat jnthn: re http://irclog.perlgeek.de/p​erl6/2015-09-25#i_11275510 about the slow fudger making things slower
19:03 lizmat afaik I only changed the *order* in which test files are being executed
19:03 lizmat I did not change anything related to batching at all
19:04 lizmat in fact, in t/harness there is no batching at all (in the end)
19:04 lizmat $tap_harness_class->new( \%harness_options )->runtests(@tfiles);
19:05 lizmat so I'm surprised
19:05 lizmat if it really does slow down things on windows, I could make the slow fudger work only if --slow is specified
19:05 lizmat and have the makefile not specify that on Win ?
19:09 moritz R* uploaded, tag pushed, blog post published
19:09 moritz will do the mailing lists soonish
19:10 moritz if somebody could update the wikipedia pages, that would be awesome
19:10 lizmat moritz++
19:10 quester-temp joined #perl6
19:11 quester-temp m: say < a b c d e >.grep( / <[bd]> / );
19:11 camelia rakudo-moar 863a2a: OUTPUT«(b d)␤»
19:12 quester-temp m: say < a b c d e >.grep( m{ <[bd]> } );
19:12 camelia rakudo-moar 863a2a: OUTPUT«Method 'match' not found for invocant of class 'Any'␤  in block <unit> at /tmp/ipaMoijBFX:1␤␤»
19:13 lizmat m: m/a/
19:13 camelia rakudo-moar 863a2a: OUTPUT«Method 'match' not found for invocant of class 'Any'␤  in block <unit> at /tmp/QQevzKtSUq:1␤␤»
19:14 quester-temp say < a b c d e >.grep( { $^x ~~ m{ <[bd]> } }
19:15 quester-temp m: say < a b c d e >.grep( { $^x ~~ m{ <[bd]> } };
19:15 camelia rakudo-moar 863a2a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ReFKNXj8b6␤Unable to parse expression in argument list; couldn't find final ')' ␤at /tmp/ReFKNXj8b6:1␤------> 3 b c d e >.grep( { $^x ~~ m{ <[bd]> } };7⏏5<EOL>␤    expecting any of:␤        argu…»
19:15 quester-temp m: say < a b c d e >.grep( { $^x ~~ m{ <[bd]> } } );
19:15 camelia rakudo-moar 863a2a: OUTPUT«(b d)␤»
19:18 _mg_ joined #perl6
19:18 dalek rakudo/nom: de8b431 | lizmat++ | t/harness:
19:18 dalek rakudo/nom: Make the slow fudger optional: --slow
19:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/de8b4315ca
19:22 quester-temp m: say < a b c d e >.grep( re{ <[bd]> } );
19:22 camelia rakudo-moar 863a2a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/PYEFRCI5ON␤Undeclared routine:␤    re used at line 1␤␤»
19:22 quester-temp m: say < a b c d e >.grep( rx{ <[bd]> } );
19:22 camelia rakudo-moar 863a2a: OUTPUT«(b d)␤»
19:22 Goblin_ joined #perl6
19:23 dalek rakudo/nom: 5f5cfcf | lizmat++ | Configure.pl:
19:23 dalek rakudo/nom: Factor out Win check into variable
19:23 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5f5cfcfc71
19:30 kjk is it possible to get documentation on a method at runtime?
19:30 araujo joined #perl6
19:31 tadzik yes
19:31 tadzik a bit tricky though
19:32 tadzik m: https://gist.github.com/ta​dzik/adaded60411f1768aef7
19:32 camelia rakudo-moar 863a2a: OUTPUT«foo bar baz dupa␤»
19:32 tadzik kjk: &^
19:33 tadzik [0] is actually unnecessary
19:34 FROGGS m: class Foo { method bar { } #= baz␤}; say Foo.^find_method('bar')[0].WHY
19:34 camelia rakudo-moar 863a2a: OUTPUT«(Any)␤»
19:34 FROGGS m: class Foo { #|flubber␤method bar { } #= baz␤}; say Foo.^find_method('bar')[0].WHY
19:34 camelia rakudo-moar 863a2a: OUTPUT«baz␤»
19:34 FROGGS that smells like a bug
19:34 lizmat I find it hard to believe that we actually need something like ^find_method
19:34 hoelzro ruh roh
19:35 hoelzro when did *that* stop working?
19:35 hoelzro and WHY didn't the S26 tests pick that up?
19:35 kjk ic, thanks tadzik!  looks like many methods on built-in types still have no docs on them? Str.^find_method('chomp').WHY.say
19:35 tadzik kjk: yeah, the built-in things are not documented in the code :(
19:35 hoelzro kjk: none of the builtins do, unfortunately =/
19:36 moritz that's what p6/doc is for
19:36 hoelzro I have a side project in mind that takes the docs from perl6/doc and injects them into the WHYs, but ENOTENOUGHTIME
19:36 tony-o lizmat: lmk, i'll work on CUR because right now it's pretty well broken
19:36 lizmat hoelzro: inject?  why not go out to fetch the docs when .WHY is called?
19:36 kjk ic, I'm just looking for a way to get the docs while I explore objects and methods in a repl
19:37 tadzik . o O ( use docs; )
19:37 hoelzro lizmat: I don't see why not; injecting them would just be easier =)
19:37 hoelzro s/easier/less work/
19:37 hoelzro I think we were musing about documentation sources when I added S26 support
19:37 lizmat yeah, but that would increase memory requirements for the runtime ?
19:37 hoelzro yes
19:37 hoelzro I was thinking you'd have to ask for them at Configure.pl time
19:38 lizmat I mean, if we have the docs sitting on disk, we could go out to them the moment .WHY is called ?
19:38 lizmat it would only need filename and possible seek position/length ?
19:38 hoelzro it feels like CompUnitRepos could manage that
19:39 lizmat tony-o: let's make sure we're not doing double work on CUR...
19:39 hoelzro when you install a module, the installer could extract the docs and put them somewhere nice
19:39 lizmat that's one approach, indeed
19:40 lizmat or if the source is still available, (which I think it should be)
19:40 hoelzro oh, duh
19:40 hoelzro nice idea, lizmat  =)
19:40 lizmat it could go out to the source and *then* extract
19:41 lizmat could anyone with enough Configure.pl / Makefile foo add --slow as a parameter to M_HARNESS_WITH_FUDGE when not on Windows ?
19:41 lizmat I've been looking at the code, but got lost
19:42 tony-o lizmat: well, i'd like to just get it fixed sooner rather than later.  right now CURLF is most likely broken but it's the only thing that works to load modules.  i have modules that i haven't been able to load or test for a few weeks now because CURLI is broken
19:42 lizmat and it seems to me that this would be a piece of cake for someone
19:42 moritz lizmat: what does --slow do?
19:42 lizmat it spreads out the tests marked slow equally over the test run
19:43 lizmat it brings down spectest time for me from 215 to 207 wallclock
19:43 tony-o or if we could at least revert whatever the commit was that broke it
19:44 lizmat tony-o: CURLI will remain broken until we got all precomp / installation issues solved
19:44 moritz lizmat: my solution would be to default $slow to 1 in t/harness on non-windows
19:44 lizmat that would work for me as well
19:45 moritz lizmat: http://perlpunks.de/paste/show/5605a45c.5c35.d6
19:45 moritz I need to compile my rakudo before I can test it :-)
19:47 zoosha joined #perl6
19:48 lizmat I have a slightly different patch
19:48 jdv79 lizmat: i was 1/2 kidding around
19:49 dalek rakudo/nom: 65129cf | lizmat++ | t/harness:
19:49 dalek rakudo/nom: Make --slow default to true on non Win
19:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/65129cf6cc
19:49 jdv79 but if randoming spread out the slow offenders and added depedancy breaking yay:)
19:50 jdv79 serm you found not though
19:50 jdv79 *seems
19:50 lizmat no, it made things worse
19:50 * leont should try a conversion of t/harness to p6 one of these days, and see how far it manages to get
19:51 lizmat leont: looks pretty doable to me
19:51 leont I think so too
19:51 jnthn lizmat: The batching isn't anything in t/harness, it's just the way parallel testing works on Windows for...some reason
19:51 jdv79 curious
19:51 lizmat jnthn: yeah, got that later....
19:51 jnthn k :)
19:52 lizmat it's not spreading out on Win anymore
19:52 leont It's just that parallel testing has been tricky so far (no idea if that's fixed by now)
19:52 jnthn lizmat++ # thanks!
19:52 tony-o you're really going to deny a PR that fixes something spec'd?
19:52 jnthn tony-o: Which PR is in question here?
19:52 * jnthn can look at it
19:52 tony-o i want to fix CURLI so i can continue developing and testing modules for perl6.
19:52 lizmat tony-o: which PR ?
19:53 tony-o i will submit a PR to fix it once i know it's worth doing
19:53 jdv79 curl* is shrouded in mystery
19:53 lizmat please don't assume malice is intended, just laziness and probably stupidity from my end
19:53 tony-o i haven't worked on it yet because i'm not sure if CURLF or CURLI is out of spec
19:53 lizmat as the person having written most of the spec, I'm not sure atm either
19:54 tony-o so would it be okay if i just get CURLI working and submit a PR for that?  should i put the PR on a certain branch?
19:54 lizmat tony-o: that's why I said I'm looking into it (yes, I know, I got sidetracked earlier this week)
19:54 nine tony-o: I guess you wouldn't have to spend much time to become one of the top 3 experts in that area...
19:55 * jdv79 would like to see curl* more fleshed out
19:55 tony-o nine: i have some ideas about how to implement but i can't seem to keep the discussion going (maybe that's why ^^)
19:55 lizmat tony-o: "just get CURLI working" is something that I think we *don't* want at this point
19:55 jnthn lizmat: Why not, ooc?
19:55 lizmat there are serious flaws in the way CURLI currently has been implemented
19:55 tony-o jnthn: more to refactor is my guess,
19:56 jnthn lizmat: Sometimes making the thing work at all is a prereq for knowing how to refactor it, though :)
19:56 lizmat very true
19:56 jnthn Not to mention it might let us write tests that the refactor should also pass.
19:57 lizmat also true
19:57 tony-o honestly i think CURLF is the one that is borken, i think returning an array for 'candidates' is more ideal than returning a single CU
19:57 jnthn I guess that's assuming the thing needing refactoring is the implementation, not the API...
19:57 lizmat but like we don't want anything in 6mas Perl 6 that will cause trouble in the future
19:57 tony-o what are the flaws that are in CURL lizmat ?
19:57 lizmat we don't want to start installing moduled in such a way now that will cause a lot of (remote) problems in the future either
19:58 nine tony-o: but who is going to decide which of the candidates to pick? Isn't that CURLF's job?
19:58 tony-o i don't mind refactoring a large portion of all of it..
19:58 lizmat maybe I should write a blog post about this
19:58 tony-o nine: i'd argue that the CUR's job is to provide information about what is available and the module loader to pick one if there are many
19:59 jdv79 curl may need more vision and less vaguery
19:59 lizmat what are the prerequisites of a CUR:
19:59 jnthn lizmat: That could help
19:59 jdv79 lizmat++ # on the grttin the convo started
20:00 * jnthn senses this is an area he needs to look at somewhat
20:00 jdv79 *gettin
20:00 lizmat well, in a way it's the elephant in the room that nobody wanted to talk about
20:00 jnthn It's also kinda the elephant that I hoped I could delegate :P
20:00 lizmat now that the other elephants have left the room (NFG, NSA and GLR)
20:01 lizmat jnthn: yes, you will
20:01 jnthn lizmat: Well, I want to follow the discussion well enough to understand what's going on :)
20:01 lizmat after having been on the road for ~ 8 weeks and not having had much quality programming time
20:01 jnthn Doesn't mean I want to write the code. Especially as tony-o++ also seems interesting in hacking on it :)
20:01 timotimo we can probably turn "parallelized hypers and junctions" to +/- on the features matrix by now, right?
20:01 FROGGS lizmat: why do you think nobody wants to talk about CURs?
20:01 lizmat I'm finally getting into the flow again  :-)
20:01 FROGGS lizmat: I mean, we brought in a better shape just lately, in order to improve it
20:02 lizmat FROGGS: *you* did that  :-)
20:02 lizmat and I'm trying to muster up the courage to start working on it again
20:02 pierrot joined #perl6
20:02 FROGGS I can also look into it again
20:03 lizmat FROGGS: wrt to nobody talking about it: it's more nobody wants to make decisions about it
20:03 FROGGS that discussion about how broken it is makes me feel that I don't even know it
20:03 jdv79 what are the blockers?
20:03 FROGGS jdv79: I just know one: slowness
20:03 lizmat as far as I understand now, TimToady doesn't really care about how it happens
20:03 FROGGS if you install 200+ modules, your startup time grows to at least 5s
20:03 tony-o yea i'm more than happy to fix it or even come up with what it should look like, i just need to know where i should start
20:04 jdv79 lizmat: sounds like you are it then:)
20:04 tony-o if it's a total design/write, i can do that too
20:04 lizmat ok, let me try to outline the design I have in mind in a gist
20:05 lizmat give me an hour or so to write that down, ok
20:05 pierrot_ joined #perl6
20:05 jdv79 woohoo
20:05 FROGGS tony-o: that is certainly not needed
20:05 tony-o roger that
20:05 lizmat .oO( should have done that a long time ago, but I guess some things need to ripen)
20:05 * jnthn can put on this pumpkin-shaped hat if any decisions need his input to make :)
20:06 lizmat jnthn: that would be cool
20:06 lizmat meanwhile, having run some spectests in a row: it appears I got a few random flappers / hangers
20:06 * jnthn hopes lizmat, FROGGS, and tony-o will find a way to collaborate on getitng us something nice. :)
20:06 * lizmat thinks that's entirely possble!  :-)
20:06 jnthn lizmat: What're you seeing?
20:07 FROGGS tony-o: IMO there are a few things to solve: 1) give CULF and install method 2) make it precomp 3) fix the slowdown (which is the problem what I probably know best atm)
20:07 lizmat repeatable;
20:07 lizmat $ perl6 t/spec/S28-named-variables/slangs.t
20:07 lizmat 1..6
20:07 lizmat Cannot make a Block object using .new
20:07 FROGGS though, I need jnthntime for #3
20:07 TEttinger joined #perl6
20:07 lizmat $ perl6 t/spec/S06-signature/defaults.t
20:07 lizmat ===SORRY!=== Error while compiling t/spec/S06-signature/defaults.t
20:07 lizmat Type 'Hash' is not declared
20:08 jnthn I...what?!
20:08 lizmat t/spec/S17-supply/syntax.t hung
20:08 jnthn Sounds like the compiler is doing Hash :P
20:08 FROGGS weird compiler is weird
20:09 jnthn lizmat: Odd, defaults.t works fine here
20:09 jnthn Lemme pull latest
20:09 jnthn I get the slangs.t one
20:10 jnthn lizmat: You did re-configure recently, yes?
20:10 lizmat yup
20:10 lizmat recompiled moar and nqp
20:10 jnthn OK, odd
20:11 lizmat I will nuke install and start from scratch to make sure
20:13 jnthn m: $~MAIN
20:13 camelia rakudo-moar 5f5cfc: OUTPUT«Cannot make a Block object using .new␤  in block <unit> at /tmp/J2rQZIHdBU:1␤␤»
20:13 jnthn There's a golf...
20:14 FROGGS m: $~TDI
20:14 camelia rakudo-moar 5f5cfc: OUTPUT«Cannot make a Block object using .new␤  in block <unit> at /tmp/aR65qPwoI9:1␤␤»
20:14 FROGGS now it's a golf TDI
20:15 tony-o i have a golf wagen tdi
20:15 tony-o on the recall list
20:16 jnthn m: Slang.new
20:16 camelia rakudo-moar 5f5cfc: OUTPUT«Cannot make a Block object using .new␤  in block <unit> at /tmp/VFQ3rXaRf2:1␤␤»
20:16 diana_olhovik joined #perl6
20:17 jnthn What on earth...
20:17 FROGGS I have no car, so I've got other problems :o)
20:17 RabidGravy broked
20:19 jdv79 hmm?
20:21 jnthn Will look more tomorrow...getting sleep now
20:22 jnthn 'night
20:22 tony-o FROGGS: bike?  i have a lot more of those than cars.  i'm happy vw gave the epa the finger, though.
20:23 _dolmen_ joined #perl6
20:23 masak wow, we've had Slang since Nov 2013...
20:24 FROGGS tony-o: I've got no car anymore since I'm living about 1000m from $work
20:24 FROGGS tony-o: everything is nearby, and I enjoy my bike more atm :o)
20:26 hoelzro this has probably been brought up already, but a cursory log search didn't find anything - did spectest get a lot slower recently?
20:27 lizmat hoelzro: there's more tests... and settings compiling has gone up from 35 to 40 seconds for me
20:27 lizmat but I'm not sure that's because parsing got slower, or there's more to parse now
20:27 hoelzro hmm
20:28 lizmat feels to me that all of the anonymous classes for Iterator could cause a compiling slowdown in settings
20:28 lizmat much more to look up / compose / resolve at compile time now
20:28 nine lizmat: my feeling is that parsing got slower as code was added
20:28 nine Also it's not that much slower
20:29 lizmat 35 -> 40 is ~ 15%
20:29 hoelzro make spectest has been running for an hour on my machine =/
20:29 nine .tell jnthn the Slang.new failure started appearing in the range 94bc1a9..65129cf
20:29 yoleaux nine: I'll pass your message to jnthn.
20:29 hoelzro I haven't seen that since parrot times
20:29 lizmat hoelzro: then something is hanging
20:29 FROGGS hoelzro: so it hangs, no?
20:29 hoelzro well, I just killed the socket async test
20:29 hoelzro I don't know how long that was hanging
20:30 lizmat do a ps, grep on moar and kill all the higher numbered processes :-)
20:30 nine I thought we could just do ctrl+c now?
20:30 hoelzro the test speed seems to be ok now
20:30 lizmat or press CONTROL-C now ?
20:30 hoelzro oh, you can? great!
20:30 hoelzro I always hated doing that by mistake and killing the whole run
20:30 nine I seem to remember a commit about that yesterday
20:31 hoelzro yay
20:31 * hoelzro has not been as involved as he would like since the SPW
20:31 lizmat yeah, ShimmerFairy ++
20:31 hoelzro ShimmerFairy++
20:31 hoelzro bad combination of MGS5 + Stein's Gate + Japan prep
20:34 mr_ron left #perl6
20:41 jdv79 the build and testing timing concerns remind me of $ex-work's 1/2 test syite time and our, mostly failing, attempts at "fixing" that.
20:41 jdv79 *1/2 hour
20:42 lizmat well, I guess with less than 4 minutes, we're not doing to bad then ?
20:42 jdv79 ha
20:42 lizmat ( 207 seconds with TEST_JOBS=10 on my machine)
20:42 jdv79 its only a matter of time:)
20:44 FROGGS though I dont see why we add complexity there for a 8s speedup (if I remembered it correctly)
20:44 lizmat it's more about fans not switching off  :-)
20:45 lizmat and the complexity is not during the running of the test... just a little bit before starting testing
20:45 nine .tell jnthn or...not. When I checkout 94bc1a9 and rebuild nqp/Moar I still get "Method 'new' not found for invocant of class '$?CLASS'". But with rakudo from this afternoon it worked.
20:45 yoleaux nine: I'll pass your message to jnthn.
20:46 lizmat nine: feels more like a Moar change issue?
20:46 FROGGS lizmat: yes, I understand it is just about preparing the test files beforehand
20:46 nine lizmat: that'd be my guess. That's why I'm so surprised by getting an error with an older nqp/Moar
20:47 lizmat ah... ok  :-)  I thought you just reverted rakudo, not nqp / moar as well
20:47 jdv79 at least its only complexity and not complication
20:47 RabidGravy man at my previous work the tests took two and a half hours
20:47 jdv79 ew
20:47 jdv79 testing hard fail
20:48 lizmat fwiw, I run spectests many times a day...  typically before any commit that I do
20:48 FROGGS same here
20:48 RabidGravy well 90% coverage over 250,000 lines of code with database build and tear down, quite quick really ;-)
20:51 FROGGS gnight #perl6
20:52 [Coke] nite
20:52 jdv79 RabidGravy: i can sympathize though.  its a real problem.
20:53 jdv79 [Coke]: cya
20:53 jdv79 oh, nm
20:57 espadrine joined #perl6
20:58 [Coke] ;)
20:58 [Coke] I'm about to commute, though, so I'll take it.
21:07 lizmat work on CURLI description so far: https://gist.github.com/li​zmat/f3807956c354c14902a3
21:07 lizmat comments welcome
21:10 * hoelzro wipes some sweat from his brow
21:11 hoelzro .tell FROGGS that S26 example you posted that looked buggy is fine; you need a whitespace between '#|' and your comment
21:11 yoleaux hoelzro: I'll pass your message to FROGGS.
21:11 lizmat *phew*  :)
21:11 hoelzro which almost makes me think that '#|my comment' should warn the user or something
21:11 hoelzro lizmat: I always have a small panic when S26 stuff is broken =)
21:12 lizmat Know the feeling, but for other S-es   :-)
21:12 hoelzro hehe
21:30 tokuhiro_ joined #perl6
21:35 uberbaud joined #perl6
21:42 uberbaud left #perl6
21:45 lizmat jnthn: how would you call the ID by which rakudo recognizes "its" precomped files ?
21:45 uberbaud joined #perl6
21:49 araujo_ joined #perl6
21:55 * lizmat updated https://gist.github.com/li​zmat/f3807956c354c14902a3
21:56 lizmat tony-o: any comments so far?  ^^^
21:59 ShimmerFairy hoelzro: I ran into IO::Socket::Async 's test hanging yesterday (and didn't notice until the very end), so I added the trap => 1 option to the harness so ^C still prints a summary for however much happened :)
22:07 uberbaud joined #perl6
22:19 uberbaud joined #perl6
22:25 skids joined #perl6
22:35 dalek specs: 4b6d27a | TimToady++ | S0 (2 files):
22:35 dalek specs: Start documenting one-arg slurpies
22:35 dalek specs: review: https://github.com/perl6/specs/commit/4b6d27ae08
22:39 lizmat final update of CURLI writeup for today: https://gist.github.com/li​zmat/f3807956c354c14902a3
22:40 timotimo o/
22:40 ShimmerFairy TimToady: yesterday I found that  constant &bar = &foo  is enough to create a 'synonym' like I've talked about before (including defining multis on either and having them available to both). Would  constant &infix:<(elem)> = &infix:<∈>  be sufficient for that sort of thing, or are there reasons to want a separate 'synonym' concept?
22:40 lizmat .tell tony-o please read https://gist.github.com/li​zmat/f3807956c354c14902a3 for first stab at CURLI revival
22:40 yoleaux lizmat: I'll pass your message to tony-o.
22:40 lizmat .tell FROGGS please read https://gist.github.com/li​zmat/f3807956c354c14902a3 for first stab at CURLI revival
22:40 yoleaux lizmat: I'll pass your message to FROGGS.
22:40 lizmat .tell jnthn please read https://gist.github.com/li​zmat/f3807956c354c14902a3 for first stab at CURLI revival
22:40 yoleaux lizmat: I'll pass your message to jnthn.
22:41 ponbiki joined #perl6
22:42 ShimmerFairy lizmat: "S11 / S22 describe an API" immediately makes me think there should be an S32::CUR doc or something :)
22:42 lizmat perhaps this gist is a start of that  :-)
22:42 BenGoldberg joined #perl6
22:44 dalek rakudo-star-daily: 8b22370 | coke++ | log/ (9 files):
22:44 dalek rakudo-star-daily: today (automated commit)
22:44 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/8b223703ec
22:44 dalek perl6-roast-data: bf53de7 | coke++ | / (9 files):
22:44 dalek perl6-roast-data: today (automated commit)
22:44 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/bf53de7e52
22:46 kanishka joined #perl6
22:46 lizmat good night, #perl6!
22:46 ShimmerFairy ♞ lizmat o/
22:46 BenGoldberg Hellow and good evening.
22:51 dalek rakudo/nom: de8024d | TimToady++ | src/ (3 files):
22:51 dalek rakudo/nom: implement definite return of values
22:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/de8024d25d
22:51 dalek roast: 815bd50 | TimToady++ | S (2 files):
22:51 dalek roast: definite return of values implemented
22:51 dalek roast: review: https://github.com/perl6/roast/commit/815bd5019b
22:53 sufrostico joined #perl6
22:59 dnmfarrell joined #perl6
23:00 dnmfarrell *is not a robot*
23:09 tony-o .tell lizmat does this mean that i'm open to putting whatever i want in a CURLI manifest file?  how does CURLF store information about multiple modules with :auth and :ver?  how do i handle *not* being able to write to a precomp directory, is that a total failure for installing the module?  this doesn't seem to imply that a CURLF and CURLI should have the same interface, does the loader behave differently depending on which o
23:09 yoleaux tony-o: I'll pass your message to lizmat.
23:09 yoleaux 22:40Z <lizmat> tony-o: please read https://gist.github.com/li​zmat/f3807956c354c14902a3 for first stab at CURLI revival
23:09 tony-o i should maybe gist that
23:10 ShimmerFairy tony-o: as I understand it, CURLF should be seen as really just for things like    perl6 -Ilib testing_my_module.p6
23:11 ShimmerFairy .tell lizmat left a comment on your gist, hope it helps! :)
23:11 yoleaux ShimmerFairy: I'll pass your message to lizmat.
23:15 tony-o ShimmerFairy: i'm not into guessing, i want to fix CURLI.  If i need to fix CURLF too then i will.  I've been digging around in CURL{I|F} and asking a lot of questions about it for more than a year and a project i was working on is now dead until CURLI is fixed.  I'm willing to contribute to fix the issue but we're under the consensus that CURLs need to change and we're trying to hammer out how.  CURLF is useful on a bigger s
23:16 ShimmerFairy tony-o: well, lizmat++'s gist pretty much says that CURLF doesn't do the auth/ver stuff, and that it's more for development purposes.
23:17 mr_ron joined #perl6
23:19 tony-o it really doesn't say that but thank you for your opinion.
23:19 tony-o explicitly not addressing something doesn't mean the opposite is true.
23:21 mattprelude joined #perl6
23:21 ShimmerFairy tony-o: have you not read this section?   https://gist.github.com/lizmat/f38079​56c354c14902a3#file-gistfile1-txt-L9
23:22 ShimmerFairy > It is basically just a frontend to the module loader that supports Perl 5 like module loading semantics (aka, without any from / auth / version support)
23:22 ShimmerFairy > A CURLF is intended for a development situation, *not* for a production environment
23:22 tony-o i have. it's dumb to knee cap ourselves out of the gate.
23:23 ShimmerFairy What I've said is how I've interpreted that section, particularly what I quoted :)
23:23 tony-o worse is the pandering
23:23 ShimmerFairy tony-o: well, you may disagree with the current definition of CURLF, but then why did you claim the gist wasn't saying what it is?
23:24 dalek roast: 383e161 | TimToady++ | S06-signature/definite-return.t:
23:24 dalek roast: unfudge, more tests for definite return
23:24 dalek roast: review: https://github.com/perl6/roast/commit/383e161ccc
23:25 ShimmerFairy (are we just interpreting that section differently?)
23:25 tony-o did you read the response full SF? i replied to lizmat's gist with the full thing spelled out.
23:25 tony-o fully^
23:27 ShimmerFairy tony-o: your messages got cutoff, both when you did .tell lizmat  and when you started with "i'm not into guessing, i want to fix CURLI..."
23:28 ShimmerFairy so I'm not sure I got to see everything you said :(
23:28 tony-o gotcha, i went back and read it and understood
23:29 ShimmerFairy tony-o: for the record, I do think CURLFs would be slightly more useful if they understood the provides section in META6.info, just so you don't have to set up the old filesystem-based layout for testing via -Ilib and such :)
23:31 adu joined #perl6
23:31 tokuhiro_ joined #perl6
23:31 dalek roast: 7eb5190 | TimToady++ | S06-signature/definite-return.t:
23:31 dalek roast: test definite return of booleans, named constnts
23:31 dalek roast: review: https://github.com/perl6/roast/commit/7eb51904a3
23:32 TimToady m: sub foo(--> pi) {}; say foo
23:32 camelia rakudo-moar de8024: OUTPUT«3.14159265358979␤»
23:32 ShimmerFairy TimToady: this is unrelated to --> Foo:D , right? (or does it mean 'definite' in that way too?)
23:33 TimToady no, Foo:D is not definite
23:33 TimToady it's just a test of it
23:33 ShimmerFairy Yeah, I figured you didn't mean .DEFINITE too, just wanted to make sure :)
23:33 TimToady m: sub foo(--> pi) { return 3 }; say foo
23:33 camelia rakudo-moar de8024: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dKR9wGCGjz␤No return arguments allowed when return value 3.14159265358979e0 is already specified in the signature␤at /tmp/dKR9wGCGjz:1␤------> 3sub foo(--> pi) { return 3 7⏏5}; say foo␤»
23:34 TimToady it is that meaning of definite
23:34 TimToady m: say Int:D.DEFINITE
23:34 camelia rakudo-moar de8024: OUTPUT«False␤»
23:34 TimToady though actually it's using nqp::isconcrete internally
23:34 ShimmerFairy oh, derp. I'm confusing the smileys for what they ask for it seems :)
23:35 ShimmerFairy m: sub foo (--> Int:D) { Int }; say foo  # this is still NYI then, just to provide a clear example of what I'm saying
23:35 camelia rakudo-moar de8024: OUTPUT«(Int)␤»
23:36 TimToady yeah, looks like :D isn't checked there
23:36 ShimmerFairy (And of course Int:U too)
23:38 TimToady m: -> --> 42 {}().say
23:38 camelia rakudo-moar de8024: OUTPUT«42␤»
23:38 TimToady could use a bunch more tests there, we don't test lambdas or methods yet
23:39 TimToady m: class Foo { method foo(--> 42) {}}; Foo.new.foo.say
23:39 camelia rakudo-moar de8024: OUTPUT«42␤»
23:39 TimToady whew!
23:41 TimToady m: say grep -> $x --> False { say $x }, 1..10
23:41 camelia rakudo-moar de8024: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤()␤»
23:41 ShimmerFairy TimToady: what's the rationale for definite return? It seems pretty silly for these "glorified constant" examples, but I'm assuming something like  sub do-foo-for-sure(--> True) { ... }  (where the hypothetical base do-foo returns a Bool indicating if it actually did something)?
23:41 TimToady it's part of the contract
23:42 TimToady m: sub foo(--> pi) { return 3 }; say &foo.signature
23:42 camelia rakudo-moar de8024: OUTPUT«5===SORRY!5=== Error while compiling /tmp/vODWXr0epr␤No return arguments allowed when return value 3.14159265358979e0 is already specified in the signature␤at /tmp/vODWXr0epr:1␤------> 3sub foo(--> pi) { return 3 7⏏5}; say &foo.signature␤»
23:42 TimToady m: sub foo(--> pi) { return}; say &foo.signature
23:42 camelia rakudo-moar de8024: OUTPUT«( --> 3.14159265358979e0)␤»
23:43 TimToady from the standpoint of multiple dispatch and binding, putting the return into the signature makes little sense, but from a dataflow contract perspective, it's treating the inputs and outputs equally
23:44 ShimmerFairy Sure, I think that's fair :)
23:47 ShimmerFairy TimToady: looks like you can't do    sub foo(--> pi) { return $*INDIANA ?? 3.2 !! Nil }    to conditionally break a return in this case, though I'm not sure if you'd ever want that. (I just chose Nil 'cos it seemed like a possible way of saying "return nothing")
23:48 pierrot When a proper book about Perl 6 well be published?
23:48 yoleaux 1 Sep 2015 22:46Z <raiph> pierrot: http://irclog.perlgeek.de/p​erl6/2015-09-01#i_11155377 is wrong. One must use a `?` or `!` for an assertion, eg `<?{...}>` is an assertion -- note the `?`. (I was right that `<{...}>` inserts the ... as a subrule.) (A plain `{...}` just tells P6 to do regular code (eg the debugging `say` that I used in http://irclog.perlgeek.de/perl6/2
23:55 TimToady m: sub foo(--> pi) { fail 3 }; .way without foo
23:55 camelia rakudo-moar de8024: OUTPUT«3␤  in sub foo at /tmp/YTQgf3AxjO:1␤  in block <unit> at /tmp/YTQgf3AxjO:1␤␤Actually thrown at:␤  in any  at gen/moar/m-Metamodel.nqp:2869␤  in block <unit> at /tmp/YTQgf3AxjO:1␤␤»
23:55 TimToady m: sub foo(--> pi) { fail 3 }; .say without foo
23:55 camelia rakudo-moar de8024: OUTPUT«3␤  in sub foo at /tmp/sjoKqerDwu:1␤  in block <unit> at /tmp/sjoKqerDwu:1␤␤»
23:57 TimToady m: say $~MAIN  # this seems like a recent breakage that I don't think is my fault, but maybe it is
23:57 camelia rakudo-moar de8024: OUTPUT«You cannot create an instance of this type␤  in block <unit> at /tmp/m_XjX5Trdt:1␤␤»
23:59 dalek rakudo/nom: 0024b0a | TimToady++ | src/core/ (6 files):
23:59 dalek rakudo/nom: definite dogfood
23:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0024b0a060

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

Perl 6 | Reference Documentation | Rakudo