»ö« 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.
00:06 bjz left 00:24 _slade_ joined 00:34 geraud joined 00:41 Guest59726 left 00:44 labster left 00:45 aborazmeh joined, aborazmeh left, aborazmeh joined 00:52 pierrot joined, pierrot is now known as Guest46700 00:56 bjz joined 01:00 flaviusb left, Herby__ joined
Herby__ o/ 01:00
01:04 cyphase left 01:10 cyphase joined
tbrowder question: I'm trying to install rakudo star on a VM with 512 Mb mem and it looks like that's too little. What is the min required? Is there any way to install on the VM I have? Thanks. 01:11
I guess I could copy from another, identical host (except for the mem size)... 01:12
01:19 Guest46700 left 01:20 pierrot_ joined 01:26 labster joined 01:28 smls left 01:35 telex left 01:36 telex joined 01:40 Actualeyes left 01:47 labster left 01:54 eliasr left 01:56 labster joined 01:59 Actualeyes joined 02:05 noganex_ joined 02:08 noganex left 02:11 bjz left 02:14 labster left 02:15 rgrinberg left 02:19 BenGoldberg left 02:22 yqt left 02:26 cpage_ left, cpage_ joined 02:31 cpage_ left 02:33 bjz joined 02:34 kurahaupo joined 02:38 rgrinberg joined 02:45 skids left 02:49 Herby__ left 02:57 Jesmaybe joined 03:02 kurahaupo left 03:07 labster joined 03:08 Derperperd left 03:16 TEttinger joined 03:21 Dunearhp left 03:25 aborazmeh left 03:28 sufrostico joined 03:36 sufrostico left 03:43 rgrinberg left
japhb .ask ab5tract_ I've got a pile of changes I'd like to make to Terminal::Print (some cleanup, some speedup, some API extensions, etc.). How granular would you like PRs? Or would you rather I just maintained my own fork? 03:43
yoleaux japhb: I'll pass your message to ab5tract_.
03:47 sufrostico joined, sufrostico left 03:54 flexibeast joined 03:59 ggoebel left 04:03 bjz left 04:04 bjz joined 04:14 khw left 04:16 djbkd joined 04:18 ggoebel joined 04:29 Ven_ joined 04:35 _slade_ left 04:37 rgrinberg joined 04:40 Cabanossi left 04:43 cyphase left 04:44 Cabanossi joined 04:48 cyphase joined 04:52 Jesmaybe left 05:00 rgrinberg left 05:10 pierre_ joined 05:12 flexibeast left 05:17 pierre_ left 05:20 Brock left 05:22 awwaiid joined 05:25 samcv is now known as samcv_ 05:26 samcv_ is now known as samcv 05:35 djbkd left 05:36 djbkd joined 05:42 kaare_ joined 05:53 labster left 05:54 PerlJam joined 06:03 pierre_ joined 06:17 Sgeo__ left 06:18 domidumont joined 06:20 Sgeo joined 06:21 geekosaur left 06:23 cpage_ joined, domidumont left, geekosaur joined, domidumont joined 06:24 djbkd left 06:27 u-ou joined, u-ou is now known as Guest29357, Guest29357 left 06:29 firstdayonthejob joined 06:35 flexibeast joined
p3rln00b tbrowder 06:37
tbrowder, you need about 2GB of ram+swap, so one solution for you is to get more swap
06:44 Zoffix joined
Zoffix 06:44
yoleaux 9 Oct 2016 22:39Z <tbrowder> Zoffix: there is a PR in ecosystem for an installation template for review
06:49 ShimmerFairy left 06:58 RabidGravy joined 06:59 pierre_ left 07:05 seatek left, domidumont left 07:06 Louis_ joined 07:10 wamba joined, pierre_ joined
Zoffix :/ getting Inline::Perl5 installation failure with panda.... Or rather, it says "LibraryMake:ver<1.0.0>:auth<github:retupmoca>:api<> already installed" 07:14
Can't believe this bug is still present.
(that it aborts the install if a prereq is already installed) 07:15
07:22 Zoffix left 07:24 vendethiel- joined 07:25 vendethiel left, girafe left
p3rln00b Oh. I think I just forgot to build rakudo in a checkout, so it was installing into my system perl6. 07:27
07:27 CIAvash joined 07:36 sjoshi joined
RabidGravy boom 07:42
07:45 nadim joined
RabidGravy is there any conceivable way of expressing something like: 07:46
m: sub foo() returns Positional[Str] { <a b c d> }; say foo()
camelia rakudo-moar 2c681c: OUTPUT«Type check failed for return value; expected Positional[Str] but got List ($("a", "b", "c", "d"))␤ in sub foo at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
RabidGravy that is without using a subset that has a custom validator 07:50
07:50 wamba left, wamba joined
p3rln00b That is, without the way that would make it actually work? :) 07:51
07:51 labster joined
p3rln00b m: sub foo() returns Positional[Str] { my @ of Str = <a b c d> }; say foo() 07:52
camelia rakudo-moar 873e60: OUTPUT«[a b c d]␤»
RabidGravy it has to be available for the purpose
p3rln00b Of course, that makes the return type check kinda pointless :)
RabidGravy for the purpose of introspection
07:53 FROGGS joined 07:55 buggable left 07:56 firstdayonthejob left, u-ou joined
RabidGravy my actual reason for wanting to do this is that I am looking at a web service thing which can 'fess up its own description 07:58
psch doesn't get the question 07:59
is this just the "types are nominal and parameterized Positionals are annoying" thing..? 08:00
RabidGravy no 08:03
08:05 wamba left
RabidGravy it's "is there a way to indicate that a routiine will return a positional of some known types which is available by introspection" 08:06
psch m: sub f(--> Positional[Str]) { }; say &f.returns
camelia rakudo-moar 873e60: OUTPUT«(Positional[Str])␤»
psch m: sub f() returns Positional[Str] { }; say &f.returns
camelia rakudo-moar 873e60: OUTPUT«(Positional[Str])␤»
08:06 sjoshi left
RabidGravy that is so in the above I could do 08:07
08:07 sjoshi joined
RabidGravy yes, but, and crucially, that makes specific demands on what is actually done inside the routine 08:08
japhb .tell ab5tract_ I've sent you a PR with my first 11 commits (they're all very small, just minor cleanups/tuneups/fixes). After that I'm probably going to have to expand the API for further improvements.
yoleaux japhb: I'll pass your message to ab5tract_.
RabidGravy I'm tending to think that a special trait might be required 08:09
08:11 Actualeyes left, pierrot_ left 08:13 darutoko joined 08:14 Actualeyes joined
psch RabidGravy: yeah, that's what i'd do too 08:17
RabidGravy: unfortunately i'm bad at traits and it doesn't work :S 08:18
m: multi trait_mod:<is> (Routine $r, :$returning-unchecked) { $r does role { method returns-unchecked { $returning-unchecked } }; sub f() is returning-unchecked(Positional[Str]) { }; say &f.returns-unchecked
camelia rakudo-moar 873e60: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Can't use unknown trait 'is returning-unchecked' in a sub declaration.␤at <tmp>:1␤ expecting any of:␤ rw raw hidden-from-backtrace hidden-from-USAGE␤ pure default DEPRECATED inlinabl…»
psch shrugs
RabidGravy missing right } in the outside of the sub 08:20
but yeah something like that
08:24 baest_ joined, Ulti left 08:25 huf left, sunnavy_ left, shmibs left, eyck_ left, chee left, sjoshi left, jnthn left, nightfrog left 08:26 vike1 left, ChoHag_ left, mspo left, rjbs- left, spider-mario left, baest left, tailgate left 08:28 g4 left, bartolin left, japhb left 08:29 Woodi left 08:33 labster left, geekosaur left, isacloud left, chris2 left, riatre left, timeless left, BuildTheRobots left, ribasushi_ left, kentnl left, mrsolo_ left, xinming left, Khisanth left, user9 left, zacts left, Juerd left, PotatoGim left, Spot__ left, parisba left, ccakes left, Guest18866 left, Matthew[m] left, Matias[m] left, dylanwh_ left, amalia_ left, Celelibi left, edenc left, dataangel left, stigo left, ilmari left, hanekomu left, silug__ left, lco left, kst left, jcallen left, gensym left, kmwallio left, TheDir_ left, arnsholt left, apejens left, ambs left, daxim_ left, gabiruh left, felher left, Upasaka left, sjohnsen left, integral left, RabidGravy left, KotH left, esh_ left, setty2 left, smash left, sergot left, cooper_ left, pecastro left, erdic left, nebuchadnezzar left, andrewalker_ left, jargan left, Timbus_ left, sjn left, decent_ left, raydiak left, sammers left, alnewkir1 left, f3ew left, freeze left, ingy left, dsp_ left, wtw left, yoleaux left, bioduds left, gregf_ left, MasterDuke left, harmil_wk left, TeamBlast left, darutoko left, noganex_ left, telex left, Shozan left, obfusk_ left, [Coke] left, tomaw left, jercos left, jervo left, DarthGandalf left, hobbs left, clkao left, notbenh_ left, p3rln00b left, mindos left, jnap_ left, committable6 left, solarbunny left, PerlJam left, awwaiid left, Cabanossi left, luis left, stmuk left, peteretep left, SmokeMachine____ left, JimmyZ left, ponbiki left, Kaffe left, moritz left, mephinet left, ggherdov left, emdashcomma left, kipd left, b2gills left, perigrin left, protium left, BooK left, hahainternet left, gypsydave5 left, chansen_ left, ssm_ left, jsimonet left, domm1 left, nemo left, tbrowder left, zostay left, ugexe left, Peter_R left, damnlie_ left, mithaldu_ left, hoelzro left, robinsmidsrod left, go|dfish left, Hotkeys left, Util left, matt| left, geraud left, cibs left, FROGGS left, pierre_ left, Louis_ left, TEttinger left, literal left, woodruff- left, ranguard_ left, w4and0er96 left, olinkl left, dg left, psch left, mr-foobar left, samcv left, rpeter left, remmie left, stevieb left, atacama_ left, vytas left, abruanese left, mls left, tony-o left, CIAvash left, u-ou left, cpage_ left, Sgeo left, cyphase left, bjz left, canopus left, Undercover left, NeuralAnomaly left, huggable left, bisectable6 left, dalek left, ilmari[m] left, roguelazer left, ilbelkyr left, b^_^d left, xfix_ left, BinGOs left, bhm_ left, mohae left, AlexDaniel left, tadzik left, ilbot3 left, rmusial left, SourceBaby left, sivoais left, cgfbee left, timotimo left, M-Illandan left, Actualeyes left, flexibeast left, Ven_ left, ggoebel left, avar left, nowan left, notbenh left, Xliff left, mattp_ left, dogbert17 left, Guest7479 left, m0ltar left, perlpilot left, dj_goku_ left, lucs left 08:52 andrzejku joined, Ven_ joined, spider-mario joined, g4 joined, Guest37076 joined, sjoshi joined, vike joined, rindolf joined, nightfrog joined, shmibs_ joined, _chee joined, Woodi_ joined, facetious joined, ChoHag joined, rjbs joined, mspo_ joined, bartolin_ joined, jnthn_ joined, orevdiabl joined, eyck joined, Ulti_ joined, japhb joined, sunnavy joined, huf_ joined, Actualeyes joined, darutoko joined, u-ou joined, FROGGS joined, labster joined, CIAvash joined, Louis_ joined, RabidGravy joined, flexibeast joined, geekosaur joined, cpage_ joined, Sgeo joined, PerlJam joined, awwaiid joined, cyphase joined, Cabanossi joined, ggoebel joined, bjz joined, TEttinger joined, noganex_ joined, telex joined, geraud joined, avar joined, literal joined, luis joined, canopus joined, stmuk joined, Undercover joined, NeuralAnomaly joined, huggable joined, bisectable6 joined, dalek joined, isacloud joined, chris2 joined, bioduds joined, peteretep joined, riatre joined, woodruff- joined, SmokeMachine____ joined, timeless joined, JimmyZ joined, BuildTheRobots joined, ilmari[m] joined, ribasushi_ joined, kentnl joined, roguelazer joined, Shozan joined, ponbiki joined, ilbelkyr joined, nowan joined, b^_^d joined, xfix_ joined, bhm_ joined, BinGOs joined, KotH joined, ranguard_ joined, esh_ joined, mohae joined, notbenh joined, w4and0er96 joined, DarthGandalf joined, olinkl joined, mrsolo_ joined, AlexDaniel joined, obfusk_ joined, setty2 joined, xinming joined, dg joined, smash joined, Khisanth joined, weber.freenode.net sets mode: +v dalek, tadzik joined, Xliff joined, gregf_ joined, Kaffe joined, user9 joined, zacts joined, ilbot3 joined, MasterDuke joined, moritz joined, [Coke] joined, psch joined, sergot joined, mattp_ joined, cooper_ joined, mephinet joined, pecastro joined, erdic joined, Juerd joined, dogbert17 joined, rmusial joined, SourceBaby joined, mr-foobar joined, ggherdov joined, sivoais joined, emdashcomma joined, Guest7479 joined, samcv joined, m0ltar joined, integral joined, sjohnsen joined, Upasaka joined, felher joined, daxim_ joined, gabiruh joined, ambs joined, apejens joined, arnsholt joined, TheDir_ joined, kmwallio joined, gensym joined, jcallen joined, kst joined, silug__ joined, hanekomu joined, lco joined, ilmari joined, stigo joined, dataangel joined, edenc joined, Celelibi joined, amalia_ joined, dylanwh_ joined, Matias[m] joined, Matthew[m] joined, Guest18866 joined, ccakes joined, parisba joined, Spot__ joined, PotatoGim joined, yoleaux joined, wtw joined, dsp_ joined, ingy joined, freeze joined, f3ew joined, alnewkir1 joined, sammers joined, raydiak joined, mniip joined, decent_ joined, sjn joined, Timbus_ joined, jargan joined, andrewalker_ joined, nebuchadnezzar joined, harmil_wk joined, TeamBlast joined, jervo joined, jercos joined, tomaw joined, solarbunny joined, committable6 joined, jnap_ joined, mindos joined, p3rln00b joined, notbenh_ joined, clkao joined, hobbs joined, Util joined, Hotkeys joined, go|dfish joined, robinsmidsrod joined, hoelzro joined, mithaldu_ joined, weber.freenode.net sets mode: +v yoleaux, damnlie_ joined, Peter_R joined, ugexe joined, zostay joined, tbrowder joined, nemo joined, domm1 joined, jsimonet joined, ssm_ joined, chansen_ joined, gypsydave5 joined, hahainternet joined, BooK joined, protium joined, perigrin joined, b2gills joined, kipd joined, matt| joined, cibs joined, perlpilot joined, rpeter joined, cgfbee joined, timotimo joined, M-Illandan joined, dj_goku_ joined, remmie joined, stevieb joined, atacama_ joined, lucs joined, vytas joined, skaji_ joined, El_Che joined, dustinm`_ joined, imcsk8 joined, breinbaas joined, salparadise joined, mls joined, tony-o joined, abruanese joined, Exodist joined, charsbar______ joined, LegalResale joined, lizmat joined, Alikzus joined, cxreg joined, ens joined, kshannon joined, zoosha joined, jferrero joined, maddingue joined, diegok joined, sQuEE joined, zhmylove joined, atta joined, konobi joined, ft joined, broquaint joined, frew joined, yeltzooo joined, richi235 joined, simcop2387 joined, xxpor joined, masak joined, saki_ joined, llfourn joined, xdbr joined, petercommand joined, albongo joined, aindilis joined, krakan joined, musca joined, rodarmor joined, shadowpaste joined, jonadab joined, DrForr joined, risou___ joined, rblackwe joined, vcv joined, k-man joined, avalenn joined, [ptc] joined, mtj_ joined, ruoso_ joined, larion_ joined, Unavowed joined, a3r0 joined, bitmap joined, eythian joined, profan joined, Praise joined, pyrimidine joined, markk_ joined, garu_ joined, rmmm joined, nine joined, pochi_ joined, cosimo joined, pnu_ joined, ab5tract_ joined, stux|RC-only joined, Grrrr joined, pmichaud joined 08:53 sjoshi left, sjoshi joined 08:55 wamba joined 08:56 Ven_ left, aries_liuxueyang joined, wamba left 08:57 wamba joined 09:00 Ven_ joined 09:04 sjoshi left
AlexDaniel By the way, if anybody feels lonely this weekend, here is what you can help with: github.com/perl6/whateverable/issues (several LHFs there) 09:04
RabidGravy We're going to the seaside in a bit, so you're alright :) 09:08
AlexDaniel RabidGravy: isn't it a bit cold? Where's that? :) 09:11
09:18 harrison_ joined, harrison_ is now known as hchienjo, Derperperd joined
RabidGravy Whitstable, it'll be nice for a stroll and a few beers :) 09:23
andrzejku hello my friends :) 09:25
hchienjo Hello everyone. I wanted to take on some of the issues over here github.com/perl6/roast/issues that are labelled Hacktoberfest, specifically this one github.com/perl6/roast/issues/166. Wanted to confirm that the tests should go in this folder ./S17-procasync 09:26
09:45 ilogger2 joined, ChanServ sets mode: +v ilogger2, avuserow joined, melezhik joined 09:46 akiym_ joined, ocbtec joined 09:48 inokenty joined 09:55 camelia joined 09:56 ChanServ sets mode: +v camelia
tbrowder .tell p3rln00b Thanks. 10:14
yoleaux tbrowder: I'll pass your message to p3rln00b. 10:15
10:16 itaipu joined 10:19 BenGoldberg joined
tbrowder I've simplified testing for my own code by using "done-testing" instead of the painful plan statement. Is there any downside to that? Zoffix notes that roast uses plan for all tests but is that a hard requirement? 10:20
moritz tbrowder: we've had cases in the past where tests were accidentally skipped 10:22
tbrowder: due to wrong fudging, bugs in the tests, bugs in the compiler
tbrowder: so for roast, it makes sense to use explicit plans
10:22 Herby__ joined
Herby__ \o 10:22
moritz tbrowder: for other test suites, it's a tradeoff between safety and convenience that you have to decide yourself 10:23
10:23 TimToady joined
moritz \o Herby__ 10:23
10:28 domidumont joined
hchienjo moritz: Is there a straight forward documentation on how to run the roast tests? 10:36
tbrowder thanks, moritz 10:38
10:40 canopus joined
moritz hchienjo: the typical setup is to have a git clone of rakudo, and then you run perl Configure.pl --gen-moar && make spectest 10:41
p3rln00b hchienjo: and you can run individual files with make t/spec/some-file.t
yoleaux 10:15Z <tbrowder> p3rln00b: Thanks.
moritz hchienjo: "make spectest" builds rakudo, but also clones roast into t/spec/, and runs the tests
p3rln00b m: sub do-stuff {@}; use Test; ok .is-prime for do-stuff; done-testing 10:42
camelia rakudo-moar 8ad885: OUTPUT«1..0␤»
p3rln00b tbrowder: ^ that's one of the examples where a naive done-testing fails. do-stuff() returned nothing and tested nothing, even though it should've returned results to test. But test suite doesn't know how many tests we were meant to run, so it passes
moritz it seems that p3rln00b isn't such a noob after all :-)
10:44 itaipu left
hchienjo moritz: What if I want to run tests on some of the changes I have made on my fork of roast? 10:44
p3rln00b hchienjo: clone it to t/spec 10:45
(in rakudo's checkout)
hchienjo p3rln00b: I am assuming that is run on a rakudo folder cloned from github?
p3rln00b Yeah 10:46
make spectest would've cloned perl6/roast into it. You can just toss it and clone your fork into it
10:51 domidumont left 10:55 Herby__ left
moritz hchienjo: or if you have already cloned your repo somewhere else, a symlink will do too 11:06
11:06 itaipu joined 11:08 aries_liuxueyang joined, hchienjo joined 11:09 Bucciarati joined 11:28 pierre_ joined 11:33 bpmedley joined 11:45 Ven_ joined 11:46 pierre_ left, ufobat joined 11:52 ufobat left 11:54 ufobat joined 11:56 itaipu left 11:57 Ven_ left 11:59 Ven_ joined 12:03 ufobat left 12:06 ufobat joined
hchienjo :moritz :p3rlnoob thanks. 12:10
12:11 geekosaur joined
hchienjo moritz: What about when testing for Proc.signal, shouldn't we use Proc.async instead? 12:11
timotimo why? .signal should just be set after the process has ended, right? 12:12
12:14 kurahaupo joined 12:15 cdg joined 12:18 evalable6 joined 12:19 evalable6 left
AlexDaniel xD one of the bots ran away from the test environment 12:20
12:27 ufobat left 12:28 hchienjo left 12:39 ufobat joined
dalek c: 14567d4 | (Tom Browder)++ | doc/Language/testing.pod6:
add caution about done-testing
12:41
12:51 geekosaur left 12:53 geekosaur joined
AlexDaniel tbrowder: what does this mean? github.com/perl6/doc/commit/14567d4ef9 13:00
13:11 andrzejku joined 13:12 hchienjo joined 13:25 evalable6 joined 13:26 evalable6 left
tbrowder AlexDaniel: Perhaps the wording could be improved, but that is how I interpreted moritz's answer to my query about why roast tests used plan and not done-testing. 13:40
AlexDaniel tbrowder: well, not removed then, but changed to 「plan」 ? 13:41
and as always, it does not hurt to explain why 13:42
tbrowder I'm sure it could be better worded.
13:43 cdg left
tbrowder "and as always, it does not hurt to explain why": in the note or the comment? 13:43
AlexDaniel tbrowder: in the note (so that doc users can see it)
13:45 skids joined 13:54 rgrinberg joined
dalek c: 0dbc749 | (Tom Browder)++ | doc/Language/testing.pod6:
expand the note per AlexDaniel's comments
13:56
14:01 khw joined
AlexDaniel that's better, I think. Could be improved further though. For example, I find the mention of roast a bit irrelevant to the docs. Instead, it can provide concrete examples when 「done-testing」 does not work as expected. 14:02
14:02 rgrinberg left 14:03 pierre_ joined 14:07 hchienjo left 14:09 rgrinberg joined
tbrowder ok, how about p3rln00b's example above? 14:10
14:12 bazzaar joined 14:13 espadrine joined 14:16 pierre_ left 14:17 kaare__ joined 14:18 kate__ joined 14:19 kate__ left
dalek line-Perl5: f392591 | niner++ | / (4 files):
Replace use of Perl5Parent for v6::inline by Perl5Extension

This first part adds the v6::code package for using a different way of extending a Perl 5 package with Perl 6 code. Instead of abusing inheritance, we create Perl 5 wrappers for Perl 6 methods and subs.
On the Perl 6 side, Perl 6 extended objects are indistinguishable from plain Perl 5 objects. On the Perl 5 side, the only way to notice anything out of the norm is by looking for the attached magic.
Fixes memory leaks caused by the Perl 5/6 halves of extended objects to point to their other half, keeping both alive. Now the Perl 5 object is the authoritative source.
14:19
14:19 committable6 left
line-Perl5: bd8fc7c | niner++ | / (2 files):
Move the new Perl5Extension code into v6::inline

Get rid of the v6::code package and just replace v6::inline with it.
The user visible change is that we no longer need the "constructors" import argument. We override GLOBAL::CORE::bless instead to intercept object creation.
masak nince++ 14:23
er, nine++, lag--
somebody named "nince" somewhere now goes "yay -- free karma!"
tbrowder AlexDaniel: working on a change now...
AlexDaniel tbrowder++
dalek line-Perl5: 196f427 | niner++ | / (3 files):
Support attributes on routines added to Perl 5 packages via v6::inline

This adds the Perl5Attributes role which can be added to routines to record the Perl 5 attributes that should be set on the wrapper.
Can be used for emulating subroutine attributes via traits:
multi trait_mod:<is>(Routine $declarand, :$ActionClass!) {
   unless $declarand.does(Inline::Perl5::Perl5Attributes) {
   $declarand does Inline::Perl5::Perl5Attributes[$declarand];
   }
   $declarand.attributes.push("ActionClass('$ActionClass')");
  }
method end($c) is ActionClass["RenderView"] { }
14:24
AlexDaniel ah by the way
m: use Test;
camelia ( no output )
AlexDaniel m: use Test; done-testing 14:25
camelia rakudo-moar 666128: OUTPUT«1..0␤»
nine These 3 changes ^^^ turn extending Catalyst applications with Perl 6 from possible to down right simple! :)
vendethiel nine++
bazzaar o/ perl6
vendethiel \o
masak nine: I curse you with blogging about this :D
AlexDaniel 1..0?
dalek line-Perl5: 8e6dff1 | niner++ | META.info:
Version 0.18
bazzaar m: my @a=<1 2 3>; my @b=<a b c>; my @c=<0 0>; for @a Z @b Z @c -> [$a, $b, $c] { say ($a, $b, $c).join(",") }
camelia rakudo-moar 666128: OUTPUT«1,a,0␤2,b,0␤»
AlexDaniel bisectable6: use Test; done-testing
bisectable6 AlexDaniel, On both starting points (old=2015.12 new=666128f) the exit code is 0 and the output is identical as well
AlexDaniel, Output on both points: 1..0
masak with actual code examples 14:26
nine github.com/niner/XStats is my canonical Catalyst with Perl 6 example and it just lost almost all its Perl 6 support code as it's no longer necessary 14:27
bazzaar does anyone know a simpler way to avoid losing data in one of the input arrays, due to Z stopping when one of the input arrays is exhausted 14:28
timotimo nine: awesome
bazzaar I didn't explain that very well , sorry
14:29 hchienjo joined
timotimo depends on what you want to have happen when one of the arrays runs out 14:29
like, <<Operator>> will extend the shorter of the two by repeating it
that may not be what you want, however
AlexDaniel bazzaar: roundrobin ?
14:30 Jesmaybe joined
AlexDaniel m: say zip <a b c>, <1 2 3 4> 14:30
camelia rakudo-moar 666128: OUTPUT«((a 1) (b 2) (c 3))␤»
AlexDaniel m: say roundrobin <a b c>, <1 2 3 4>
camelia rakudo-moar 666128: OUTPUT«((a 1) (b 2) (c 3) (4))␤»
bazzaar timotimo: just padding out the missing elements would be fine
timotimo AlexDaniel: but you can't tell which one ran out that way 14:31
not without asking the arrays for their length, anyway
which would cause buffering if you have Seqs, i'd think
14:32 Jesmaybe left
Juerd What's the usecase, anyway, where you have several lists of elements that apparently are related enough that those with the same index should be handled together, but that do not have the same length? 14:32
bazzaar AlexDaniel: I think roundrobin is what I'm looking for, didn't know it existed
dalek c: f940ea8 | (Tom Browder)++ | doc/Language/testing.pod6:
add an example per p3rln00b and AlexDaniel
14:33
AlexDaniel Juerd: dunno, but roundrobin behavior is very required in golfing :)
too bad it takes a thousand of bytes to type it 14:34
to use it, rather
bazzaar Juerd: I'm parsing a horribly formatted text file, and recombining the data, but it is only 95% successful, so there would be a post processing step
14:34 Jesmaybe joined
bazzaar so the different input arrays to roundrobin are not always the same length 14:36
14:39 hchienjo left 14:40 itaipu joined 14:42 committable6 joined
bazzaar AlexDaniel: timotimo, and Juerd, many thanks for your help :) 14:43
14:44 Jesmaybe left 14:47 rgrinberg left 14:49 Jesmaybe joined 14:50 rindolf joined 14:51 hchienjo joined
dalek c: 43b6b02 | (Aleks-Daniel Jakimenko-Aleksejev)++ | doc/Language/testing.pod6:
Typo
14:52
AlexDaniel tbrowder: I like it 14:53
tbrowder Thanks to you and p3rln00b for good critiques! 14:54
15:01 Jesmaybe left, Jesmaybe joined 15:03 bazzaar left 15:04 BenGoldberg left 15:08 ssqq joined 15:09 MilkmanDan joined 15:13 Jesmaybe left, itaipu left 15:14 Jesmaybe joined 15:15 BenGoldberg joined 15:16 pierre_ joined 15:18 Jesmaybe left 15:21 zakharyas joined 15:22 pierre_ left, hchienjo left, rgrinberg joined 15:25 ufobat left 15:27 rgrinberg left 15:44 domidumont joined 15:45 hchienjo joined 15:51 espadrine left 15:56 hchienjo left 15:57 ssqq left, chienjo joined 15:58 chienjo is now known as hchienjo
AlexDaniel how do I .keep a promise if I'm not sure if it was kept or not? 16:02
should I just wrap it in try {} ?
p3rln00b m: given Promise.new { .keep; .keep unless $_ } 16:04
camelia ( no output )
AlexDaniel p3rln00b: what if it was kept right after unless ?
p3rln00b Fair 'nuf 16:06
AlexDaniel m: given Promise.new { .keep; try { .keep } }
camelia ( no output )
AlexDaniel that's what I'm thinking about
actually, nevermind 16:13
16:15 Jesmaybe joined 16:20 Jesmaybe left 16:22 seatek joined 16:29 dylanwh_ joined, TEttinger joined 16:30 skids left, edenc joined 16:39 hchienjo left 16:41 araujo_ joined 16:45 cdg joined 16:47 domidumont left 16:48 mst_ joined, mst_ is now known as mst 16:57 zakharyas left 17:05 lucasb_ joined 17:06 cdg left
BenGoldberg m: given Promise.new { .keep xx 2 } 17:09
camelia rakudo-moar 666128: OUTPUT«Access denied to keep/break this Promise; already vowed␤ in block at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
moritz t/spec$ git grep 'my int \@'|wc -l 17:15
28
t/spec$ git grep 'my str \@'|wc -l 17:16
0
that's, like, totally a big hole in our test suite, right? :-)
p3rln00b moritz: you clearly haven't seen the coverage results, if you think THAT is a big hole :) Exhibit A: perl6.wtf/src_core_Num.pm.coverage.html#L462 17:23
(hint: red means uncovered)
AlexDaniel p3rln00b: shhh. gfldex may see it and start wiping it all out from the docs 17:30
that being said, we don't have nativenum doc-ed, so… 17:31
p3rln00b Well, wasn't the rule if it ain't in roast, it's not specced? I recall even some harsher terms being thrown around like "core devs and not doc team get to decide what is and isn't Perl 6". So I don't blame gfldex 17:32
Though, hopefully, all of accidentally uncovered stuff should be covered in about a month 17:33
gfldex some days ago i tried to install all modules from the ecosystem. About halve of them wont install because of failing tests. I'm quite sure most of those used to run just fine. 17:36
p3rln00b :(
gfldex So the harm is already done. Go and add whatever you want. :)
AlexDaniel p3rln00b: that absolutely right. But sometimes it's kinda obvious that something is a roast issue
(that is, the behavior is obvious and everybody is already using it, it's just that there's no test for it for some reason) 17:40
17:40 khw left 17:42 nadim joined 17:47 zakharyas joined
p3rln00b finds that a poor argument :} 17:55
m: my Num $i; my num $j; dd [ $i++, $j++ ]; # Not really obvious
camelia rakudo-moar 666128: OUTPUT«[0e0, NaN]␤»
AlexDaniel p3rln00b: we don't have to document edge cases if there are no tests then? ¯\_(ツ)_/¯ 17:57
p3rln00b m: Mix.new-from-pairs(1 => .9999).Bag.values.say # non-obvious, non-edge case 17:58
camelia rakudo-moar 666128: OUTPUT«()␤»
p3rln00b AlexDaniel: I'd go more for "we should have tests for any edge cases, and if there are no tests, they should be added" :) 17:59
AlexDaniel p3rln00b: yes, that's the point 18:00
18:04 Derperperd joined 18:21 ocbtec left 18:24 rindolf left 18:31 rindolf joined 18:35 BenGoldberg left
AlexDaniel what would be the shortest NativeCall thing that segfaults? 18:36
timotimo m: use NativeCall; sub printf(int) is native(Str) {*}; printf(0); 18:37
camelia rakudo-moar 1acf5b: OUTPUT«Potential difficulties:␤ In 'printf' routine declaration - Not an accepted NativeCall type for parameter [1] : int␤ --> For Numerical type, use the appropriate int32/int64/num64...␤ at <tmp>:1␤ ------> 3Call; sub printf(int) is nativ…»
timotimo m: use NativeCall; sub printf(int32) is native(Str) {*}; printf(0);
camelia ( no output )
timotimo m: use NativeCall; sub printf(int64) is native(Str) {*}; printf(0);
camelia ( no output )
timotimo apparently it accepts a null string?
arnsholt Maybe strdup(NULL)? 18:38
timotimo m: use NativeCall; sub strdup(int64) is native(Str) {*}; strdup(0);
camelia rakudo-moar 1acf5b: OUTPUT«(signal SEGV)»
timotimo good call
AlexDaniel alright
thank you! Needed that for a test… ;)
timotimo m: use NativeCall; sub strdup(int64) is native(Str) {*}; strdup(0); signal(SIGSEGV).tap({ say "whoopsie!" }) 18:39
camelia rakudo-moar 1acf5b: OUTPUT«(signal SEGV)»
timotimo :P
p3rln00b m: class { has %.foo = foo => 42; method bar ($e where %!foo{ $e.lc }:exists) { say "got it" } }.new.bar: 'foo'
camelia rakudo-moar 1acf5b: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Invalid typename 'exists' in parameter declaration.␤at <tmp>:1␤------> 3thod bar ($e where %!foo{ $e.lc }:exists7⏏5) { say "got it" } }.new.bar: 'foo'␤»
p3rln00b m: class { has %.foo = foo => 42; method bar ($e where { %!foo{ $e.lc }:exists } ) { say "got it" } }.new.bar: 'foo' 18:40
camelia rakudo-moar 1acf5b: OUTPUT«got it␤»
dalek osystem: 6b648ad | (Sterling Hanenkamp)++ | META.list:
Adding CompUnit::DynamicLib to the ecosystem
18:41
18:44 nadim left
p3rln00b github.com/zostay/p6-CompUnit-DynamicLib 18:45
18:47 girafe joined 19:02 cdg joined 19:13 Derperperd left
dalek line-Perl5: f3a06bf | niner++ | lib/Inline/Perl5.pm6:
No need for Perl5Attributes to be parametric

Version 0.19
19:14
19:18 Jesmaybe joined 19:20 Jesmaybe left, Jesmaybe joined 19:21 bazzaar joined
bazzaar o/ perl6 19:21
19:21 DANtheBEASTman joined
bazzaar m: my @a = 1; my @b = 1..2; my @c = 1..3; for roundrobin(@a, @b, @c) -> $x { $x.say } 19:22
camelia rakudo-moar 1acf5b: OUTPUT«(1 1 1)␤(2 2)␤(3)␤»
bazzaar Hi, earlier today I was pointed to usage of the roundrobin sub, to solve my issue. That was great. I'm just pointing out that the docs give an example with flat in it which I think is clouded by that. 19:25
m: my @a = 1; my @b = 1..2; my @c = 1..3; for flat roundrobin(@a, @b, @c) -> $x { $x.say }
camelia rakudo-moar 1acf5b: OUTPUT«1␤1␤1␤2␤2␤3␤»
moritz bazzaar: feel free to submit a patch that adds a better example 19:26
bazzaar: or if you tell me your github username, I can give you direct push access
docmax: if it was tracked before, and deleted upstream, git will also delete it locally after a git pull 19:28
bazzaar moritz: your first post, and I'm thinking, now how do I do that, ... your second post, I'm thinking wow that's terrifying
moritz sorry, wrong channel
bazzaar: why terrifying? if you do something wrong, a simple 'git revert' will undo it
19:34 Jesmaybe left, cdg left 19:36 labster joined
bazzaar moritz: my github username is bazzaar, I will have a go 19:38
moritz bazzaar: invitation sent. Have the appropriate amount of fun! 19:39
(and don't hesitate to ask for feedback here)
bazzaar moritz: thankyou 19:40
19:40 Ven_ left 19:41 Derperperd joined 19:59 rindolf left, Sgeo joined 20:05 lucasb_ left, bazzaar left 20:06 bjz joined 20:11 bjz_ joined, bjz left 20:22 shin_ joined
dalek c/spellcheck: ad907e8 | coke++ | doc/Language/subscripts.pod6:
other instances used the US version
20:27
c/spellcheck: 378ce60 | (Tom Browder)++ | doc/Language/testing.pod6:
add caution about done-testing
c/spellcheck: fa5a640 | (Tom Browder)++ | doc/Language/testing.pod6:
expand the note per AlexDaniel's comments
c/spellcheck: 3014124 | (Tom Browder)++ | doc/Language/testing.pod6:
add an example per p3rln00b and AlexDaniel
c/spellcheck: 20d109d | (Aleks-Daniel Jakimenko-Aleksejev)++ | doc/Language/testing.pod6:
Typo
c/spellcheck: 8596adb | coke++ | doc/Language/testing.pod6:
remove trailing ws
20:28 zakharyas1 joined
AlexDaniel [Coke]: this didn't look like a merge 20:28
20:31 andrzejku left 20:34 Jesmaybe joined 20:38 Jesmaybe left 20:42 zakharyas1 left 20:46 zakharyas left 21:00 wamba joined 21:03 flexibea` joined 21:08 labster left, labster joined 21:11 cdg joined 21:13 cdg left 21:14 cdg joined 21:24 girafe left 21:28 firstdayonthejob joined 21:31 Derperperd left 21:33 wamba left 21:41 Ven_ joined 21:43 Ven_ left, Ven__ joined 21:46 yqt joined 21:48 bjz_ left 22:06 BenGoldberg joined
BenGoldberg m: dd Mix.new-from-pairs( 1 => .9999 ); 22:15
camelia rakudo-moar 1acf5b: OUTPUT«(1=>0.9999).Mix␤»
BenGoldberg m: dd Mix.new-from-pairs( 1 => .9999 ).Bag; 22:16
camelia rakudo-moar 1acf5b: OUTPUT«().Bag␤»
BenGoldberg m: dd Mix.new-from-pairs( 1 => pi ).Bag; 22:17
camelia rakudo-moar 1acf5b: OUTPUT«(1=>3).Bag␤»
BenGoldberg s: Mix, 'Bag', (); 22:18
SourceBaby BenGoldberg, Ehhh... I'm too scared to run that code.
BenGoldberg s: Mix, 'Bag', ()
s: Mix.new-from-pairs( 1 => pi ), 'Bag';
p3rln00b You broke my robot! 22:20
But the code's here: github.com/rakudo/rakudo/blob/nom/...Mix.pm#L37 22:21
s: &say
Seems hack is churning on something. Undercover is still connected, but I can't ssh (just hangs ) 22:27
timotimo uh oh, again? 22:30
p3rln00b Does that happen often?
I wonder if my bots are leaking :/
timotimo i'll look into it in a bit, gotta do some stuff first
usually hack b0rks because of one of the virtual disk is dying 22:31
it just suddenly stops doing anything, so we just reboot the vm and everything's fine
22:32 itaipu joined 22:33 firstdayonthejob left 22:35 dalek joined, ChanServ sets mode: +v dalek, synopsebot6 joined
timotimo hack is back 22:35
p3rln00b timotimo++
timotimo we should tell all those people to get an account on irc.p6c.org
those that just flew from the 'net
22:35 Jesmaybe_ joined 22:36 canopus left 22:37 Undercover joined, SourceBaby joined 22:40 Ven__ left 22:41 Jesmaybe_ left 22:42 canopus joined 22:47 NeuralAnomaly joined 22:49 bjz joined
dalek ateverable: 43a553a | (Aleks-Daniel Jakimenko-Aleksejev)++ | t/ (3 files):
Move some logic into Testable.pm6

