»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:36 ab5tract left 00:42 ninjazach left 00:53 Mso150_d joined, Mso150 left 00:54 atroxaper joined 01:01 atroxaper left 01:03 Mso150_d left 01:04 Mso150 joined
TimToady m: subset Foo of (Str|Int); 01:41
camelia rakudo-moar fb9127: OUTPUT«===SORRY!=== Error while compiling /tmp/bivxMS7qfi␤Invalid typename␤at /tmp/bivxMS7qfi:1␤------> subset Foo of ⏏(Str|Int);␤ expecting any of:␤ statement list␤ prefix or term␤ pref…»
01:41 bjz_ joined
TimToady better, but the 'expecting' is still kinda bogus 01:41
01:41 [Sno] joined 01:52 ninjazach joined
raydiak tremendously more informative than 'missing semicolon'. TimToady++ 02:09
vendethiel TimToady++! 02:10
02:17 rmgk_ joined, rmgk_ is now known as rmgk 02:18 telex joined 02:46 atroxaper joined 02:53 atroxaper left 03:08 ninjazach left 03:12 ninjazach joined 03:17 jack_rabbit joined 03:27 ninjazach left 03:51 atroxaper joined 03:56 noganex joined 03:59 atroxaper left 04:11 Sqirrel left 04:22 atroxaper joined 05:29 atroxaper left 05:32 araujo left
raydiak .tell moritz when I look at this non-validating Frankenstein of HTML 4 Transitional, XHTML 1 Strict, multiple p5 modules spitting out html from multiple layers and using shell commands to copy files, I just have to ask...is there any future in sight for pod6ify? :) 05:34
yoleaux raydiak: I'll pass your message to moritz.
05:35 atroxaper joined 05:40 atroxaper left 05:55 nige joined
raydiak .tell lue weren't you working on pod6ify a while ago? how is that/where did it leave off? I'm giving design.perl6.org a makeover in the nearish future like I did for docs, so I'm wondering if we were close enough to consider finishing it before/with the redesign 05:56
yoleaux raydiak: I'll pass your message to lue.
06:06 erkan left 06:08 erkan joined 06:18 davido___ joined, dj_goku joined 06:33 Mso150 left 06:36 Mso150 joined 06:39 atroxaper joined 06:44 atroxaper left
moritz raydiak: only the future we create for it 07:01
yoleaux 05:34Z <raydiak> moritz: when I look at this non-validating Frankenstein of HTML 4 Transitional, XHTML 1 Strict, multiple p5 modules spitting out html from multiple layers and using shell commands to copy files, I just have to ask...is there any future in sight for pod6ify? :)
07:09 erkan left 07:12 erkan joined, erkan left, erkan joined
dalek kudo/nom: 7136001 | TimToady++ | src/Perl6/Grammar.nqp:
highexpect should not survive whitespace at least

