»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
raydiak in a casual test of 1e5 iterations on my old cheap laptop, the regex method took 7s, the bag/junction method took 19s... 00:01
m: say so .elems == .unique.elems given "CasdfghjkC234".comb.list
camelia rakudo-moar 1ab1fb: OUTPUT«False␤»
raydiak ...and ^ took almost 3s
00:05 pierre joined
geekosaur huh. I was playing with something resembling that 00:07
I would have expected the Bag to be faster though. (optimization opportunity?) 00:08
00:10 pierre left
AlexDaniel raydiak: what about 00:11
m: say [==] 1, |‘abcde’.comb.Bag.values 00:12
camelia rakudo-moar 1ab1fb: OUTPUT«True␤»
AlexDaniel m: say [==] 1, |‘abcdce’.comb.Bag.values
camelia rakudo-moar 1ab1fb: OUTPUT«False␤»
AlexDaniel raydiak: how long does that take? Perhaps junction is making it slow
raydiak ouch...idk, it's still trying :P 00:13
AlexDaniel :( 00:14
raydiak oh, my bad, I was using 1e4 iterations the whole time. it took 17s 00:15
AlexDaniel so, faster than junction, right? :) 00:16
but yeah, then .unique is the way to go I guess
raydiak by less than 10% but yes :)
m: say so 'CasdfghjkC234'.comb.repeated; say so 'Casdfghjkc234'.comb.repeated 00:24
camelia rakudo-moar 1ab1fb: OUTPUT«True␤False␤»
raydiak ^ got it down to 1.5s
00:28 cpage_ joined, hobbs joined, hobbs left, hobbs joined 00:29 hoelzro joined 00:30 maybekoo2 left 00:32 huggable joined 00:33 pierre joined
AlexDaniel raydiak: ah! .repeated! 00:33
good to know
kalkin-: ↑ !
raydiak++ 00:35
raydiak I didn't know about it before today either... (documentation writers)++
AlexDaniel m: say <4 8 15 16 23 42>.repeated(as => { $_ div 9 }) 00:38
camelia rakudo-moar 1ab1fb: OUTPUT«(8 16)␤»
kalkin- awesome, thanks :)
00:39 daxim left
kalkin- Why can't I do subset MyType of Str where *.comb.repeated and *.chars >= 16? It always just evaluates the first condition 00:40
geekosaur reuse of * doesn't work like that 00:41
something like $^a may work better?
kalkin- geekosaur: the per6 documentation doesn't find anything if i search for $^ 00:42
geekosaur more specifically, each * refers to a distinct parameter
00:42 mspo joined
geekosaur doc.perl6.org/language/variables#The_%5E_Twigil 00:43
kalkin- geekosaur: thanks. will dig in to that 00:44
AlexDaniel m: subset MyType of Str where !.comb.repeated && .chars >= 3; my MyType $x = ‘abc’
camelia ( no output )
AlexDaniel m: subset MyType of Str where !.comb.repeated && .chars >= 3; my MyType $x = ‘ab’
camelia rakudo-moar 1ab1fb: OUTPUT«Type check failed in assignment to $x; expected MyType but got Str ("ab")␤ in block <unit> at /tmp/eQCtIK7p5z line 1␤␤»
AlexDaniel m: subset MyType of Str where !.comb.repeated && .chars >= 3; my MyType $x = ‘abca’
camelia rakudo-moar 1ab1fb: OUTPUT«Type check failed in assignment to $x; expected MyType but got Str ("abca")␤ in block <unit> at /tmp/n4r78efpe5 line 1␤␤»
AlexDaniel kalkin-: ↑
raydiak "where { .comb.repeated && .chars >= 16 }" should work 00:45
oh beat me to :)
got a little lag again today
kalkin- AlexDaniel: Thanks. 00:46
But just to clarify, when would it be usefull to use * in a subset where?
AlexDaniel … never? 00:47
kalkin- hmm, where did i pick it up? 00:48
AlexDaniel not that it doesn't work, it does. But I am not sure why would you want to use it 00:49
geekosaur it gets used in a lot of examples 00:53
kalkin- m: subset MyType of Str where !.comb.repeated && .chars >= 5; my MyType $x = ('a'...'b').join
camelia rakudo-moar 1ab1fb: OUTPUT«Type check failed in assignment to $x; expected MyType but got Str ("ab")␤ in block <unit> at /tmp/zQffnn8PUt line 1␤␤»
kalkin- hmm, for some reason this worked in the repl. may be I did a typo in repl
AlexDaniel m: subset MyType of Str where (!.comb.repeated or fail ‘Non-unique characters found’ ) && (.chars >= 3 or fail ‘Too short string’); my MyType $x = ‘abca’ 00:56
camelia rakudo-moar 1ab1fb: OUTPUT«Non-unique characters found␤ in any accepts_type at gen/moar/m-Metamodel.nqp line 3431␤ in block <unit> at /tmp/VzVWyb_dj1 line 1␤␤»
AlexDaniel m: subset MyType of Str where (!.comb.repeated or fail ‘Non-unique characters found’ ) && (.chars >= 3 or fail ‘Too short string’); my MyType $x = ‘ab’
camelia rakudo-moar 1ab1fb: OUTPUT«Too short string␤ in any accepts_type at gen/moar/m-Metamodel.nqp line 3431␤ in block <unit> at /tmp/wIHm_Sf6la line 1␤␤»
kalkin- m: subset MyType of Str where !.comb.repeated and .chars >= 5; my MyType $x = ('a'...'b').join
camelia ( no output )
kalkin- I had and in my code
AlexDaniel the messed up line number makes it a little bit less useful
kalkin- From reading the docs i looks to me that && and 'and' should be the same. The later one is just looser 00:59
01:04 cdg left 01:09 matiaslina left 01:17 gorgonzola joined 01:19 AlexDaniel left
dalek c: 3d562b0 | (Zoffix Znet)++ | doc/Language/variables.pod:
Point out a way to detect OS in use
01:33
01:33 kalkin- left, kalkin-_ joined 01:37 molaf left 01:42 jack_rabbit joined 01:45 BenGoldberg joined, ilbot3 left 01:47 ilbot3 joined 01:49 molaf joined 02:04 araujo_ left 02:05 gorgonzola left 02:16 BenGoldberg left 02:20 gorgonzola joined 02:22 kid511 joined, kid51 left 02:26 kid511 left
dalek osystem: 20788c0 | (Zoffix Znet)++ | META.list:
Add Terminal::Width