It's not pretty, but it works fine for tests. But let's have this ugliness only once. 69ff223 | (Aleks-Daniel Jakimenko-Aleksejev)++ | t/lib/Testable.pm6: Oops. This is what I actually meant in 43a553a596
Also, give it a bit more time to settle down.
23:00
23:00 dalek left
AlexDaniel mmm… yeah 23:00
23:00 dalek joined, ChanServ sets mode: +v dalek 23:03 itaipu left 23:05 rgrinberg joined
23:11 evalable6 joined
AlexDaniel m: say 42 23:11
camelia rakudo-moar 1acf5b: OUTPUT«42␤»
evalable6 AlexDaniel, rakudo-moar 666128f: OUTPUT«42»
AlexDaniel wrong…
23:11 evalable6 left
geekosaur evilable? :p 23:13
23:19 evalable6test joined
AlexDaniel m: say 42 23:19
camelia rakudo-moar 1acf5b: OUTPUT«42␤»
23:20 lucasb_ joined
AlexDaniel oh well, it's ‘+camelia’ :) 23:21
23:21 evalable6test left
p3rln00b What does it do? 23:22
AlexDaniel p3rln00b: evalable you mean? 23:23
p3rln00b: by the way, NAMES returns a list of nicknames in a slightly interesting way…
p3rln00b Well, it includes op/voice markers 23:24
AlexDaniel yea
p3rln00b And yeah, I meant what does evalable do
AlexDaniel p3rln00b: basically, it is camelia on drugs 23:26
so not that interesting
if during netsplit you end up on the same side with evalable but not camelia, it will answer m: commands 23:27
(or if camelia is k-lined again)
p3rln00b ah 23:28
AlexDaniel otherwise it is identical, I think. It does allow you to set custom stdin, it will accept any raw link but not normal github links, it will gist long output, etc. 23:29
samcv hey p3rln00b i have the code working with no errors now, but it doesn't seem to call irc-privmsg-channel at all vpaste.net/ptraK
it does start the script though i have confirmed that 23:30
but i added a say in there to print out whenever something was said in the channel, but it doesn't print out anything at all
23:31 cdg left 23:33 cdg joined 23:36 evalable6 joined, evalable6 left 23:37 evalable6 joined, evalable6 left, cdg left 23:38 Jesmaybe_ joined 23:40 evalable6 joined
AlexDaniel m: say 42 23:40
camelia rakudo-moar eb3123: OUTPUT«42␤»
AlexDaniel ok
evilable: say 666
evalable6 AlexDaniel, rakudo-moar 666128f: OUTPUT«666»
AlexDaniel geekosaur: ↑ ;)
lucasb_ it's name is evalable6, but you have to address it as evilable? 23:42
p3rln00b And 666... is a real commit? :O)
geekosaur they edit correct their names
lucasb_ evalable6: say 42
evalable6 lucasb_, rakudo-moar 666128f: OUTPUT«42»
lucasb_ hmm
23:43 bjz left, Jesmaybe_ left
p3rln00b samcv: .write actually takes a Blob, not a Str, so you need to encode it. 23:43
AlexDaniel p3rln00b: surprisingly… it is :)
p3rln00b m: dd "Meow meow".encode
camelia rakudo-moar eb3123: OUTPUT«utf8.new(77,101,111,119,32,109,101,111,119)␤»
p3rln00b m: dd "Meow meow".encode.^name
camelia rakudo-moar eb3123: OUTPUT«"utf8"␤»
p3rln00b bah
samcv p3rln00b, shouldn't it at least print something out though?
p3rln00b Well, tis a blob
samcv: it does for me: gist.github.com/zoffixznet/ac6892e...35bf624e93 23:44
samcv so it's getting called but i can't set the $body = $e.text and stuff like that?
hmm weird. ok. thank you. weird 23:45
AlexDaniel ebalable: .say for ^100
evalable6 AlexDaniel, rakudo-moar eb3123e: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34…»
AlexDaniel, Full output: gist.github.com/b980e3d318d23ecff1...72f0f06c13
p3rln00b samcv: maybe your stuff is too old? (Perl 6 or IRC::Client)
evilable: $*EXECUTABLE.IO.slurp.say 23:46
evalable6 p3rln00b, rakudo-moar eb3123e: OUTPUT«#!/bin/sh␤exec /tmp/whateverable/rakudo-moar/eb3123e5e60fa1635ed1ee121cec1290c290044a/bin/moar…»
samcv well i have 2016.09 rakudo let me see if i need to update the client
evalable6 p3rln00b, Full output: gist.github.com/c37a242b7a9b560afb...cf4c3b2af2
p3rln00b samcv: 2016.10 is the latest :)
(since about 10 minutes ago) 23:47
samcv hahahha
great :)
shin_ hi all... how can i do a sub such as
m: sub test1(*@v) { dd @v; }; my $a = 1; test1($a,2,3,5);
camelia rakudo-moar eb3123: OUTPUT«[1, 2, 3, 5]␤»
shin_ but showing that the first parameter was a variable called $a and the other were constants? 23:48
lucasb_ maybe when macros arrive in P6
p3rln00b m: sub test1(*@v is rw) { dd .VAR.name for @v; }; my $a = 1; test1($a,2,3,5); 23:50
camelia rakudo-moar eb3123: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Can only use 'is rw' on a scalar ('$' sigil) parameter␤at <tmp>:1␤»
p3rln00b shin_: it might not even be available, since you're slurping
23:50 cdg joined
p3rln00b m: sub test1() { dd .VAR.name for @_; }; my $a = 1; test1($a,2,3,5); 23:50
camelia rakudo-moar eb3123: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Placeholder variable '@_' cannot override existing signature␤at <tmp>:1␤------> 3sub7⏏5 test1() { dd .VAR.name for @_; }; my $a␤»
lucasb_ m: sub f(\x, \y) { say x.VAR.WHAT, y.VAR.WHAT }; my $x = 10; f($x, 20)
p3rln00b shrugs 23:51
camelia rakudo-moar eb3123: OUTPUT«(Scalar)(Int)␤»
p3rln00b m: sub f(\x, \y) { say x.VAR.name, y.VAR.name }; my $x = 10; f($x, 20)
camelia rakudo-moar b744de: OUTPUT«No such method 'name' for invocant of type 'Int'␤ in sub f at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
23:51 kurahaupo left
p3rln00b m: sub f(\x, \y) { say x.VAR.name, y.VAR.?name // 'nada' }; my $x = 10; f($x, 20) 23:51
camelia rakudo-moar b744de: OUTPUT«$xnada␤»
timotimo m: sub test1(*@v is raw) { say @v[0].VAR.perl; say @v[1].VAR.perl }; my $var = 999; test1($var, 1, 2, 3) 23:52
camelia rakudo-moar b744de: OUTPUT«Int.new␤1␤»
AlexDaniel m: sub test1(*@v is raw) { try { dd .VAR.name } for @v }; my $a = 1; my $b = 25; test1($a,2,3,$b) 23:53
camelia rakudo-moar b744de: OUTPUT«"\$a"␤"\$b"␤»
AlexDaniel ahhhh
timotimo: :E
timotimo :)
my output wasn't as good as yours, though
AlexDaniel but yeah! Surprisingly, you can do it!
who would've thought!
23:53 shin_ left, shin_ joined
shin_ I know i can use this already: m: my $a = 1; my $b = "hello!", my $c = { $_ x 2}; dd($a, $b, $c); 23:54
p3rln00b :)
shin_ m: my $a = 1; my $b = "hello!", my $c = { $_ x 2}; dd($a, $b, $c);
camelia rakudo-moar b744de: OUTPUT«Int $a = 1␤Str $b = "hello!"␤Block $c = -> ;; $_? is raw { #`(Block|82687016) ... }␤»
AlexDaniel shin_: irclog.perlgeek.de/perl6/2016-10-15#i_13410414 ?
p3rln00b &
shin_ Hehe, great :) 23:55
Thanks AlexDaniel
23:55 cdg left
AlexDaniel m: sub foo(*@v is raw) { say .VAR.?name // $_ for @v }; my $a = 1; my $b = 25; foo($a,2,3,$b) 23:56
camelia rakudo-moar b744de: OUTPUT«$a␤2␤3␤$b␤»
AlexDaniel another cool thing in Perl 6 is Proxy 23:57
which is not related to this, but it is just as cool as 「is raw」