Highwater expectations should be reset as soon as we've committed to a match at a particular position. In lieu of proper commit semantics, we'll at least reset on whitespace for now.
07:13
07:30 molaf joined 07:36 bartolin joined 07:45 kaare_ joined
raydiak moritz: guess I was wondering if you knew specifically what kind of state it was in or if anyone had a fork somewhere they were actively working on more recently than April or anything like that 08:02
08:03 FROGGS[mobile] joined
raydiak moritz: also wondering if your offer of assistance extends to helping me work on that if it's close to being a reality, or if you think I should just not worry about all this right now and work around what we already have in place regardless of cruftyness 08:04
moritz raydiak: I'm mildly interested in improving the generation of the pages, and will help you with that 08:05
raydiak: if you have some specific pain points, I can look into them 08:06
08:08 gtodd joined 08:11 darutoko joined
raydiak sounds good, I'll at least look at where the pod6 stuff was at, and figure out if it makes sense to pursue that right now for a job that would otherwise only take me a couple days or so 08:11
(under optimal conditions, that is) 08:12
thought about seeing if there was much general interest in it, but I suspect doing that would be less fruitful until after the holidays 08:14
moritz raydiak: iirc lue has/had a branch that converted some synopses to pod6 08:27
raydiak moritz: yeah I remembered and found some of the things he was working on...he had started all the relevant parts, I just haven't tried them to see how much they work yet 08:29
lue The pod6ify branch is so old that, if I get to it soon enough, I'd be re-converting the current POD synopses to Pod6 (and by the way, it'd be nice if the synopses didn't have a computer-generated feel to them in the end)
yoleaux 05:56Z <raydiak> lue: weren't you working on pod6ify a while ago? how is that/where did it leave off? I'm giving design.perl6.org a makeover in the nearish future like I did for docs, so I'm wondering if we were close enough to consider finishing it before/with the redesign
raydiak lue: but that was a mostly-automated job already, wasn't it? 08:30
lue Nope, whenever I updated I merged in the changes from master, resolving conflicts as they came, and then tidied up any Pod6 errors that resulted. 08:31
moritz lue: what about the tooling to generate HTML? 08:32
raydiak ah, I see, thought you had a conversion script done that handled most of it 08:33
lue wonders how many deprecation warnings she'd get out of pod_vvi if she tried running it now :P .
Oh hey, guess I should push some commits I made a little while back.
mortiz: github.com/lue/synopsis-generator <-- the Pod6-to-HTML converter 08:35
moritz lue: how well does it work? is it robust?
lue I don't remember what the times were when I last seriously worked on it (back around April, IIRC!), but a recent run put it at (536.98240537 seconds) for my machine. 08:36
I *think* that last time, it was ≈1500s or so.
moritz not awesome, but workable from a cron job 08:37
raydiak lue: looked like most of your work on pod stuff besides Walker stopped in april...things are sure to be substantially faster w/all the optimization work in the past 8 months, no?
lue moritz: it works fine, though considering its eventual intended use I'd feel much better if someone made sure there wasn't anything dumb in the code.
raydiak oh, I'm behind :) 08:38
lue raydiak: yes, I was very pleased to dust off syngen after months and see a much lower runtime :)
The one thing I wouldn't be surprised to see go away in a more polished version of syngen would be the colored output; I don't know what others' opinions are on that. 08:40
raydiak oh and now we have a monster server of awesome...
moritz raydiak: in fact I was just installing a shared(ish) rakudo on the new server, in the hopes of using it in several website generation scripts 08:42
raydiak: ... and came across the error described in github.com/tadzik/rakudobrew/issues/21
lue My computer's not the best, fwiw. For reference, when I last compiled rakudo, I got 148.970 and 430.632 for stage parse (I'm pretty sure the larger number is JVM). On a better computer that 537s might drop a bit. 08:43
moritz lue: perlgeek.de/blog-en/perl-6/2014-com...-live.html you can get an account if you want to work on something beefy(ish) 08:44
raydiak oh hrm 08:45
lue I should probably get an account there some time, it'd be nice to see how something like syngen operates where one would expect it to run all the time :) . 08:47
08:47 sqirrel joined 08:54 erkan left 08:56 erkan joined, erkan left, erkan joined, nige left
raydiak moritz: did you try rm -rf ~/.rakudobrew/moar-2014.12? 08:58
moritz raydiak: I know how to recover from that error, but I want it fixed nonetheless 08:59
raydiak moritz: oh I see...don't think I've run in to that one before 09:00
moritz: you're working on the www server? any big exciting take-over-the-world-with-another-cms plans or anything? :) 09:02
timotimo o/ 09:04
raydiak \o timo 09:05
JimmyZ \o timotimo 09:06
moritz FROGGS_: any reason the advent post isn't published yet?
JimmyZ timotimo: I profiled add2, and found OSRS isn't happened ..
*OSR
moritz seems it was scheduled, but didn't actually went live 09:07
published now
raydiak: no take-over-the-world plans except with Perl 6 in general :-) 09:08
raydiak looks at a clock and goes to bed
moritz good night, sleep of dreaming
or
timotimo JimmyZ: that's strange. any clue what could have happened?
moritz you know, whatever :-)
JimmyZ timotimo: no yet
raydiak thanks I'll try :)
09:10 molaf_ joined 09:12 haroldwu joined, atroxaper joined 09:13 molaf left
timotimo mhm 09:16
09:18 atroxaper left
FROGGS_ moritz: but I've scheduled it! O.o 09:21
weird 09:22
moritz FROGGS_: I've seen it scheduled, yes
FROGGS_ next time I just publish it manually :o) 09:23
09:24 FROGGS[mobile] left
moritz github.com/tadzik/rakudobrew/pull/22 09:25
09:25 FROGGS[mobile] joined 09:28 rurban joined 09:31 sqirrel left 09:32 spider-mario joined, adu joined, haroldwu left 09:33 haroldwu joined 09:47 adu left 09:49 Mso150 left, erkan left 09:50 Mso150 joined 09:52 erkan joined
bartolin g'day, #perl6 10:07
timotimo hello bartolin 10:08
bartolin I created this PR recently: github.com/rakudo/rakudo/pull/339. it would be great if someone finds some time to take a look at it 10:09
moritz bartolin: what does that <![i]> do? 10:10
bartolin goes reading todays advent post . ## FROGGS++
moritz bartolin: sounds like it wants <!postfix> instead 10:11
or <!postfixish>, or whatever the rule is called
special-casing postfix:<i> feels fragile
10:12 erkan left
bartolin moritz: yes, I had that feeling, too. but in S32/Numeric it's explicitely mentioned that there is no .i method 10:13
10:14 erkan joined
bartolin moritz: I wonder where could <!postfix> or <!postfixish> go in this context to get the desired result 10:15
moritz bartolin: in the place where <![i]> currently is 10:16
bartolin moritz: ah, you meant <!postfix> instead of <![i]>.
moritz: but my goal is to match postfix operaters after dot.
(just not postfix:<i> since there is no .i method) 10:17
moritz bartolin: that seems like an odd goal
bartolin: either all postfixes allow an optional dot, or none
bartolin: I mean, if there's no .i method, it could still call the i postfix
bartolin: or maybe the whole idea of using ».++ is wrong, and it should just be »++ (with a good error message for the former) 10:18
10:19 ptc_p6 joined
bartolin moritz: first I tried without special case for .i but I got a spectest failure somewhere, since in one test file method i was called via $obj.i(). 10:22
but to discard the whole idea of ».++ would have larger implications, I guess
ahh it was in S12-class/inheritance-class-methods.t (and unrelated to postfix:<i>) 10:26
moritz bartolin: maybe the compromise would be to only allow non-word-y postfixes
bartolin: which automatically rules out any methods
bartolin m: my class D { method i { 42 } }; say D.i(); 10:27
camelia rakudo-moar 713600: OUTPUT«42␤»
bartolin moritz: that sounds good (though I don't know yet, how to achieve it) 10:28
^^ that test blowed up without the special case for postfix:<i>
timotimo moritz: how come you have a git in /etc, but are not using etckeeper? 10:29
moritz bartolin: <!before \w> instead of <![i]>
10:29 ptc_p6 left
moritz timotimo: I don't to track all the files, and I don't want automatic commits 10:30
timotimo OK
moritz timotimo: though do you think I should?
bartolin moritz: ahh, just like that, great.
moritz bartolin: or even just <!alpha>
10:31 atroxaper joined
bartolin moritz: thanks a lot! I'll test with those and eventually update the PR 10:32
moritz bartolin: also you could look at how STD.pm6 does it (if at all) 10:33
timotimo: maybe I'll try etckeeper on hack.p6c.org, and compare experiences
timotimo OK :) 10:34
moritz timotimo: one motivation was also to be able to push the repo somewhere else (github), but I don't want /etc/shadow in there
timotimo ah, that's definitely a point
bartolin moritz: I looked at the output of 'viv -e' but actually didn't look in STD.pm6. will do that ... 10:35
10:38 mvuets joined 10:44 Mso150 left 10:52 rindolf joined 10:54 erkan left 10:57 erkan joined, erkan left, erkan joined 11:01 \Grrr joined 11:10 \Grrr left
masak afty, #perl6 11:10
11:33 Mso150 joined 11:49 bjz_ left 11:50 bjz joined 11:51 psch joined
psch hey #perl6 o/ 11:52
11:52 hekmek joined
masak \o 11:53
psch <!alpha> for methods after unary hyper would break quoted methods, wouldn't it?
o/ masak
psch tries to actually wake up first 11:55
std: @a>>."!weird_methodß"() 11:56
camelia std 76ccee1: OUTPUT«===SORRY!===␤Variable @a is not predeclared at /tmp/v4lkHhEqxC line 1:␤------> <BOL>⏏@a>>."!weird_methodß"()␤Check failed␤FAILED 00:00 137m␤»
psch std: my @a; @a>>."!weird_methodß"()
camelia std 76ccee1: OUTPUT«ok 00:00 137m␤»
masak m: sub foo(@L) { say +@L }; foo «A B C D E F G»; say "alive" 11:57
camelia rakudo-moar 713600: OUTPUT«7␤alive␤»
masak hm.
masak upgrades his Rakudo 11:58
psch m: my @a = 1..3; say @a>>."atan"()
camelia rakudo-moar 713600: OUTPUT«0.785398163397448 1.10714871779409 1.24904577239825␤»
psch well, that works, it's probably a different case 11:59
masak pro tip: do not write `perl6 Configure.pl` -- it does not work. :P
12:00 erkan left
psch of course it doesn't, we need "use v5;", not "use 5.008;" :) 12:00
12:02 erkan joined 12:07 isBEKaml joined
bartolin psch: yes, the above is a different case. the code in question explicitly matches a postfix operator -- so >>."!weird_methodß"() shouldn't match at all 12:08
psch: the only problem is >>.i -- since there is a postfix:<i> _and_ there could be a method i
(at least that's how I understand the problem) 12:09
bartolin is speaking about github.com/usev6/rakudo/commit/27a9887f63
psch std: my @a; @a>>.i 12:11
camelia std 76ccee1: OUTPUT«ok 00:00 137m␤»
psch std: my @a; @a>>.i()
camelia std 76ccee1: OUTPUT«ok 00:00 137m␤»
psch bartolin: not sure if std does the actual right thing, but seeing as you looked at viv you probably know more there already :)
it does seem kind of weird to call operators (which are subs) as methods after hyper-ing, but i might be missing some insight that makes it sound obviously justified 12:13
m: sub foo($) { say "foo'd" }; my @a = 1..3; @a>>.foo
camelia rakudo-moar 713600: OUTPUT«No such method 'foo' for invocant of type 'Int'␤ in method dispatch:<hyper> at src/gen/m-CORE.setting:1352␤ in block <unit> at /tmp/flDp9MoGLz:1␤␤»
psch m: sub postfix:<foo>($) { say "foo'd" }; my @a = 1..3; @a>>.foo 12:14
camelia rakudo-moar 713600: OUTPUT«No such method 'foo' for invocant of type 'Int'␤ in method dispatch:<hyper> at src/gen/m-CORE.setting:1352␤ in block <unit> at /tmp/C4enGeQwD6:1␤␤»
psch shrugs
that's actually what i expect i think 12:15
bartolin sorry, have to look after kids; bbl
psch m: sub postfix:<foo>($) { say "foo'd" }; my @a = 1..3; @a>>foo # and this works
camelia rakudo-moar 713600: OUTPUT«foo'd␤foo'd␤foo'd␤»
12:16 denis_boyun_ joined 12:17 sqirrel joined 12:18 Mso150 left 12:19 mr-foobar joined 12:21 Mso150 joined 12:33 denis_boyun_ left 12:35 FROGGS[mobile] left 12:36 FROGGS[mobile] joined 12:37 Mso150 left 12:38 erkan left
lizmat m: my $a; sub a { $a = $^b }; a 42 # works 12:39
camelia ( no output )
lizmat m: my $a; sub a { $a = $^a }; a 42 # does not work
camelia rakudo-moar 713600: OUTPUT«Cannot assign to an immutable value␤ in block <unit> at /tmp/DCMAx3q212:1␤␤»
lizmat I guess $a and $^a take the same lexpad spot 12:40
and the $^a this masks the outer $a
*thus
still, an LTA error
12:41 erkan joined, erkan left, erkan joined
lizmat rakudobuggable? or DIHWIDT ? 12:41
FROGGS_ std: my $a; sub a { $a = $^a }; a 42
camelia std 76ccee1: OUTPUT«===SORRY!===␤$a has already been used as a non-placeholder in the surrounding sub block,␤ so you will confuse the reader if you suddenly declare $^a here at /tmp/yAB7rEr43U line 1:␤------> my $a; sub a { $a = ⏏$^a }; a 42…»
FROGGS_ I was about to say something like that :o) 12:42
vendethiel std++ 12:43
FROGGS_ ohh yeah, TimToady++ 12:44
std is a very awesome piece of work, every layer of it
psch "you will confuse the reader" - that's pretty great
"i as a computer don't have any problem with this, but you poor humans will scratch your head, so don't do that" :D 12:45
isBEKaml yeah, that reads like "DIHWIDT"
12:51 isBEKaml left
psch TimToady++ for cute SORRIES 12:51
lizmat ok, so rakudobuggable since not std compliant
12:57 jack_rabbit left
FROGGS_ lizmat: feel free to buggle it... I am attempting to fix it right now 12:59
dalek ast: e7857a4 | lizmat++ | integration/advent2014-day13.t:
Add tests for advent day #13
13:00
lizmat buggled as #123470 13:02
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123470
13:03 sqirrel left
dalek ast: 89a9309 | lizmat++ | integration/advent2014-day16.t:
Add tests for advent day #16
13:18
kudo/nom: 08c2b0f | lizmat++ | t/spectest.data:
Add tests for advent days #13/#16
13:23
13:24 denis_boyun_ joined 13:29 Isp-sec joined 13:32 prime joined
lizmat there's still a slot open for tomorrow's advent 13:32
brb
13:47 zakharyas joined
lizmat errands& 13:54
13:57 jack_rabbit joined 14:04 zakharyas left 14:06 rindolf left
masak m: say [1, 2, 3].grep-index(3) 14:06
camelia rakudo-moar 713600: OUTPUT«2␤»
masak m: say [1, 2, 3].index(3)
camelia rakudo-moar 713600: OUTPUT«4␤»
masak took me a while to understand what .index(3) does there :)
loose typing, a blessing and a curse :) 14:07
psch m: "123".index(3).say 14:08
camelia rakudo-moar 713600: OUTPUT«2␤»
psch m: say [1,2,3].Str
camelia rakudo-moar 713600: OUTPUT«1 2 3␤»
psch right
14:16 jack_rabbit left
masak m: my @a = <A B C>; say @a.grep-index("A") >= @a.grep-index("C") 14:22
camelia rakudo-moar 713600: OUTPUT«True␤»
masak this threw me for a while.
masak submits rakudobug
m: my @a = <A B C>; say @a.grep-index("A").^name
camelia rakudo-moar 713600: OUTPUT«List␤»
masak m: my @a = <A B C>; say @a.grep-index("A")[0] >= @a.grep-index("C")[0]
camelia rakudo-moar 713600: OUTPUT«False␤»
masak hm, maybe what I was after was .first-index... 14:23
yeah, this appears to be to spec.
14:25 atroxaper left
masak unless a case can be made for single results from .grep-index to be returned as themselves, not as a list of 1. 14:25
but I'm not such such a case can be made.
14:26 BenGoldberg joined 14:31 erkan left 14:33 erkan joined, erkan left, erkan joined, Lasse joined 14:36 denis_boyun_ left 14:42 hekmek left 14:44 Lasse left, bjz_ joined, bjz left
moritz it seems that some SSH password brute-forcing scripts detect fail2ban, and lower their attempt rate accordingly 14:47
tadzik heh, business must be slow for botnets if they bother to brute force ssh passwords 14:50
moritz tadzik: especially if they try it with a pasword every 2 minutes 14:52
mathw there may well be enough weak passwords out there that it's worthwhile 14:58
14:59 raiph joined
masak success rate doesn't have to be that high for it to be worthwhile. 15:02
El_Che moritz: spammers also take xmas holidays :) 15:03
15:08 rurban left
tadzik moritz: yeah, I can't imagine how long would that take 15:10
unless they count on some early successes like "toor" or "admin1" 15:11
15:21 erkan left 15:22 Akagi201 joined 15:23 erkan joined 15:25 atroxaper joined
timotimo moritz: they probably have a sufficient amount of potential targets so that they'll just have to shuffle targets more agressively between attempts 15:25
i think they'll still keep the outgoing attempts "per second" at the same level 15:26
tadzik true
timotimo or maybe trying a second and third password over the same ssh connection is cheaper because it doesn't need to build a new tcp connection?
15:27 salv0 joined
FROGGS_ perl6-m -e 'my $a; sub a { $a = $^a }; say a 42' 15:31
===SORRY!=== Error while compiling -e
$a has already been used as a non-placeholder in the surrounding block,
so you will confuse the reader if you suddenly declare $^a here
at -e:1
------> my $a; sub a { $a = $^a }⏏; say a 42
\o/ 15:32
now spectest run and then I finally have something to commit again
15:33 atroxaper left
timotimo <3 15:34
feels good, doesn't it?
FROGGS_ it does :D
I mean, I did a lot in the evenings programming wise, just not for perl6 :/ 15:36
15:44 atroxaper joined 15:46 nige joined 15:47 rurban joined 15:59 pecastro joined, telex left 16:00 telex joined 16:01 FROGGS[mobile] left, virtualsue joined, FROGGS[mobile] joined 16:11 erkan left 16:14 erkan joined 16:15 rurban1 joined, rurban1 left 16:17 anaeem1_ joined 16:18 rindolf joined 16:20 dwarring left 16:21 DarthGandalf joined 16:24 psch left 16:26 psch joined 16:31 anaeem1_ left
moritz still waits for a commit from FROGGS_++ 16:32
16:33 jack_rabbit joined, anaeem1_ joined
FROGGS_ :o) 16:38
currently slightly distracted by $guests
16:39 raiph left
moritz no hurry then 16:39
dalek kudo/nom: 4569b17 | FROGGS++ | src/ (2 files):
throw ex for usage of $foo before $^foo in sub body (RT #123470)
16:40
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123470
FROGGS_ test will come later
16:41 raiph joined 16:44 carlin joined 16:46 anaeem1_ left 16:55 nige left 17:00 kjs_ joined
dalek c: 41cd4a9 | moritz++ | lib/ (2 files):
uniq is deprecated in favor of unique
17:04
c: a71b7ec | moritz++ | sync:
do not sync with feather2 anymore

feather is being phased out
moritz m: say unique <a b a> 17:07
camelia rakudo-moar 08c2b0: OUTPUT«===SORRY!=== Error while compiling /tmp/6bRtTUjpb8␤Undeclared routine:␤ unique used at line 1. Did you mean 'uniq'?␤␤»
moritz it's a bit LTA that the method form of 'uniq' is deprecated, but in the sub form, 'unique' doesn't exist :( 17:08
psch m: say uniq <a b a>
camelia rakudo-moar 08c2b0: OUTPUT«a b␤Saw 1 call to deprecated code during execution.␤================================================================================␤Method uniq (from List) called at:␤ src/gen/m-CORE.setting, line 2149␤Deprecated since v2014.11, will be removed…»
dalek c: ac21f7f | moritz++ | lib/Perl6/TypeGraph/Viz.pm:
use uniq() again, because unique() does not exist
17:09
17:10 pecastro left
bartolin psch, moritz: sorry for disappearing earlier today. just wanted to note that I didn't succeed in making <!alpha> or <!before \w> work, but <?before \W> does what I want. I'll backlog and think a bit further about it. 17:13
moritz bartolin: no problem, we all have "real life"/family/friends 17:15
bartolin: maybe <!before> and <?before> LTM differently 17:16
psch S05:2880 17:17
synopsebot Link: perlcabal.org/syn/S05.html#line_2880
psch probably the paragraph before that as well 17:18
positive lookahead matters for LTM, negative doesn't
at least that's how i understand that
moritz psch++ 17:19
bartolin psch++ (I have to read that a few times ;-)
moritz psch: yes, that's my understanding from reading that as well
17:19 vanila joined 17:20 erkan left
dalek kudo/nom: d9ae1dd | moritz++ | src/core/Any.pm:
Introduce sub form of unique, deprecate sub uniq

Deprecated since 2014.12 because it currently shows a deprecation warning from calling the deprecated mesage uniq.
17:22
17:23 erkan joined, erkan left, erkan joined 17:24 nige joined
FROGGS_ m: my $a; sub a { $a = $^a }; say a 42 17:25
camelia rakudo-moar 4569b1: OUTPUT«===SORRY!=== Error while compiling /tmp/1rbgv3HUwS␤$a has already been used as a non-placeholder in the surrounding block,␤ so you will confuse the reader if you suddenly declare $^a here␤at /tmp/1rbgv3HUwS:1␤------> my $a; …»
masak nice error message. 17:26
moritz m: my $a; my $block = { $a = 42; $^a * 2 } 17:30
camelia ( no output )
moritz FROGGS_: seems not to work for blocks :(
dalek ast: c4a1041 | moritz++ | S06-signature/positional-placeholders.t:
Tests for RT #123470
17:32
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123470
FROGGS_ hmmm 17:34
std: my $a; my $block = { $a = 42; $^a * 2 } 17:35
camelia std 76ccee1: OUTPUT«===SORRY!===␤$a has already been used as a non-placeholder in the surrounding block,␤ so you will confuse the reader if you suddenly declare $^a here at /tmp/7uBFNtvzmS line 1:␤------> my $a; my $block = { $a = 42; ⏏$^a *…»
FROGGS_ okay, at least I think I know what to fix
(and where) 17:36
moritz FROGGS_: and you have a test case in roast :-) 17:46
FROGGS_ yeah, which is a very nice thing to have :o) 17:47
moritz fwiw there's now an hourly cron job that rebuilds the doc.perl6.org contents 17:51
17:52 colomon joined
dalek frastructure-doc: 24592c0 | moritz++ | hosts/hack.p6c.org.pod:
Document rakudobrew and doc.perl6.org cron job
17:56
frastructure-doc: 97f69e4 | moritz++ | hosts/www.p6c.org.pod:
Document the doc.perl6.org cron job
17:57
18:03 atroxaper left
dalek c: 3588c9b | moritz++ | htmlify.p6:
Mention license in footer
18:03
18:03 mj41 joined
dalek kudo/nom: 039652b | moritz++ | docs/ChangeLog:
update ChangeLog
18:14
lizmat moritz++ for catching a stray uniq() 18:16
dalek kudo/nom: 4d9771f | moritz++ | src/core/Promise.pm:
Give promise-related exceptions more information

some of that is not visible in the error message, but it might still be useful for a deeper analysis
ast: d859717 | moritz++ | S17-promise/basic.t:
Test for specific types of Promise-related exceptions
18:17
lizmat moritz: what is the reason for copying $!status in Promise.cause ? 18:20
18:21 pmurias joined
pmurias hi 18:21
moritz lizmat: it might change between checking it and reporting the error, no?
lizmat I mean the most common case the if would match, not needing a copy
pmurias moritz: if I want to setup automatic nqp-js smoke testing how should I do that?
lizmat moritz: ah...hmmm.... 18:22
moritz pmurias: apply for an account (see perlgeek.de/blog-en/perl-6/2014-com...ive.html), write a small shell script, run it as a cron job
lizmat: but since method cause is for broken promises, I somehow suspect it's not likely to be a very hot path 18:23
lizmat moritz: then we would need to do the same in e.g .result
moritz lizmat: I hope $!result can only be set once 18:25
lizmat but method result checks $!status several times
moritz lizmat: oh, method result
lizmat yup
moritz lizmat: oh, but it checks for Planned first, and if it's Planned, wait until it's not Planned anymore 18:26
lizmat: and after that, $!result won't change
lizmat but $!status might
moritz lizmat: sorry, I meant $status
$!status
lizmat: the only $!status transition that Promise allows is from Planned to Kept or Broken 18:27
lizmat m: my $p=Promise.new; $p.keep; $p.break; say $p.status
camelia rakudo-moar d9ae1d: OUTPUT«Access denied to keep/break this Promise; already vowed␤ in method vow at src/gen/m-CORE.setting:20804␤ in method break at src/gen/m-CORE.setting:20832␤ in block <unit> at /tmp/gbgB1PeXw8:1␤␤»
18:28 erkan left
moritz m: Promise.allof(42) 18:28
camelia rakudo-moar d9ae1d: OUTPUT«No such method 'then' for invocant of type 'Int'␤ in method until_n_kept at src/gen/m-CORE.setting:20941␤ in method allof at src/gen/m-CORE.setting:20932␤ in block <unit> at /tmp/cZ_ft1s_JV:1␤␤»
lizmat hmmm....
moritz Promise tries to type-check its arguments, but doesn't success 18:29
method allof(Promise:U: *@promises) {
X::Promise::Combinator.new(combinator => 'allof').throw
unless @promises >>~~>> Promise;
lizmat indeed
moritz found it by trying to write tests for it
lizmat same for anyof, btw
moritz yes 18:30
18:30 erkan joined
dalek ast: c2bc1a2 | moritz++ | S17-promise/a (2 files):
TODO tests for Promise.anyof/allof type checking
18:31
lizmat moritz: I also don't understand why that check doesn't live in !until_n_kept 18:33
moritz lizmat: me neither
lizmat: but I'm working on tests and Channel exceptions now, so feel free to fix
18:34 FROGGS[mobile] left
moritz vendethiel: ping 18:34
lizmat moritz: will do 18:37
18:37 FROGGS[mobile] joined 18:38 raiph left
vendethiel moritz: pong 18:39
moritz vendethiel: are you writing the advent post for tomorrow?
vendethiel no
moritz :(
vendethiel got stuck with what I wanted to do
moritz vendethiel: can I help? 18:40
vendethiel moritz: oh, yes, even I can help, I just need the time to do it
which shouldn't be long - I'm just with the family atm
moritz vendethiel: ok. Maybe next year :-) 18:41
vendethiel moritz: or maybe you'll have a better idea. Basically what I got stuck on was - giving a better error message when a MAIN argument doesn't match, using MMD 18:42
so I tried adding "looser" MAIN MMD candidates. only problem is - they're displayed in the --help
moritz vendethiel: for exceptions, we have a trait is hidden_from_backtrace 18:43
vendethiel moritz: here's my gist/draft: gist.github.com/vendethiel/32057dc3750fc670937f 18:44
moritz vendethiel: you could add a corresponding hidden_from_USAGE trait
vendethiel yes, that's what I plan to do
but as I said... Needs a bit more time
moritz vendethiel: would you make it if you a day more? 18:47
vendethiel probably not :) with everybody here, I probably won't be on the computer very much 18:48
dalek kudo/nom: cc9f35a | moritz++ | src/core/Channel.pm:
Include reference to Channel object in Channel-related errors
ast: a0bfc72 | moritz++ | S17-channel/basic.t:
channels: test more error conditions, test exception types
18:49
18:49 PZt joined
vendethiel moritz: if you're fine with "currently specced but not yet implemented", it might work 18:52
moritz vendethiel: if it's just the trait, I'll implement it for you
18:52 mvuets left
vendethiel moritz: well, yeah, there's only that 18:52
something along the lines of "is :$hidden_from_usage! can be applied to MAIN multis, to prevent gen-usage() from displaying them" 18:53
that's all there's to it
18:54 FROGGS[mobile] left
pmurias moritz: account request made 18:54
18:55 FROGGS[mobile] joined
moritz pmurias: I haven't gotten an email yet, but it might take 15min due to greylisting 18:55
dalek kudo/nom: 4fa65d4 | moritz++ | src/core/ (2 files):
implement trait "is hidden_from_USAGE"

MAIN candidates marked with this trait will not appear in the USAGE message
18:56
moritz vendethiel: ^^ there you go
vendethiel :D
moritz++ # much love
pmurias moritz: I mistyped the email adress, sent again 18:57
18:57 raiph joined
timotimo the last time i wanted to implement a trait that's useful for MAIN i was told not to :( 19:00
lizmat timotimo: things like that happen... 19:03
19:03 rindolf left, mvuets joined, atroxaper joined
moritz timotimo: maybe we want a more generic "is ignored-by" trait 19:05
19:05 mj41 left
vendethiel moritz: or a more generic "is usage-options(:!display)"? 19:07
19:08 atroxaper left 19:12 Ben_Goldberg joined 19:13 BenGoldberg left
timotimo i'm not as sour about that fact as it may seem from what i wrote, btw 19:14
especially since hoelzro is building a module that does what i'd've wanted MAIN to do
(subcommander)
moritz timotimo: I didn't interpret it as sour/annoyed, just as a warning that ir migth not be good design 19:16
*it 19:17
typing with one hand is frustrating
masak I knew it! :) 19:19
19:21 rurban left
lizmat
.oO( I thought gradual typing was something else? )
19:22
dalek ast: 0ab7746 | moritz++ | S17-channel/basic.t:
Type-based test for Channel.fail/receive exception throwing
19:24
kudo/nom: 70cf4f5 | lizmat++ | src/core/control.pm:
Add helper sub NOT_ALL_DEFINED_TYPE
kudo/nom: b902e0d | lizmat++ | src/core/Promise.pm:
Add proper type checks on anyof/allof
kudo/nom: c908f98 | moritz++ | src/core/traits.pm:
add new trait to highexpect list
19:26
vendethiel what's <![i]> ?
moritz vendethiel: a char class that's negated as a zero-width assertion 19:27
so "the next char isn't allowed to be i"
vendethiel uh
right. but the "new version" doesn't seem to correspond - hence my "uh" 19:28
19:29 virtualsue left
moritz well, it's more generic in the new version 19:29
bartolin we discussed that earlier today and moritz++ suggested to use this more generic approach as a compromise: irclog.perlgeek.de/perl6/2014-12-21#i_9836607 19:31
actually, if I read S03#Method_postfix_precedence correctly, it should be possible to call _every_ postfix operator with a dotted form. 19:33
but S32/Numeric says that there is no .i method for postfix:<i>
so I first tried to special case postfix:<i> 19:34
19:35 raiph left
moritz bartolin: and I'm much happier know, but still want a third opinion (preferably by TimToady++) 19:38
bartolin moritz: I'm very fine with that!
dalek ast: 98aa348 | moritz++ | S17-promise/a (2 files):
unfudge two now-passing tests, lizmat++
19:39 Ven joined
bartolin somehow it feels to me like this is the wrong place to fix the issue. the other place I thought about was in src/Perl6/Actions.nqp, method postfixish 19:41
psch "dotted form of any other postfix operator" doesn't that mean that «Numeric @a; @a>>.i» should explicitly work..?
moritz psch: no, you'd have to write >>i to distnighs it from a method call 19:42
psch ooh, the order in S03 is the resolution order 19:43
m: sub postfix:«:<+>» { say "not prefix!" }; my $x; $x.:<+> 19:44
camelia rakudo-moar 4fa65d: OUTPUT«use of uninitialized value of type Any in numeric context in block <unit> at /tmp/WFk3Bf9AXL:1␤␤»
psch m: sub postfix:«:<+>» { say "not prefix!" }; my $x = 5; $x.:<+>
camelia ( no output )
bartolin ooh! so it's more like "if there is a dotted form for some postfix operators, than it has this precedence" instead of "there is a dotted form for all postfix operators"?
psch that's a bug too then, no?
or am i only outsmarting myself again? :P
bartolin s/than/then/ 19:46
psch yeah, i think i am. : clearly introduces a colonpair
m: sub postfix:«:<+>» { say "not prefix!" }; my $x = 5; $x :<+> # this shouldn't work, but would have to 19:47
camelia rakudo-moar 4fa65d: OUTPUT«===SORRY!=== Error while compiling /tmp/vOYmplxscr␤You can't adverb that␤at /tmp/vOYmplxscr:1␤------> say "not prefix!" }; my $x = 5; $x :<+>⏏ # this shouldn't work, but would have t␤»
19:47 hekmek joined 19:48 FROGGS__ joined 19:50 FROGGS[mobile] left 19:51 FROGGS_ left
Ven moritz: I feel like I asked already but.. Is there an advent post about POD? 19:52
19:53 FROGGS[mobile] joined 19:55 nige left
Ven hoelzro: not sure I understand from s26... Is any of #= or #| prefered? 19:55
19:58 Isp-sec left, araujo joined
Ven seems like #= doesn't add anything to subs 19:58
19:59 cooper- joined
Ven moritz: okay, I think I have my post. gist.github.com/vendethiel/32057dc3750fc670937f can you give me your opinion? 20:01
lizmat Ven: first line has a Windows quote in it, rather than an apostrophe: Perl 6 it’s 20:03
20:03 anaeem1_ joined
vendethiel whoops. thanks lizmat 20:04
lizmat Ven: maybe not mention IO::Path, just say that .IO.e will be true if there is a directory entry? 20:06
20:07 Ven left
woolfy vendethiel++ for his first Perl 6 Advent blog post ever!!! Woohoo!! 20:07
vendethiel it's so that they can look up which other methods are there on doc.perl6.org. is that a problem for the future?
woolfy: i'm trying :()
woolfy I'm not, and therefore my deepest respect that you do!
lizmat vendethiel: hmmmm.... maybe I should just make IO::Path a role, and it would still be true :-) 20:08
ok, leave it then as is :-)
vendethiel alright.
hoelzro timotimo: I really need to get back on that =)
Ven: #= *should* work 20:09
m: sub foo { #=(hello) } ; say &foo.WHY
camelia rakudo-moar 4fa65d: OUTPUT«hello␤»
hoelzro I would say that #| is more common
I think #= really shines when it comes to attributes and parameters
vendethiel hoelzro: maybe gen-usage doesn't pick it up somehow? 20:10
my rakudo is like 2weeks old, also
FROGGS__ wow, my current patch totally adds more cowbell :P
lizmat
.oO( FROGGS__ rocks )
20:11
FROGGS__ *g*
lizmat vendethiel: no further comments, looking good!
vendethiel nice. 20:12
FROGGS__ s/expresiveness/expressiveness/ 20:13
20:13 Mso150 joined
vendethiel FROGGS_++ #fixed 20:15
FROGGS__ s/The target file doesn't exist/The source file doesn't exist/ ? 20:16
vendethiel FROGGS__: changed
FROGGS__ s:g/existant/existent/
masak so... still no one doing tomorrow's advent post?
oh, vendethiel is. awesome! 20:17
masak reads
nice -- MAIN and subsets. hadn't really occurred to me. 20:19
vendethiel++
FROGGS__ and the shown usage is quite awesome too!
vendethiel masak: I design all my P6 programs around subsets :)
FROGGS__ doing these checks in or via a signature is sweet :o)
vendethiel: so you look for problems you can apply your solution to? :P 20:20
vendethiel I found this solution because I had problems.
masak vendethiel: `say "Not quite enough.";` was the only thing in the post that momentarily confused me.
vendethiel: usually, "not quite enough" and "not quite small enough" are opposites :)
vendethiel masak: alright, corrected 20:21
dalek kudo/nom: e2adfae | lizmat++ | src/core/Supply.pm:
Add sanity test on Supply.merge/zip/zip-latest
moritz vendethiel: you should mention that the hidden_from_USAGE trait is pretty new (not included in the 2014.12 release) 20:22
lizmat APDD
vendethiel moritz: mentioned you ;-)
apdd?
lizmat Advent Post Driven Development :-)
vendethiel :-)
moritz vendethiel: not necessary
vendethiel moritz: yes it is 20:23
dalek ast: 63fcaaa | lizmat++ | S17-supply/ (3 files):
Add sanity tests of Supply.merge/zip/zip-latest
vendethiel moritz: tbh, I didn't do it myself because I thought I'd need to create a role and then smartmatch that role
dalek kudo/nom: c0dd8ae | FROGGS++ | src/Perl6/Actions.nqp:
move check for post decl placeholder to add_param helper