Get the current width of the terminal: github.com/zoffixznet/perl6-Terminal-Width
02:31
02:33 pierre left 02:34 pierre joined 02:37 kurahaupo joined 02:42 BenGoldberg joined 02:44 Celelibi left, BenGoldberg left 02:48 Celelibi joined 02:49 gorgonzola left, noganex_ joined 02:52 noganex left 02:54 lorem_perlsum joined, lorem_perlsum left 03:01 ssotka left 03:06 pierre left 03:11 |meta left 03:18 Tonik joined 03:19 pierre joined 03:20 pierre left 03:24 Tonik left, pierre joined 03:25 pierre left, pierre joined
awwaiid Sadly, my StrangeLoop talk was not accepted :( 03:25
03:26 pierre left 03:27 Zoffix joined
TEttinger not hip enough? 03:27
03:27 pierre joined
TEttinger I don't even know what StrangeLoop is 03:27
03:28 zakharyas joined
Zoffix Are there any tricks for starting a process outside of "current environment". My puzzle: when my stuff is run with `prove` it runs it in a harness and calling run('tput', 'cols') always returns 80. I want it to somehow give me the actual value of the actual terminal. Any tricks? 03:28
03:28 pierre left
yoleaux 26 May 2016 22:01Z <lizmat> Zoffix: noted 03:28
03:29 pierre joined 03:30 pierre left
geekosaur might try removing COLUMNS and LINES from %*ENV? 03:32
ugexe you can pass in :$env to run, so combine with ^ 03:33
geekosaur otherwise it may be using a pty, and good luck finding the original tty in that case
awwaiid TEttinger: StrangeLoop is an amazing and awesome conference, and the Perl 6 communit should be ALL over it, but somehow isn't. They typically even have an "emerging languages" track and lots of very very relevant topics 03:35
Zoffix I don't see those set at all. This is my entire %*ENV run under prove: gist.github.com/zoffixznet/a01721c...f8328e775b
03:35 cpage_ left
Zoffix
.oO( PANTS => "ON".Str, .... dafuq? )
03:36
awwaiid TEttinger: here are a bunch of videos from previous years of the StrangeLoop conference, lots of great stuff www.youtube.com/channel/UC_QIfHvN9...WDw/videos
TEttinger I guess I confuse it with HyperLoop, which seems like a massive hype generator for something that will probably become an easily-broken package transporter for Amazon
awwaiid haha
TEttinger "someone drove over the hyperloop again, guess we need to use planes to transport stuff for a while" 03:37
03:38 cpage_ joined 03:40 BenGoldberg joined, zakharyas left
geekosaur odd 03:41
geekosaur does not see any indication offhand that prove uses ptys...
03:42 bitmap joined
ugexe youre going to have to get it before prove spawns a new process and set it in an ENV yourself to use inside 03:44
Zoffix Eh, can't do it. Was gonna use it in a test module, but I guess 80-col chars it is. 03:45
ugexe but TAP.pm6 in rakudo might be able to do it better?
Zoffix hm
No idea what TAP.pm6 is all about. I'm gonna table this for another day... 03:46
ugexe its TAP::Harness (prove6) fwiw 03:47
geekosaur "prove" runs tests for the TAP testing harness 03:48
ugexe yeah, and i doubt `prove -e 'xxx'` is helping to make getting the original term width easy 03:53
geekosaur oh, yeh 03:54
unless it opens /dev/tty it will be using $TERM default because stdout and possibly stdin are not terminals 03:55
(otoh there's your workaround to get the actual terminal size)
03:55 skids joined 03:56 pierre joined 03:58 pierre left, ssotka joined
Zoffix I'll keep that in mind when I try to fix it, thanks. 03:58
03:58 pierre joined 03:59 pierre left 04:01 khw left 04:10 aries_liuxueyang left 04:11 aries_liuxueyang joined
dalek osystem: 03437c4 | (Zoffix Znet)++ | META.list:
Add Test::Notice

Display noticable messages to users during tests: github.com/zoffixznet/perl6-Test-Notice
04:15
04:15 Zoffix left 04:28 BenGoldberg left 04:30 BenGoldberg joined 04:32 huggable left 04:34 BenGoldberg left 04:35 Cabanossi left 04:36 adu joined 04:37 Cabanossi joined 04:39 BenGoldberg joined 04:44 BenGoldberg left 04:45 sortiz left 04:50 BenGoldberg joined 04:51 tardisx joined, tardisx left 05:04 BenGoldberg left 05:06 BenGoldberg joined 05:07 willthechill left 05:13 CIAvash joined, BenGoldberg left 05:14 Actualeyes left 05:20 adu left 05:22 sno left 05:28 wamba joined 05:31 Actualeyes joined 05:35 kurahaupo left 05:41 cpage_ left 05:49 pierre joined 05:57 domidumont joined 05:59 azawawi joined
Xliff Does perl6 allow you to create dynamic class methods? 06:01
azawawi $perl6.say("good-morning") # :)
Xliff \o azawawi
06:01 domidumont left, domidumont joined
geekosaur Xliff, meaning? you can add methods at runtime using the MOP (self.^add_method something or other, iirc) 06:03
Xliff geekosaur: I have an API where the actual work done can be determined by the method name. 06:04
So I want all method calls to an object to go through a dispatcher, without having to explicitly write every method. 06:05
geekosaur FALLBACK method
Xliff Thanks!
06:07 maybekoo2 joined 06:09 sno joined 06:17 cpage_ joined 06:24 pierre left, domidumont left 06:29 rindolf joined 06:32 jack_rabbit left, jack_rabbit joined
Xliff What does this error message mean: "Cannot coerce to HTTP::UserAgent with named arguments" 06:33
For this code: "$!http_client = HTTP::UserAgent(:$useragent); " 06:34
Oh, nevermind.
06:35 ssotka left 06:40 rindolf left, pierre joined, firstdayonthejob left 06:41 AgedBurley joined
AgedBurley why does this give error: for @xs <-> $x { $x = $x * $x } 06:41
where: my @xs = <1,2,3,4,5,6> 06:42
06:46 azawawi left 06:51 cpage_ left
CIAvash AgedBurley: You need to change @xs to 1,2,3,4,5,6 or <1 2 3 4 5 6> 06:56
06:57 rindolf joined 07:02 Amnez777 left 07:20 domidumont joined
Xliff I miss lcfirst. 07:21
"$s.substr-rw(0, 1) = $s.substr(0, 1).lc" just isn't the same. 07:22
07:27 Azry joined, AgedBurley left 07:29 Azry_ left
wamba m: say 13 %% 2 07:36
camelia rakudo-moar 1ab1fb: OUTPUT«False␤»
wamba m: say 13.2 % 5 07:39
camelia rakudo-moar 1ab1fb: OUTPUT«3.2␤»
CIAvash Xliff: this works apparently: $str.=samecase: 'a_' 07:45
Timbus Xliff, you mean tc ?
07:46 darutoko joined
Timbus inverse of tc* 07:46
masak morning, #perl6 08:04
m: sub lcfirst($s) { $s.substr(0, 1).lc ~ $s.substr(1) }; say "FOO".&lcfirst() 08:05
camelia rakudo-moar 1ab1fb: OUTPUT«fOO␤»
masak Xliff: if you miss lcfirst, define it in your local scope.
08:05 abraxxa joined
masak personally, I think people are under-using the above technique. 08:06
m: my method lcfirst() { self.substr(0, 1).lc ~ self.substr(1) }; say "FOO".&lcfirst() 08:07
camelia rakudo-moar 1ab1fb: OUTPUT«fOO␤»
masak ^ also works, and is perhaps more clear/purposeful
m: my method lcfirst(Str $:) { self.substr(0, 1).lc ~ self.substr(1) }; say "FOO".&lcfirst(); say 42.&lcfirst()
camelia rakudo-moar 1ab1fb: OUTPUT«fOO␤Type check failed in binding <anon>; expected Str but got Int (42)␤ in method lcfirst at /tmp/adwzdHuP_D line 1␤ in block <unit> at /tmp/adwzdHuP_D line 1␤␤» 08:08
masak typechecking.
(can't do `Str \self`, unfortunately, because `self` is already declared at that point in a method)
08:14 rindolf left 08:20 CIAvash left 08:21 CIAvash joined 08:22 Amnez777 joined 08:25 MadcapJake left 08:32 huggable joined 08:39 rindolf joined, RabidGravy joined
Xliff CIAvash++ and masak++: Thanks! 08:49
08:54 CIAvash left, shlomif joined, rindolf left, shlomif is now known as rindolf 09:00 devtom30 joined, g4 joined 09:04 araujo joined
RabidGravy did the way that subtest print it's description change at some point in the last few weeks? 09:04
it appears to be printing them out as if it was a "diag" instead of a test description 09:05
moritz aye 09:06
maybe we should revert that part
... done. 09:08
RabidGravy cool, I've got a lot of tests which are heavy on the sub-tests because same tests repeated on different data 09:10
09:10 ab6tract joined 09:13 MadcapJake joined
ab6tract hey again #perl6 09:14
masak ab6tract! \o/
ab6tract howdy masak!
nice to read you. hey, you wouldn't have any experience with casting Bufs to values, do you? 09:15
masak not particularly
ab6tract i'm working on the Sereal port again, just sort of sketching it out in pure perl
moritz ab6tract: iirc there was a thread about that on perl6-users in the last couple of weeks or months 09:16
ab6tract gist.github.com/ab5tract/183527289...tfile1-txt 09:17
09:19 Emeric joined
ab6tract hmm, seems like nativecast might be promising 09:19
moritz the thread was "Blobs and IEEE floating point", fwiw 09:21
09:21 telex left
ab6tract found it, thanks! 09:22
09:22 telex joined 09:28 pierre left, iH2O joined 09:34 willthechill joined 09:37 AlexDaniel joined 09:38 salv0 joined 09:39 Azry left 09:40 broquaint joined, Actualeyes left 09:44 pierre joined 09:46 labster left 09:48 iH2O left 09:52 dalek left 09:53 dalek joined, ChanServ sets mode: +v dalek 09:57 cognominal left, cognominal joined 09:59 Actualeyes joined 10:01 wamba left 10:06 wamba joined 10:11 pierre left
Jonis -w 4 10:19
whoops, sorry 10:20
10:24 ChoHag joined
tadzik heh, a lot of stuff in C# 6 looks like taken straight from Perl 6 :) 10:26
10:33 iH2O joined 10:43 wamba left 10:44 salv0 left 10:48 iH2O left 10:52 salv0 joined 10:53 kaare_ joined, ocbtec joined
masak tadzik: do you have an example? 10:54
or a url? :)
10:56 grondilu joined 10:58 llfourn left
tadzik url: www.simple-talk.com/dotnet/.net-fr...ew-in-c-6/ 10:59
look for "null conditional"
and "exception filters" :)
11:00 johnchalekson joined
stmuk . o O ( is jnthn moonlighting for M$ ) 11:03
masak `using static` is a loan from Java 1.5 :)
tadzik: but we don't have `$obj?.foo` (call guaranteed method foo if $obj isn't null) in Perl 6. we have `$obj.?foo` (call not-guaranteed method foo on $obj) 11:06
jnthn stmuk: If I was, I'd have made it .? like in Perl 6 instead of ?. :P
masak I guess instead of `$obj?.foo`, we have the thing where Nil swallows method calls, Option-like
11:07 johnchalekson left
masak I really like the `nameof` feature. that feels like a macro to me. 11:07
arnsholt Oooh, nameof was a clever idea indeed 11:09
masak too bad the `when` is only for `catch` blocks ;)
(also, too many parentheses) :)
11:09 rindolf left
masak expectantly clicks the link named "interesting semantics" in the explanation about `await` in `catch` blocks 11:10
RabidGravy perl6 -Ilib -e 'use Lumberjack; say Lumberjack'
===SORRY!=== Error while compiling -e
Undeclared name:
Lumberjack used at line 1
:(
11:11 johnchalekson joined
RabidGravy something is very broken in 2016.05-13-g498d0a4 11:11
masak RabidGravy: could you be specific? 11:13
RabidGravy ^
Lumberjack is a module that is in the ecosystem 11:14
it worked
now it doesn't, in an inexplicable fashion
11:14 jameslenz left
masak is the `-Ilib` because Lumberjack is in your lib/ ? 11:15
RabidGravy that is "use Lumberjack" appears to work fine, but clearly doesn't because none of the symbols are merged
yes
masak $ perl6 -Ilib -e'use Lumberjack; say Lumberjack'
(Lumberjack)
$ perl6 --version 11:16
This is Rakudo version 2016.05-6-g2c45068 built on MoarVM version 2016.05
upgrading to your version and trying again.
RabidGravy it could be the "subtle precomp bug" that azawawi and llfourn reported yesterday 11:17
let me delete the ~/.perl6/precomp too 11:18
nope :( 11:19
11:21 TEttinger left 11:24 Ven joined
Ven o/, #perl6! 11:24
11:24 kid51 joined
DrForr Afternoon. 11:24
11:25 rindolf joined
RabidGravy eh up 11:25
11:26 araujo left, willthechill left 11:27 araujo joined 11:28 araujo left 11:29 araujo joined 11:32 johnchalekson left
Ven mh, what's supposed to be install/share/perl6/short/XXX that `make` tries to create? 11:32
11:33 cpage_ joined
AlexDaniel . 11:33
Ven I can't install rakudo, it fails with a "Failed to open file <path>: not a directory"
11:34 johnchalekson joined 11:36 johnchalekson left 11:38 johnchalekson joined
masak RabidGravy: sorry, got distracted. 11:39
RabidGravy no worries
masak RabidGravy: anyway, I'm now on 2016.05-15-g5638a13 and I still can't reproduce your problem. 11:40
one difference is that I just put a `class Lumberjack {}` in lib/Lumberjack.pm instead of using the real module
but I'm not seeing it with that setup
hope that provides some clues for you to narrow it down
you might want to try what I just did, and see if that works for you
11:41 johnchalekson left 11:42 johnchalekson joined, johnchalekson left 11:43 johnchalekson joined, johnchalekson left
RabidGravy well it's got to be something specific to the module because I've been testing all of my modules this morning and it's the only one which fails like that 11:43
11:43 kid51 left, johnchalekson joined 11:50 tbrowder joined
tbrowder need help and advice on debugging this pod: gist.github.com/tbrowder/23c5ef38c...xample-pod 11:55
I have tried to run this:
"perl6-debug-m -ll-exception --doc=HTML ./bad-pod-example.pod" 11:56
and get this from the exe:
Grouped options '-ll-exception' contain 'l', which is not a valid option [switches] [--] [programfile] [arguments]
...etc.; i.e., I get the help menu from "perl6-debug-m", so is there a bug in perl6-debug-m or am I doing something stupid? 11:57
rindolf tbrowder: shouldn't it be --ll-exception 11:58
tbrowder: with two dashes?
tbrowder yes, sorry, I just added that option this AM but it doesn't make any difference (just tried it with yr correction) 11:59
the return is now: 12:00
"Illegal option --doc [switches] [--] [programfile] [arguments]..."
If I cut exe down to "perl6-debug-m --doc ./bad-pod-example.pod" I get 12:01
"Illegal option --doc [switches] [--] [programfile] [arguments]..."
12:02 ggoebel115 left
tbrowder I am using rakudo 2016.05 12:02
12:03 kaos01 left 12:04 mr-foobar joined
tbrowder BTW< I think I know what the error is: the table pod parser thinks the leading hyphen indicate a heading/contents separator, but I need the debugger to show me the depths of I think nqp 12:05
12:06 maybekoo2 left
tbrowder as another data point, if I run "perl6 --doc=HTML ./bad-pod-example.pod" I get: 12:07
"===SORRY!=== Cannot iterate object with P6opaque representation"
I reported the problem earlier here and <masak> filed the bug as #128221 12:09
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128221
12:12 pmurias joined
tbrowder as another data point, the last line I can track to without the debugger is in file "./rakudo/src/Perl6/Pod.nqp", line 177 that reads: 12:17
unless nqp::islist(@rows[$i]) { 12:18
I have tried to find sub nqp::islist but run into more weeds than I can handle at the moment; I have a hard time imagining what that function looks like to cause such an error unless it is some kind of multi-sub with AI about tables 12:20
12:21 AlexDaniel left
tbrowder a side note: at one time I found a pdf tutorial on npq (I think by <jnthn>) but can't find it now--a link would be welcomed 12:23
jnthn tbrowder: This maybe? github.com/edumentab/rakudo-and-nq...als-course 12:26
tbrowder yes, thanks, <jnthn>! 12:28
12:29 MasterDuke joined 12:32 huggable left 12:33 nicqbot joined 12:34 johnchalekson left
tbrowder it seems to me that a table header/content separator in p6 pod (given the current reqs as I read them [S26]) should be defined as something like Str consisting of all of one of the defined sep chars ('-' or '='), with possibly some column separator chars ('|'. '+', etc.) thrown in 12:38
MasterDuke lizmat: ping 12:42
tbrowder (I think that S26 is a bit vague on what actually constitutes a table header.)
lizmat MasterDuke: pong
MasterDuke lizmat: is there a process for syncing needed changes between moar, nqp, and rakudo? 12:43
lizmat not that I know of 12:44
MasterDuke i.e., i submitted a rakudo pr that depended on an nqp commit that breaks rakudo if the pr isn't applied 12:45
lizmat just mention it in the rakudo PR then :-)
12:46 pierre joined
jnthn MasterDuke, lizmat: NQP_REVISION? 12:47
12:48 itaipu joined
lizmat no, the nqp PR that is needed 12:48
jnthn: MasterDuke's question was in relation to PR's in different repo's 12:49
MasterDuke: or was I wrong
MasterDuke jnthn: my rakudo pr did include a bump to NQP_REVISION because my nqp commit was accepted first
jnthn Oh...yeah, you'd need to get the NQP one merged first :) 12:50
Though hopefully folks merging PRs do test them some ;)
MasterDuke jnthn: but that commit was then reverted because it broke rakudo as it existed before the rakduo pr 12:51
jnthn Oh...
:)
MasterDuke so they kind of have to happen simultaneously (well, nqp first, but rakudo immediately after)
i probably didn't give a good explanation of the mutual dependency in either pr 12:53
psch MasterDuke: a comment on the NQP PR a la "the resulting rakudo fallout is fixed in rakudo PR #..." would probably have prevented all the confusion :)
jnthn MasterDuke: Probably the best bet is to make that clear in the PRs and then maybe ask someone here or on #perl6-dev
psch MasterDuke: rakudo PR 772 is the one that depends on the merged-and-revert nqp PR? 12:55
masak RabidGravy: I'm curious to hear more about the thing specific to Lumberjack which fails like that 12:56
12:56 g4 left
MasterDuke psch: yep 12:56
RabidGravy masak, yeah, so am I tbh :) It only has one dependency 12:57
12:58 Sgeo left, sufrostico joined
masak RabidGravy: best of luck. I'll leave le golfing to you 13:00
13:01 PerlJam joined, itaipu left
RabidGravy the symbols definitely aren't getting merged and I know of no way to find out why 13:02
perl6 -Ilib -e 'say (require Lumberjack);'
No such symbol 'Lumberjack'
[Coke] wonders where the coffee's at. 13:06
masak RabidGravy: what's the smallest Lumberjack on your side which doesn't merge the symbols? 13:07
13:07 domidumont left, itaipu joined
masak RabidGravy: clearly mine (`class Lumberjack {}`) worked, so it needs to be bigger than that 13:07
13:08 domidumont joined
RabidGravy right clearly that is going to work 13:08
masak I don't think how one uses `require`, by the way
RabidGravy no, that works for *all other modules* installed or otherwise 13:09
psch m: say (require Test)
camelia rakudo-moar 13ad29: OUTPUT«(Test)␤»
13:11 patrickz joined
[Coke] reviews, and wonders if this is why he has "oh, I'm a lumberjack" stuck in his head. 13:14
RabidGravy ok, deleting the entire content of the class and it works 13:18
pmurias jnthn: is being able to reference a undeclared variable intended QAST sematics? I mean having a QAST::Var.new(:scope<lexical>, :name<$not_declared_anywhere>). 13:19
RabidGravy leaving the whole body but removing the "is Staticish" from the declaration and it still fails
as above but removing the "use Staticish" and it works 13:20
jnthn pmurias: QAST doesn't enforce anything in that sense
RabidGravy however a plain "use Staticish" works
jnthn pmurias: Anything it doesn't find in an outer node it assumes should be compiled into a late-bound lookup and left to fail at runtime
RabidGravy thus I really, really need some new angle of attack on this 13:21
jnthn pmurias: Or to become resolvable at runtime.
(Often via forceouterctx)
RabidGravy or, at option, get the arse with the whole thing and delete the modules from the ecosystem
pmurias MasterDuke: I always like VM specific code getting removed :) 13:22
13:23 cpage_ left
[Coke] ditto. 13:23
MasterDuke pmurias: yeah, it was nice to be able to to both (fix the bug and remove the vm-specific code) 13:24
pmurias jnthn: it seems that the unresolved lexicals resolve to nulls
13:24 abraxxa left
jnthn pmurias: Ah...yeah, for object ones 13:25
pmurias: Native ones error
I forget exactly why :)
pmurias the setting depends on it being that way before &EXHAUST gets defined 13:26
jnthn aha 13:28
RabidGravy AAAAAAAAAAAAAAAARGH
masak, so I took things out until it worked
then put them back
and now it is identical to how it was before 13:29
and it works
pmurias ivory tower purity doesn't seem to be valued too highly in nqp land ;) 13:30
RabidGravy oh wait it doesn't work in a different way 13:31
Ven pmurias: puriwhat? :P 13:33
.oO( Perl 6 should have a Haskell backend, obviously )
mspo I thought perl 6 was LarryWallHaskell 13:34
pmurias Ven: we had pugs? 13:35
13:38 wamba joined 13:40 Ven left
geekosaur ...and only au understood it 13:44
geekosaur tried :(
13:46 azawawi joined
azawawi $RabidGravy.IO.open :) 13:47
RabidGravy: RAKUDO_MODULE_DEBUG=1 perl6 -Ilib t/01-sanity.t # we're slow in the precompilation step of each use GTK::XYZWidget in GTK::Simple 13:53
RabidGravy: i think we should deprecate the usage of 'use GTK::Simple' in favor to 'use GTK::Simple::XYZComponent'
RabidGravy yes 13:54
azawawi RabidGravy: /in favor to/in favour of/
13:54 maybekoo2 joined, MasterDuke left
RabidGravy azawawi++ # understand the virtue of en_GB ;-) 13:55
azawawi :)
RabidGravy: moar-nom and 2016.05 exhibit the same performance so far. so it is still slow on latest 13:56
RabidGravy concludes that if nuking everything and re-building doesn't fix it, it's re-write Lumberjack not to use Staticish and then try and work out why Staticish has gone broken 14:03
azawawi nice 14:05
gist.github.com/azawawi/9923059405...60753bcfa4 # duplicate open strace for perl6 -Ilib t/01-sanity.t 14:08
14:11 khw joined 14:14 brrt joined 14:25 jack_rabbit left 14:32 ocbtec left
tbrowder ref bad pod: when I wrap the bad bod in a short perl6 prog I do get a useful trace (see gist gist.github.com/tbrowder/5e7649384...a2451b4a3) 14:33
14:34 colomon joined, ocbtec joined
tbrowder I think I can work with that--we'll see. 14:34
azawawi m: class Person { has Str $.name; }; sub person(*%args) { return Person.new(%args); } 14:43
camelia ( no output )
azawawi m: class Person { has Str $.name; }; sub person(*%args) { return Person.new(%args); }; my $p = person;
camelia rakudo-moar e5bd09: OUTPUT«Default constructor for 'Person' only takes named arguments␤ in sub person at /tmp/ZgaKBgeUh5 line 1␤ in block <unit> at /tmp/ZgaKBgeUh5 line 1␤␤»
azawawi how do i pass a slurpy parameter back to .new? 14:44
psch azawawi: you're not passing any arguments to &person is the problem
azawawi m: class Person { has Str $.name; }; sub person(*%args) { return Person.new(%args); }; my $p = person(name => "Foo");
camelia rakudo-moar e5bd09: OUTPUT«Default constructor for 'Person' only takes named arguments␤ in sub person at /tmp/SxoU6G3Ib0 line 1␤ in block <unit> at /tmp/SxoU6G3Ib0 line 1␤␤»
psch ah, *that* is no lowering 14:45
m: class Person { has Str $.name; }; sub person(*%args) { return Person.new(|%args); }; my $p = person name => "foo"
camelia ( no output )
psch m: class Person { has Str $.name; }; sub person(*%args) { return Person.new(|%args); }; say person name => "foo"
camelia rakudo-moar e5bd09: OUTPUT«Person.new(name => "foo")␤»
azawawi cool thx
any docs on |%args? 14:46
masak RabidGravy: so... bug? no bug?
psch azawawi: near the end of doc.perl6.org/type/Signature#Positi..._vs._Named 14:47
azawawi: that is, the section
not the page
azawawi i saw it... thx
psch++
RabidGravy masak, oh, it's a bug alright, I just have no way of golfing it
14:48 itaipu left, pierre left
gfldex |% is mentioned 3x in the docs 14:49
ugexe why not just look for what is doing the actual work, flattening |?
RabidGravy it's silently failing to merge the symbols "under some circomstance" but I can't reproduce that circumstance 14:50
so I'm going to fix Lumberjack to not require Staticish, then go back to investigating what is on with Staticish to cause it 14:51
14:52 ocbtec left
gfldex ugexe: we don't explain what | does inside argument lists at doc.perl6.org/language/operators#prefix_| 14:58
14:59 brrt left
psch prefix:<|> and argument lowering isn't the same 14:59
...i thought 15:00
but i think i'm wrong
m: sub f(:$a, :$b) { say "$a $b" }; my %h = a => 1, b => 2; f prefix:<|> %h
camelia rakudo-moar e5bd09: OUTPUT«1 2␤»
azawawi RabidGravy: what do you think of this gist.github.com/azawawi/e562bfa686...8b2a726d8a ?
RabidGravy erm, to be honest I would actually leave it slow rather than cloud the example with an idiom that is itself going to raise questions 15:03
I might add that removing the "use lib" from the example will probably be of some benefit as it prevents precompilation (or did at some point) 15:04
then just change the instructions for running the examples for the uninstalled library 15:05
15:05 luiz_lha left
azawawi RabidGravy: what about gist.github.com/azawawi/e562bfa686...8b2a726d8a ? 15:08
RabidGravy: that way use GTK::Simple has a less startup cost and less actual characters to type in the scripts using it 15:09
RabidGravy: or i could just write GTK::Simpler :) 15:10
RabidGravy I like that, for notation convenience I'd just go a type capture in the sub signatures (that way you don't have to examine the constructors), like "sub button(|c) { .... .new(|c) } 15:12
15:13 ssotka joined
azawawi RabidGravy: updated gist. thanks 15:15
15:15 _28_ria left 15:17 _28_ria joined
dalek c: 49c7e76 | (Wenzel P. P. Peppmeyer)++ | doc/Language/operators.pod:
actually tell what prefix:<|> does inside argument lists
15:18
psch m: my %h = a => 1, b => 2; say prefix:<|> %h
camelia rakudo-moar e5bd09: OUTPUT«Unexpected named parameter 'a' passed␤ in block <unit> at /tmp/b_DvUDP4iY line 1␤␤»
azawawi RabidGravy: that way you can deprecate with ease (e.g. VBox, HBox) and change behavior etc...
RabidGravy cool
psch m: my %h = a => 1, b => 2; say (prefix:<|> %h).perl 15:19
camelia rakudo-moar e5bd09: OUTPUT«slip(:a(1), :b(2))␤»
15:21 prammer joined 15:26 prammer left 15:28 prammer joined 15:34 asdasd joined 15:35 asdasd left
ugexe i think that explanation is a little too basic 15:38
15:38 prammer left
ugexe m: my $x = "asdf"; sub foo(*@pos,*%named) { say @pos.perl; say %named.perl }; say $x ~~ Positional; say $x ~~ Associative; foo(|$x); 15:38
camelia rakudo-moar e5bd09: OUTPUT«False␤False␤["asdf"]␤{}␤»