This is a more direct theft^Wtranslation of std, and it will show the eject near the polaceholder and not right after the entire block/routine the placeholder is in.
20:24
vendethiel FROGGS__++
20:25 ab5tract joined 20:26 molaf_ left
dalek ast: 8694d0b | FROGGS++ | S06-signature/positional-placeholders.t:
RT #123470 unfudge now passing test
20:27
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123470
20:27 darutoko left 20:28 koo6 joined
masak I feel pretty comfortable matching regexes and subrules from methods in a grammar at this point. 20:29
it even works to put a rule <foo> in the missle of a regex in a method, and it matches the surrounding grammar! o.O 20:30
didn't expect that.
but now here's my next question: if I match <foo> in that way, how do I capture it in such a way that I find it in $/ in the usual way in the action method? 20:31
I hope the question makes sense. I suspect it has something to do with Match objects, and I've only been dealing with cursors so far.
FROGGS__ masak: you do /<foo>/ where foo is a method that passes?
err, matches 20:32
masak foo is a rule in this case.
but the /<foo>/ is found in a method in the grammar.
FROGGS__ ohh
I see
masak and I basically want to capture the <foo> matching in the normal way, as I would from a rule. 20:33
FROGGS__ so you have a subcapture that you want to pass along
masak yes.
right now I'm doing `return $cursor."!reduce"("mymethod");`
I'm not sure where in that picture registering subcaptures fits in. 20:34
FROGGS__ hmmm, there is method !cursor_start_subcapture($from) { and method !cursor_capture($capture, $name) { 20:35
masak yeah, just found those myself...
FROGGS__ ohh, you are calling reduce? 20:36
masak yes.
I found if I did that, the action method triggered.
FROGGS__ yes, you are actually calling it that way
masak yes.
FROGGS__ but I'd call !cursor_pass($pos, 'mymethod') instead 20:37
that should also call it afterwards
masak ok
FROGGS__ and that afterwards is important here I think
can you check that the action method is still called that way? 20:38
m: grammar G { method TOP { self."!cursor_pass"(3, 'bar') } }; class A { method bar($/) { say "42 $/" } }; G.parse('foo', :actions(A)) 20:39
camelia rakudo-moar c908f9: OUTPUT«42 foo␤»
FROGGS__ m: grammar G { method TOP { self."!cursor_pass"(self.foo.pos, 'bar') }; token foo { .+ } }; class A { method bar($/) { say $/ } }; G.parse('abc', :actions(A)) 20:41
camelia rakudo-moar c908f9: OUTPUT«「abc」␤␤»
masak considers re-entrant parsing as a stopgap solution for what he wants 20:46
FROGGS__ okay, getting the capture from a Perl 6 level token and pass that as an NQPCapture is not easy doable it seems 20:51
masak my reentrant solution works for now. 20:53
it's essentially re-parsing a piece of text in the action methods.
I can always iterate on a better solution later.
vendethiel dang it, my pseudos are already taken on wp :( 20:56
FROGGS__ :o( 20:57
20:57 felher joined 20:58 felher is now known as Guest19298 20:59 nige joined
lizmat takes some R&R 21:01
moritz ruby & rails? 21:03
masak rock & road
moritz rest & resource
masak riboflavin & RNA
21:08 erkan left 21:11 erkan joined
hoelzro vendethiel: could be 21:16
21:16 PZt left 21:17 kaare_ left
moritz m: say Channel.for(1..5).list 21:21
camelia rakudo-moar c908f9: OUTPUT«No such method 'count' for invocant of type 'Range'␤ in method reify at src/gen/m-CORE.setting:8397␤ in block at src/gen/m-CORE.setting:8305␤ in method reify at src/gen/m-CORE.setting:8280␤ in block at src/gen/m-CORE.setting:8305␤ in metho…»
moritz oh, it's a Supply method 21:22
m: my $l = Lock.new; say $l.lock for ^3 21:24
camelia rakudo-moar c0dd8a: OUTPUT«Lock.new()␤Lock.new()␤Lock.new()␤»
moritz is it normal that you can lock a Lock multiple times? 21:25
m: my $l = Lock.new; await (^3).map: { start { $l.lock } }; say 'done' 21:26
21:27 raiph joined
camelia rakudo-moar c0dd8a: OUTPUT«(timeout)» 21:27
moritz ... apparently only from within the same thread
m: my $l = Lock.new; await (^3).map: { start { $l.lock; say "Locked $_"; $l.unlock } }; say 'done' 21:28
camelia rakudo-moar c0dd8a: OUTPUT«Locked 0␤Locked 1␤Locked 2␤done␤»
moritz m: say Lock.protect({ say 42 }) 21:36
camelia rakudo-moar c0dd8a: OUTPUT«(signal SEGV)»
21:37 camelia joined
moritz m: say Lock.new.condition.^name 21:37
21:37 camelia left 21:41 raiph left 21:43 ab5tract left 21:44 kjs_ left 21:48 camelia joined, camelia left
moritz m: say Lock.lock 21:50
21:51 camelia joined, psch left
moritz m: say Lock.lock 21:52
21:52 ChanServ sets mode: +v camelia
camelia rakudo-moar c0dd8a: OUTPUT«(signal SEGV)» 21:52
dalek c: 8ae79be | moritz++ | lib/Type/Lock.pod:
document Lock
21:53
nine moritz: I'm trying to write a systemd service file for camelia. Got some reboot the server for security updates and don't want to leave it up to you to start camelia every time I do that. 21:54
21:56 camelia left, camelia joined, camelia left 21:59 camelia joined, camelia left 22:00 nine left 22:03 virtualsue joined
moritz .tell nine you can use service templates (file ends in @) and use the config file name as the template variable 22:06
yoleaux moritz: I'll pass your message to nine.
22:06 cooper- left
moritz .tell nine see for example wiki.archlinux.org/index.php/syste...sing_units search for %i 22:07
yoleaux moritz: I'll pass your message to nine.
22:08 cooper joined 22:09 anaeem1_ left, raiph joined 22:14 dolmen joined 22:15 cooper left
masak 'night, #perl6 22:16
timotimo gnite masak 22:17
22:24 FROGGS__ left, ptc_p6 joined 22:30 hekmek left 22:31 FROGGS[mobile]2 joined, FROGGS[mobile]2 left 22:35 FROGGS[mobile] left 22:36 Ben_Goldberg left, camelia joined 22:38 nine joined, ChanServ sets mode: +v camelia
nine m: say 'alive!' 22:38
yoleaux 22:06Z <moritz> nine: you can use service templates (file ends in @) and use the config file name as the template variable
22:07Z <moritz> nine: see for example wiki.archlinux.org/index.php/syste...sing_units search for %i
camelia rakudo-moar c0dd8a: OUTPUT«alive!␤»
nine Back again! Oh how I love bootloader problems on servers where I don't have a remote KVM 22:39
22:44 atroxaper joined, eternaleye joined
moritz there and back again, a server's tale 22:48
22:50 Akagi201 left, atroxaper left
dalek kudo/nom: 284c098 | moritz++ | src/core/Lock.pm:
Allow methods in Lock only on definite objects

they segfault on the type object
22:59
vendethiel okay, I need to set the advent post up now! 23:01
moritz ++vendethiel
vendethiel I can't seem to accept your invitation, tho, moritz
just redirects me back to my dashboard
moritz vendethiel: should I resend it? 23:02
vendethiel: or send one to another email address?
23:02 eternaleye left
vendethiel okay, actually, it worked now. Dunno, lol. 23:02
moritz I'll also go to bed soon
vendethiel The 3rd try is the best?
moritz "third time pays for all" 23:03
vendethiel moritz: should I just publish it now :)?
23:03 koo6 left
moritz vendethiel: well, it's still one hour until UTC midnight :-) 23:03
vendethiel: but I don't care if you publish now, it's already the 22nd in 11/24th part of the world :-) 23:05
vendethiel moritz: well, should be up in 1hr
moritz \o
vendethiel whoops. the HTML doesn't render correctly at all :D
moritz -> sleep
23:05 ptc_p6 left
vendethiel okay, should be "better" now 23:05
no indentation though, uuhh 23:06
vendethiel adds a finishing note 23:07
23:08 jack_rabbit left 23:11 BenGoldberg joined 23:14 mvuets left 23:23 eternaleye joined, dolmen left 23:45 eternaleye left 23:50 eternaleye joined 23:55 virtualsue left
raiph vendethiel: yr gist ... # Prints "Not quite enough." -- er, does it? 23:56
vendethiel raiph: oh whoops :)
raiph ;)
vendethiel++, moritz++ # nice MAIN with subset advent 23:57
23:59 spider-mario left