Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-04-02

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:04 Alina-malina joined #perl6
00:10 skids joined #perl6
00:33 aborazmeh joined #perl6
00:33 aborazmeh joined #perl6
00:46 raiph joined #perl6
01:07 laouji joined #perl6
01:15 yeahnoob joined #perl6
01:17 tony-o thanks for the PR zoffix
01:17 Zoffix np
01:19 aborazmeh joined #perl6
01:19 aborazmeh joined #perl6
01:22 dtscode joined #perl6
01:22 dtscode if i wanted to build the standard perl 6 interpreter from source, is this all i need? https://github.com/perl6/std/
01:23 colomon dtscode: no.
01:23 colomon dtscode: that’s just the parser
01:23 colomon and not the parser that rakudo actually uses, it’s more of a standard reference implementation of a p6 parser
01:24 TimToady see http://rakudo.org/how-to-get-rakudo/
01:25 dtscode oh so i should use rakudo?
01:26 colomon if you want to actually use perl 6, yes.  :)
01:27 dtscode thanks :D
01:27 dtscode #perl was right. you guys are cool
01:28 * colomon is just glad TimToady++ thought of the how-to-get-rakudo link
01:30 TimToady I went to perl6.org and clicked on the big DOWNLOAD button to see what it'd say :)
01:31 Zoffix woohoo. *now* I'm done. All non-compliant S11 dists received a RP :) ... "April 1, 2015: 124 contributions" on github lol :D
01:32 Zoffix Actually did not see that big download button there the two times I wanted to install perl6.. It sorta blends into the background among those shadowy blocks
01:35 TimToady we should maybe put it in the top row rather than the bottom
01:35 TimToady afk
01:45 dj_goku_ joined #perl6
01:46 dalek perl6.org: 3aa4c7f | (Zoffix Znet)++ | source/index.html:
01:46 dalek perl6.org: Move download button to top row, to make it more obvious
01:46 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/3aa4c7f2e4
01:55 Vlavv_ joined #perl6
02:06 chenryn_ joined #perl6
02:07 aborazmeh joined #perl6
02:07 aborazmeh joined #perl6
02:17 noganex_ joined #perl6
02:17 Juerd joined #perl6
02:18 synopsebot joined #perl6
02:18 hugme joined #perl6
02:28 telex joined #perl6
02:43 jack_rabbit joined #perl6
02:47 tinyblak joined #perl6
02:51 chenryn_ joined #perl6
03:01 tinyblak joined #perl6
03:17 Zoffix What do you think about fixing this https://github.com/perl6/doc/issues/45 (add missing variables to 'Search') by adding the missing variables directly to https://github.com/perl6/doc/blob/master/template/search_template.js ?
03:17 Zoffix They're compile and dynamic variables (http://doc.perl6.org/language/variables#Compile-time_variables) and they're in a table. I don't mind doing the work.
03:18 Zoffix Unless there a way to make htmlfy to index them somehow?
03:29 Zoffix Ah... http://design.perl6.org/S26.html#Indexing_terms
03:29 * Zoffix makes a note to look at that tomorrow
03:43 skids https://gist.github.com/skids/dbe151cb35a4de8c4b9a  # could someone with a full test environment fold this in?
03:49 skids (I don't think we should be expecting new users to figure out that RAKUDO_MODULE_DEBUG exists.)
03:49 chenryn_ joined #perl6
04:03 dtscode left #perl6
04:15 prime left #perl6
04:17 kaare_ joined #perl6
04:18 raydiak after building a fresh clone of raydiak/MoarVM, which is identical to MoarVM/MoarVM, moar --version gives "2015.01-190-gc3bf959"...anyone have a clue what is up with the ".01"?  the commit part is correct :P
04:28 aborazmeh joined #perl6
04:28 aborazmeh joined #perl6
04:35 raydiak ah fixed it, needed a git pull --tags upstream master (and then git push --tags too)
04:50 chenryn_ joined #perl6
05:01 uvb joined #perl6
05:05 uvb joined #perl6
05:37 chenryn_ joined #perl6
05:47 xfix joined #perl6
05:55 Sqirrel joined #perl6
06:12 jnthn morning, #perl6
06:13 dalek rakudo/nom: 10cd401 | jnthn++ | src/Perl6/Grammar.nqp:
06:13 dalek rakudo/nom: Give decent error for | used outside of arglist.
06:13 dalek rakudo/nom:
06:13 dalek rakudo/nom: Before we just called it out as a call to a non-existing prefix:<|>
06:13 dalek rakudo/nom: sub, which was LTA.
06:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/10cd401515
06:13 dalek rakudo/nom: 1457816 | jnthn++ | src/ (2 files):
06:13 dalek rakudo/nom: Typed exception for mis-placed |.
06:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1457816629
06:14 bartolin_ \o/ jnthn
06:14 dalek roast: 72ca1c1 | jnthn++ | S32-exceptions/misc.t:
06:14 dalek roast: Test for X::Syntax::ArgFlattener exception.
06:14 dalek roast: review: https://github.com/perl6/roast/commit/72ca1c18de
06:15 jnthn Folks can feel free to word-smith the message; there may be a better one :)
06:17 moritz "Illegal use of prefix | outside of an argument list"?
06:17 moritz not sure that's better
06:17 moritz anyway, jnthn++ for throwing the error in the first place
06:18 moritz ah, I'm glad to see we're not the only one having trouble with high system load (on hack, I mean)
06:18 brrt joined #perl6
06:18 moritz the debian mirror we use at $work has a load avg. > 220 right now :-)
06:18 jnthn loads of trouble...
06:35 FROGGS joined #perl6
07:02 darutoko joined #perl6
07:13 moritz uhm, did the 'sillymoose' github account rename to 'dnmfarrell'?
07:15 Woodi hallo #perl6
07:15 FROGGS moritz: yes
07:16 Woodi I tried to use Bailador for simple app, but fall into misc troubles... eg. http://pastebin.com/fcbCSM1G
07:17 dalek ecosystem: 29353d7 | moritz++ | META.list:
07:17 dalek ecosystem: Track a github username change
07:17 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/29353d7fa7
07:17 Woodi I think Buf thingies should be drowned much deeper
07:17 moritz FROGGS: https://github.com/dnmfarrell/URI-Encode/commit/abb7f8ca23c72253fc52f6eaf728117a403be094 introduced a trailing comma in build-depends
07:18 Woodi getting simple %env is much harder then it need to be...
07:18 FROGGS eww
07:18 jnthn request.env<$_>
07:18 jnthn Surely that's not what was meant? :)
07:19 jnthn {$_}
07:19 Woodi jnthn: works for request.env<PATH_INFO>;
07:19 jnthn Yes, that's a literal.
07:19 jnthn foo<...> is foo{'...'}
07:19 jnthn So you're doing request.env{'$_'} there
07:19 FROGGS moritz++ # I PR'd it
07:20 Woodi hmm :)
07:20 moritz PerlJam: https://raw.githubusercontent.com/perlpilot/p6-Git-Wrapper/master/META.info is invalid JSON
07:21 Woodi but why that Bufs popping up ?
07:22 Woodi also: reload on ^key in running Bailador app would be nice :)
07:22 jnthn Woodi: I didn't design it so I don't know the actual answer, but "we can't rely on what encoding we have at that level" would be a fair enough answer.
07:23 zakharyas joined #perl6
07:23 jnthn You'd have to ask somebody who knows Bailador better than I do :)
07:23 Woodi jnthn: same thing on commend line works... or it is other level ?
07:24 jnthn Woodi: I don't know what request.env actually corresponds to
07:25 Woodi jnthn: as usual, method calls :)
07:25 jnthn :P
07:26 jnthn .oO( Not all that is accurate is useful... )
07:26 foRei joined #perl6
07:26 foRei left #perl6
07:27 eli-se joined #perl6
07:37 pdcawley joined #perl6
07:40 moritz moritz@pat:~/p6/all>ls */*/META.info|wc -l
07:40 moritz 297
07:40 moritz moritz@pat:~/p6/all>grep -L provides */*/META.info|wc -l
07:40 TimToady m: my %a; say %a.of; my $a = {}; say $a.of
07:40 moritz 89
07:40 camelia rakudo-moar 145781: OUTPUT«(Mu)␤(Any)␤»
07:40 moritz TimToady: that looks worng
07:40 TimToady m: my @a; say @a.of; my $a = []; say $a.of
07:40 camelia rakudo-moar 145781: OUTPUT«(Mu)␤(Any)␤»
07:40 TimToady so does that
07:41 Sqirrel joined #perl6
07:42 eli-se joined #perl6
07:43 raydiak FROGGS++ thanks for the merge :)
07:45 fhelmberger joined #perl6
07:46 FROGGS pleasure :o)
07:48 raydiak allows Compress::Zlib to not require Inline anymore, which is great for installing on Windows
07:49 raydiak which seemed important to me all of a sudden when I merged the PNG support into Pray yesterday and then realized you can't install it without a c compiler
07:52 tinyblak_ joined #perl6
07:53 FROGGS ahh yes
07:53 FROGGS I also need Compress::Zlib for panda/CPAN
07:53 FROGGS that's awesome
07:55 raydiak funny thing I noticed about panda on windows, seemes to require "prove", which means I had to install strawberry perl too, unless we have our own replacement
08:00 raydiak oh but if anyone feels up to porting https://github.com/MoarVM/MoarVM/commit/7af5df61b5700ceecc66134c580f4fa2e70ad5de to JVM...precisely how to do that isn't immediately obvious to me, I'd be guessing
08:03 eli-se joined #perl6
08:03 eli-se I can make Perl 6 look like C++!
08:04 laouji joined #perl6
08:04 moritz is that a good thing? :-)
08:04 eli-se m: sub static_cast { { int => sub ($x) { $x.Int } } }; static_cast<int>(1.23)
08:04 camelia rakudo-moar 145781: ( no output )
08:04 eli-se m: sub static_cast { { int => sub ($x) { $x.Int } } }; static_cast<int>(1.23).say
08:05 camelia rakudo-moar 145781: OUTPUT«1␤»
08:05 eli-se :)
08:05 FROGGS raydiak: you need to handle it here: https://github.com/perl6/nqp/blob/master/src/vm/jvm/runtime/org/perl6/nqp/runtime/NativeCallOps.java#L178
08:05 FROGGS raydiak: though, there is a caveat
08:06 eli-se Does a slang have to be a Grammar?
08:06 eli-se or based on
08:06 FROGGS raydiak: and it results in the question: "how the heck do I get a pointerish thing from the underlined storage of a VMArray?!"
08:07 FROGGS eli-se: I'd say so
08:07 raydiak FROGGS: yeah that's where I stopped when I was looking in to it :)
08:07 laouji joined #perl6
08:07 eli-se meh
08:08 FROGGS raydiak: that's also where I stopped when I attempted that months ago .O9
08:08 FROGGS err, :o)
08:08 FROGGS eli-se: why meh?
08:08 eli-se that means you can't use any existing parser
08:09 eli-se such as libclang :P
08:09 jnthn Well, the real issue is having the other parser know when to stop and hand back control...
08:09 eli-se Can't just brace-match because of C preprocessor.
08:09 FROGGS exactly
08:09 eli-se jnthn: right
08:10 FROGGS if you could have a main entry token that knows where to stop you could hand off that piece to the other parser
08:10 RabidGravy joined #perl6
08:10 jnthn afaik, the thing calling a slang mostly wants to get back a Cursor saying "I matched and got to this point in the text",
08:13 kjs_ joined #perl6
08:14 raydiak FROGGS: I'll try to remember to look in to it again soon if nobody else does it sooner; I was trying to read about it and got confused but it's after 1 AM here so that's kinda expected
08:14 FROGGS yeah
08:14 FROGGS sadly it still wont be a LHF after two cups of coffee in the morning :/
08:15 timotimo o/
08:16 eli-se I find grammars difficult to use though
08:16 raydiak g'mornin timo
08:17 timotimo hey raydiak
08:17 timotimo Compress::Zlib working without Inline::C is fantastic news
08:17 timotimo also, leont was working on a TAP::Harness implementation in perl6 some time ago
08:18 timotimo that could be used to provide "prove" if there's no system-wide prove installed (i.e. on windows)
08:18 raydiak nice
08:20 timotimo github says leont/tap-harness6 was updated 7 hours ago, but the latest commit is somewhat older
08:20 timotimo might just have been a push of already-committed stuff
08:21 timotimo oh
08:21 timotimo no, that's from the "provides" pull request
08:21 moritz timotimo: also, could be another branch, or a tag
08:22 timotimo Zoffix: i don't know where these "6" come from in https://github.com/Leont/tap-harness6/pull/2/files
08:22 timotimo is that your code or just pandas gen-meta?
08:24 moritz http://uk.businessinsider.com/reddit-april-fools-joke-the-button-2015-4?r=US muhaha
08:27 tadzik http://www.reddit.com/r/thebutton/comments/313qfx/what_on_earth_is_this_ive_never_gotten_so_many/ :D
08:30 nine_ So what happened after April 1st was over?
08:30 yoleaux 1 Apr 2015 22:29Z <japhb> nine_: I seem to recall someone (you, I think?) mentioning that there was something unsafe about running multiple Python interpreters in a single process as a way of working around the unsafe/poorly scaling threading.  Can you give specifics?
08:32 moritz nine_: http://www.reddit.com/r/thebutton seems like it stopped working :(
08:44 eli-se joined #perl6
08:49 rurban_ joined #perl6
08:49 raydiak good night #perl6
08:49 eli-se ybe
08:50 timotimo gnite raydiak
08:50 tadzik goonite
08:50 sirdancealot joined #perl6
08:52 albert joined #perl6
08:53 kjs_ joined #perl6
08:53 tinyblak joined #perl6
08:53 Rounin joined #perl6
08:54 albert Hello, I wonder is there a Perl 6 IDE with code completion and debugger? I tried Padre with Perl6 plugin,, but it doesn't work.
08:56 moritz albert: what do you mean by "it doesn't work"?
08:57 moritz albert: if it looks like a bug in Padre, please submit a bug report; your chances of getting it fixed are higher than finding another IDE
08:58 osfameron someone's tried embedding perl6 into eclipse too
08:59 osfameron hmmm, that's probably not the same thing
08:59 albert moritz: I already submitted a bug report: https://github.com/PadreIDE/Padre-Plugin-Perl6/issues/1. Maybe someone here can advise how to fix this bug?
09:00 nine_ albert: I'd guess that you're missing some Module::Install Padre plugin
09:01 nwc10 b
09:02 nine_ albert: try it again after installing Module::Install::PadrePlugin
09:02 gfldex joined #perl6
09:02 albert Ohh, Thanks!
09:03 eli-se I'm gonna rewrite my compiler in Perl 6 today.
09:04 eli-se it has some ugly hacks in it that I want to get rid of anyway
09:05 jnthn eli-se: Have fun! :) Hope it comes out nicely :)
09:05 eli-se the hardest part will probably be learning Perl 6 regexen
09:05 timotimo they are pretty much worth it, IMO
09:05 eli-se so I can translate this regex to Perl 6: [ \n]|#(\((?:(?-1)|.)*?\))|#.*?\n
09:06 timotimo using perl6-debug-m (plus installing Debugger::UI::CommandLine) is very nice for playing around with regexen
09:07 eli-se also, is
09:07 eli-se oops
09:08 eli-se joined #perl6
09:08 vendethiel- is someone on reddit really complaining about "FatRat.nude"?
09:09 timotimo may be
09:09 timotimo link?
09:09 eli-se lol reddit
09:09 eli-se pack seems to be similar in Perl 6
09:09 vendethiel- timotimo: it's directly linking to doc, r/programming/new "I know that it’s ... that doesn’t change the fact that Perl 6 has a method called FatRat.nude() (doc.perl6.org)"
09:09 tadzik vendethiel-: after Pillars of Transphobia there is very little that can surprise me
09:10 timotimo that's not what the method is called?
09:10 jnthn Rat and FatRat do have a .nude method
09:10 jnthn Because who wants to write .numerator-and-denominator? :)
09:10 * eli-se has never seen a fat rat that isn't nude
09:11 tadzik hmm, well, the TMNT master was not fat iirc
09:11 timotimo i mean, the method is not called "FatRad.nude", at least not to me
09:11 eli-se it's not called until you call it!
09:11 timotimo tadzik: but he wasn't fat, was he? i seem to recall he was rather thin?
09:11 nine_ jnthn: Yesterday I did some digging on https://rt.perl.org/SelfService/Display.html?id=123989
09:11 tadzik yes, that's what my memory tells me too
09:11 eli-se tadzik makes me want tzatziki
09:11 tadzik hehe
09:13 nine_ jnthn: I guess a solution may be to copy the previous callframe's $*DISPATCHER to the current callframe. Does that sound feasible?
09:13 eli-se does Perl 6 have the equivalent of Perl 5 my $x = ''; open my $fh, '>', \$x; ?
09:13 timotimo is that what Tux built with IO::String?
09:13 jnthn nine_: Well, that should already be being done
09:13 jnthn nine_: That's what the setdispatcher/takedispatcher nqp ops are about
09:13 nine_ jnthn: where?
09:14 |Tux| IO::String was for reading, not for writing
09:14 timotimo oh, OK
09:14 nine_ jnthn: ok, thanks. Will look further into that direction
09:14 eli-se I want to write binary data, not text.
09:14 |Tux| though writing will be on my todo
09:15 jnthn nine_: Search for nqp::setdispatcher in src/Perl6/Metamodel/Dispatchers.nqp
09:17 |Tux| eli-se: https://gist.github.com/Tux/8ebe8af1949c2aced18b
09:17 vendethiel- I think you're supposed to use buffers then
09:18 |Tux| Buf is binary, Str is string
09:19 vendethiel- |Tux|: "str!" <- that ! shouldn't be needed for a positional parameter
09:19 timotimo right, but: Buf is rw, Str is immutable
09:19 timotimo (though there is substr-rw)
09:19 vendethiel- http://isocpp.org/blog/2015/04/the-c-languages-merge ahhaha
09:20 |Tux| April fool?
09:21 jnthn substr-rw doesn't change Str being immutable :)
09:21 timotimo right
09:21 jnthn It makes a new Str and assigns it to the container
09:21 timotimo it works on the scalar instead
09:21 timotimo yeah
09:22 jnthn Blob is an immutable buf
09:22 * |Tux| adds Blob to notes
09:22 timotimo .o( and every last word he said was adorable! he said blob, blob, blob blo-blo-blo-blo-blo-blo-blob )
09:23 espadrine_ joined #perl6
09:26 timotimo aaw, stack egg
09:26 timotimo that's cute
09:26 timotimo sort of like a democratic tamagochi
09:29 masak antenoon, #perl6
09:30 moritz \o masak
09:31 Zoffix timotimo, fixed, sorry: https://github.com/Leont/tap-harness6/pull/2/files
09:32 moritz Zoffix++ # all those pull requests
09:32 Zoffix timotimo, they came from my code that figures out the names that stripped 'pm' before 'pm6' so the 6 got left over :} https://github.com/zoffixznet/perl6-util-Modify-All-Modules/blob/master/run.pl#L68
09:32 Zoffix \o/
09:32 timotimo hah :D
09:32 timotimo thanks a whole lot for doing this! :)
09:32 Zoffix np
09:34 eli-se joined #perl6
09:36 wryk joined #perl6
09:39 kjs_ joined #perl6
09:57 tinyblak joined #perl6
09:57 haroldwu joined #perl6
09:59 prl joined #perl6
09:59 prl Hi guys,
09:59 masak \o
09:59 prl if I use a start block,
10:00 prl should i expect that the promised is kept?
10:00 prl my $p = start {1}; say $p.status
10:00 prl i got Planned in the latest Rakudo star
10:00 moritz prl: eventually, yes
10:00 moritz prl: well, it's only kept after the code of the promise has actually run
10:01 moritz prl: a thread pool scheduler runs it when it's convenient
10:01 moritz and until then, it's Planned
10:01 prl aha, sleep 1 before reading $p.status helps
10:01 prl but
10:01 moritz don't sleep
10:01 moritz if you want to wait for the result, that is
10:02 moritz access $p.result; it'll block until the promise is fulfilled (or broken)
10:02 * masak .oO( blog post: bad habits of a pre-promises era )
10:02 prl yes true)
10:02 moritz http://doc.perl6.org/type/Promise
10:02 prl what if i divide by zero inside the start block?
10:02 prl it is still kept
10:02 moritz prl: why don't you try it and see?
10:03 moritz masak: now listening to: No Doubt - Don't Sleep :-)
10:03 masak :)
10:03 prl it is still kept
10:03 moritz m: my $p = start { die "OH NOEZ" }; await $p; say $p.result
10:03 camelia rakudo-moar 145781: OUTPUT«===SORRY!===␤OH NOEZ␤»
10:03 prl it is still kept
10:03 prl urm:)
10:04 moritz prl: because 1/0 produces a Rat instead of dieing
10:04 prl my $p = {1 / 0}; .... say $p.status prints Kept
10:04 prl оу
10:04 prl ок
10:04 prl ok
10:04 prl cool
10:04 prl thanks
10:05 masak .u к
10:05 yoleaux U+043A CYRILLIC SMALL LETTER KA [Ll] (к)
10:06 masak hugme: hug the letter к
10:06 * hugme hugs the letter к
10:06 masak I love our current collection of bots :>
10:07 jnthn m: my $a = 1/0; say $a.WHAT
10:07 camelia rakudo-moar 145781: OUTPUT«(Rat)␤»
10:07 jnthn Heh, such lazy :P
10:08 jnthn An actual exception in a Promise will make it Broken, though
10:08 * masak .oO( but what happens if you wrap the Promise inside an Unbreakable Vow...? ) :P
10:09 * masak .oO( 2037: Perl 7 is announced. it is the merge of Perl 6 and the HPMoR community )
10:09 vendethiel- HPMoR?
10:09 moritz Hilarious Perl and the Methods of Rats?
10:10 tadzik :D
10:10 masak vendethiel-: massive time sink advisory.
10:10 masak you have been duly warned.
10:10 moritz vendethiel-: http://hpmor.com/
10:10 moritz a Harry Potter fanfic (and a good one), with the same amount of text as ~4 original Harry Potter books
10:11 * masak .oO( my Lock $lock .= new; $lock.alohamora )
10:11 moritz masak: no, you must first .colloportus before you can .alohamora it :-)
10:12 DrForr sub AVADAKADAVRA() { self.free }
10:12 masak o.O
10:13 masak DrForr: you... you... you just *used self in a sub*! :(
10:13 moritz that's fine, if it's declared as an outer lexical
10:13 DrForr s/self// # ;...
10:13 masak also, be glad you got a vowel wrong there. otherwise you might've gotten a stern talk with Moody.
10:14 DrForr Never read the books.
10:14 tadzik you can't tell me what to do!
10:14 tadzik english so unambigous
10:14 DrForr I just assumed she ripped off 'abracadabra'.
10:16 DrForr "Well, see, they just took Latin, and ... ruined it."
10:17 masak what, you're saying "wingardium leviosa" is not actually Latin?
10:17 chenryn_ joined #perl6
10:17 jnthn Let's ask a native Latin speaker...oh, wait... :P
10:19 arnsholt Well, the Harry Potter spells are a reasonable facsimile of Latin, IMO =)
10:20 masak of course, they've been meticulously catalogued by the Wikipedia community: https://en.wikipedia.org/wiki/List_of_spells_in_Harry_Potter
10:21 masak up to and including actual intersections with actual Latin.
10:21 tadzik nine_: I get an error when building Inline::Perl5: /usr/bin/ld: /home/tsosnierz/.plenv/versions/5.18.1/lib/perl5/5.18.1/x86_64-linux/CORE/libperl.a(op.o): relocation R_X86_64_32S against `PL_sv_yes' can not be used when making a shared object; recompile with -fPIC
10:21 tadzik is my perl5 miscompiled?
10:22 tinyblak joined #perl6
10:23 moritz tadzik: look like
10:23 tadzik plenv---
10:24 moritz tadzik: see the README.md in Inline::Perl5
10:24 moritz perl 5 needs the -Duseshrplib configure option
10:25 tadzik aha!
10:25 tadzik thank you
10:30 laouji joined #perl6
10:44 eli-se joined #perl6
10:44 lichtkind joined #perl6
10:47 grondilu joined #perl6
10:50 grondilu what's this "provides" section in META.info about?  https://github.com/grondilu/clifford/pull/1  I can't see any "provides" word in S11.
10:51 nine_ tadzik: hit me, too a couple of times already ;)
10:54 timotimo this cat likes stepping onto my touchpad
10:54 FROGGS grondilu: http://design.perl6.org/S22.html#provides
10:55 FROGGS grondilu: and we all do that for this: https://perl6advent.wordpress.com/2013/12/11/day-11-installing-modules/
10:56 FROGGS and we talk about "S11 support" because it is about supporting http://design.perl6.org/S11.html#Versioning
10:56 kurahaupo1 joined #perl6
10:58 chenryn_ joined #perl6
11:05 bartolin_ while trying to make Test.pm report correct line numbers for failing tests I found the following:
11:05 eli-se joined #perl6
11:05 bartolin_ m: for 1 .. 200 { }; { say callframe(1) }
11:05 camelia rakudo-moar 145781: OUTPUT«(signal SEGV)»
11:05 bartolin_ m: for 1 .. 199 { }; { say callframe(1) }
11:05 camelia rakudo-moar 145781: OUTPUT«CallFrame.new(level => 3, annotations => ("line" => "1", "file" => "/tmp/azHtS40kZu").hash, my => EnumMap.new("\$!" => Mu, "!UNIT_MARKER" => Mu, "GLOBALish" => Mu, "\$=pod" => Mu, "\$_" => Mu, "\$?PACKAGE" => Mu, "\$/" => Mu, "EXPORT" => Mu, "::?PACKAGE" =…»
11:05 eli-se I wonder how VMs catch stack overflows.
11:05 eli-se like JVM and CLR do to throw exceptions
11:05 bartolin_ MVM_SPESH_DISABLE=1 makes the segfault go away.
11:05 eli-se in Windows it's trivial due to SEH
11:06 bartolin_ is the above a known problem or should I report it (and where: github issue for moarvm?)
11:06 timotimo bartolin_: that seems quite similar to a bug i saw recently
11:07 bartolin_ timotimo: masak digged for a segfault with "for": RT #124191
11:07 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=124191
11:08 bartolin_ timotimo: but this one does not go away with MVM_SPESH_INLINE_DISABLE=1. furthermore it looks different in so far as my for loop does nothing.
11:08 timotimo good catch
11:10 SamuraiJack joined #perl6
11:11 bartolin_ with latest rakudo star it segfaults with 100 iterations (99 run fine):
11:11 bartolin_ star-m: for 1 .. 100 { }; { say callframe(1) }
11:11 camelia star-m 2015.02: OUTPUT«(signal SEGV)»
11:11 bartolin_ star-m: for 1 .. 99 { }; { say callframe(1) }
11:11 camelia star-m 2015.02: OUTPUT«CallFrame.new(level => 3, annotations => ("line" => "1", "file" => "/tmp/ERb3GGEtqd").hash, my => EnumMap.new("EXPORT" => Mu, "\$!" => Mu, "\$=pod" => Mu, "\$?PACKAGE" => Mu, "\$/" => Mu, "GLOBALish" => Mu, "::?PACKAGE" => Mu, "!UNIT_MARKER" => Mu, "\$_" => Mu…»
11:12 prl joined #perl6
11:12 prl guys, another question about promises
11:12 prl my $p = start{sleep 5}; my $t = Promise.new($p, Promise.in(3)}; say $t.result; say $p.statusж
11:12 prl my $p = start{sleep 5}; my $t = Promise.new($p, Promise.in(3)}; say $t.result; say $p.status;
11:13 prl behaves differently from what I expect. I expect it to stop after 3 sec and print Planned for $p
11:13 prl instead it waits 5 sec and prints Kept
11:13 timotimo bartolin_: yeah, we very recently tuned the thresholds für spesh and jit to kick in a bit later
11:14 timotimo the first argument to Promise.new is supposed to be code to run, you're passing in a Promise into Promise.new
11:14 FROGGS für :P
11:14 timotimo FROGGS: damn it %)
11:14 FROGGS timotimo: never mind, he does understand :o)
11:15 bartolin_ .oO( ist mir gar nicht aufgefallen ... )
11:15 prl no no, it was Promise.anyof
11:15 timotimo ah, ok
11:15 prl my $p = start{sleep 5}; my $t = Promise.anyof($p, Promise.in(3)}; say $t.result; say $p.status;
11:16 moritz m: my $p = start{sleep 1; say 'done sleeping'}; my $t = Promise.anyof($p, Promise.in(0.5)); say $t.result; say $t.status
11:16 camelia rakudo-moar 145781: OUTPUT«5===SORRY!5=== Error while compiling /tmp/xteei0iYJk␤Calling start() will never work with declared signature (&code, :catch(&catch))␤at /tmp/xteei0iYJk:1␤------> 3my $p = 7⏏5start{sleep 1; say 'done sleeping'}; my ␤»
11:16 moritz m: my $p = start {sleep 1; say 'done sleeping'}; my $t = Promise.anyof($p, Promise.in(0.5)); say $t.result; say $t.status
11:16 camelia rakudo-moar 145781: OUTPUT«done sleeping␤True␤Kept␤»
11:17 moritz m: my $p = start {sleep 3; say 'done sleeping'}; my $t = Promise.anyof($p, Promise.in(0.5)); say $t.result; say $t.status
11:17 camelia rakudo-moar 145781: OUTPUT«done sleeping␤True␤Kept␤»
11:17 prl yes, exactly what i have
11:17 timotimo m: my $p = start { say "starting to sleep"; sleep 3; say 'done sleeping'}; say "$p created" my $t = Promise.anyof($p, Promise.in(0.5)); say $t.result; say $p.status
11:17 prl Kept is for both $p and $t
11:17 camelia rakudo-moar 145781: OUTPUT«5===SORRY!5=== Error while compiling /tmp/p8MHCfYoxt␤Two terms in a row␤at /tmp/p8MHCfYoxt:1␤------> 3; say 'done sleeping'}; say "$p created"7⏏5 my $t = Promise.anyof($p, Promise.in(0.␤    expecting any of:␤        infix␤        infi…»
11:17 timotimo m: my $p = start { say "starting to sleep"; sleep 3; say 'done sleeping'}; say "$p created"; my $t = Promise.anyof($p, Promise.in(0.5)); say $t.result; say $p.status
11:18 camelia rakudo-moar 145781: OUTPUT«Promise<139684156545648> created␤starting to sleep␤done sleeping␤True␤Kept␤»
11:18 timotimo m: my $p = start { say "starting to sleep"; sleep 3; say 'done sleeping'}; say "$p created"; my $t = Promise.anyof($p, Promise.in(0.1)); say $t.result; say $p.status
11:18 camelia rakudo-moar 145781: OUTPUT«Promise<140493355297432> created␤starting to sleep␤done sleeping␤True␤Kept␤»
11:18 timotimo huh.
11:18 timotimo m: my $p = start { say "starting to sleep"; sleep 3; say 'done sleeping'}; say "$p created"; my $t = Promise.anyof($p, start { 1 }); say $t.result; say $p.status
11:18 camelia rakudo-moar 145781: OUTPUT«Promise<140333017106400> created␤starting to sleep␤True␤Planned␤»
11:19 prl nice:)
11:19 prl but why
11:20 timotimo good question
11:20 timotimo seems like a bug
11:20 timotimo tony-o: my web app seems very stable with latest HSA, but i still seem to have no way to detect when the client closes the connection for my EventSource connection
11:21 timotimo tony-o: and for some reason it seems like chrome keeps reconnecting over and over
11:24 KCL joined #perl6
11:25 timotimo tony-o: it's quite suspiciously close to exactly 30 seconds before each reconnect
11:25 timotimo or "close" for that matter
11:26 chenryn_ joined #perl6
11:32 tadzik FROGGS: it seems like panda doesn't install test-depends
11:32 tadzik I had to manually install File::Temp for Inline::Perl5
11:33 FROGGS yes, test-depends has nothing to do with depends
11:34 FROGGS panda could be made smart enough to only temporarily fetch test-depends, but until now it just ignores it
11:34 tadzik well, but now panda can't install Inline::Perl5 :)
11:35 FROGGS this commit is bogus I'd say: https://github.com/niner/Inline-Perl5/commit/c9e8e30ba6ec450c5dd9d88e5b4848fb1cd0f10c
11:35 FROGGS for now at least
11:35 tadzik I think it's panda's fault to not understand it
11:35 tadzik I say we should make it behave like it used to, so install both build-depends and test-depends
11:36 FROGGS 'used to'? there never was a test-depends
11:37 tadzik yes, I know
11:37 tadzik what I mean is that modules that are now correctly written according to S11 are not installable with panda
11:37 tadzik and that's panda's fault
11:38 tadzik in this case panda is like cpanm, which also just installs whatever test-depends it finds for the sake of things working
11:38 tadzik (except that panda does not)
11:38 FROGGS m: my $depends = ['Foo']; say $depends (+) Any
11:38 camelia rakudo-moar 145781: OUTPUT«bag(Foo)␤»
11:38 FROGGS m: my $depends = ['Foo']; say ($depends (+) Any).list
11:38 camelia rakudo-moar 145781: OUTPUT«Foo => 1␤»
11:38 tadzik . o O ( it depends )
11:38 FROGGS m: my $depends = ['Foo']; say ($depends, Any).unique.list
11:38 camelia rakudo-moar 145781: OUTPUT«Foo (Any)␤»
11:41 coffee` joined #perl6
11:48 FROGGS hmmm, my patch is not working yet :/
11:54 wryk joined #perl6
12:00 chenryn_ joined #perl6
12:03 FROGGS tadzik: I pushed a fix
12:03 tadzik FROGGS++ \o/
12:03 tadzik in return, have this floppy drive song: https://www.youtube.com/watch?v=4bnakHWlRAI
12:04 FROGGS that's totally worth it :D
12:04 tadzik oh it is :D
12:04 tadzik up from a certain point, at least
12:05 FROGGS *g*
12:06 FROGGS lol: https://www.youtube.com/watch?v=cM_sAxrAu7Q
12:06 tadzik have you seen the one on dot printer?
12:07 tadzik https://www.youtube.com/watch?v=u8I6qt_Z0Cg
12:12 FROGGS wow
12:13 chenryn_ joined #perl6
12:13 raydiak joined #perl6
12:21 chenryn_ joined #perl6
12:35 colomon https://www.scaleway.com/pricing  # hmmm, might be worth it just to have someplace decent to try Rakudo on ARM?
12:40 rindolf joined #perl6
12:43 RabidGravy m: class Foo { }; say Foo.^ver;
12:44 camelia rakudo-moar 145781: OUTPUT«No such method 'gist' for invocant of type 'NQPMu'␤  in sub say at src/gen/m-CORE.setting:18729␤  in block <unit> at /tmp/uebvqBad6T:1␤␤»
12:44 [Coke] Zoffix++
12:44 RabidGravy is that expected, and if so how does one determine the version of a class?
12:45 raiph joined #perl6
12:46 RabidGravy colomon, got to be quicker than a RaspberryPI ;=)
12:46 colomon yeah, I figure 2GB ram would be a huge help there.  :)
12:47 rmgk joined #perl6
12:48 telex joined #perl6
12:53 chenryn_ joined #perl6
13:05 aborazmeh joined #perl6
13:05 aborazmeh joined #perl6
13:21 skids joined #perl6
13:22 kjs_ joined #perl6
13:43 Hor|zon joined #perl6
14:09 yqt joined #perl6
14:10 Perl6_newbee joined #perl6
14:15 captain-adequate joined #perl6
14:15 lucasb joined #perl6
14:21 * [Coke] merges zoffix++'s PR for coke's dumb module.
14:27 captain-adequate joined #perl6
14:27 pdcawley joined #perl6
14:32 lucasb perl6 -e '@*ARGS.shift.IO.lines' <(seq 10) #=> Unhandled exception: Failed to seek in filehandle
14:32 lucasb I know I can't seek a pipe, but why does the lines method need to seek?
14:33 moritz it shouldn't
14:35 Hor|zon joined #perl6
14:45 azawawi joined #perl6
14:45 azawawi hi
14:45 azawawi FROGGS: ping
14:46 azawawi .tell timotimo i think your problem with farabi6 is related to the new panda installation scheme (i.e. using CompUnitRepo). Please take a look at your share/site folder
14:46 yoleaux azawawi: I'll pass your message to timotimo.
14:47 azawawi .tell FROGGS I managed to fix farabi6 to use CompUnitRepo. Please see https://github.com/azawawi/farabi6/blob/master/lib/Farabi6.pm6#L182. FROGGS++
14:47 yoleaux azawawi: I'll pass your message to FROGGS.
14:51 dalek rakudo/nom: 3a8ecbc | usev6++ | lib/Test.pm:
14:51 dalek rakudo/nom: Report correct line numbers for failing tests
14:51 dalek rakudo/nom:
14:51 dalek rakudo/nom: The hard coded level for callframe we had before did only match in some cases.
14:51 dalek rakudo/nom: Now we're looking outwards until we leave Test.pm
14:51 dalek rakudo/nom:
14:51 dalek rakudo/nom: Additionally we can grab the call frame from within conditional,
14:51 dalek rakudo/nom: since the bug which prevented that seems to be gone (cmp. commit 4111fa43ca).
14:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3a8ecbc920
14:51 dalek rakudo/nom: b4576d7 | PerlJam++ | lib/Test.pm:
14:51 dalek rakudo/nom: Merge pull request #401 from usev6/fix_test.pm
14:51 dalek rakudo/nom:
14:51 dalek rakudo/nom: Report correct line numbers for failing tests
14:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b4576d7c81
14:52 timotimo hmm
14:52 yoleaux 14:46Z <azawawi> timotimo: i think your problem with farabi6 is related to the new panda installation scheme (i.e. using CompUnitRepo). Please take a look at your share/site folder
14:53 colomon woah, getting the line number of failing tests would be pretty huge…
14:54 lucasb perl6 -e '@*ARGS.shift.IO.slurp.perl.say' <(echo hello)  # returns empty string
14:55 moritz colomon: haven't we had that for a while?
14:55 lucasb So, my guess is that some IO code doesn't like pipes
14:55 colomon moritz: may mean it’s been a while since I was debugging something in roast.  ;)
14:56 PerlJam moritz: modulo RT#124227, yes
14:57 moritz PerlJam: well yes, but I mean the feature in general
14:57 rindolf joined #perl6
14:58 moritz which hoelzro++ added in 2014-07-24 (commit 4a1fb9fa67790cd040ec98fdf5806e517dcbc28a)
14:58 * colomon remembers long, frustrating periods pouring over roast source trying to figure out where the failing test was....
14:58 colomon hoelzro++
14:59 * moritz can't help but wonder how long it would have taken to find that commit with svn
15:02 bartolin_ hmm, yes the commit message was a bit misleading, sorry. hoelzro++ for adding that feature ("line numbers for failing tests").
15:02 [Coke] we need a test for that. :P
15:04 kjs_ joined #perl6
15:08 vytas joined #perl6
15:12 moritz bartolin_: I don't think it was a bad commit message
15:21 ugexe testers isn't generating HTML pages still
15:21 moritz FROGGS: you can re-enable your cron jobs, I think
15:27 FROGGS moritz: shall I enable all of them at once?
15:27 yoleaux 14:47Z <azawawi> FROGGS: I managed to fix farabi6 to use CompUnitRepo. Please see https://github.com/azawawi/farabi6/blob/master/lib/Farabi6.pm6#L182. FROGGS++
15:28 moritz FROGGS: yes, though with flock proctection against multiple executions at the same time
15:28 FROGGS sure
15:34 LonelyGM joined #perl6
15:36 japhb nine_: about?
15:39 coffee` joined #perl6
15:40 coffee` joined #perl6
15:45 robinsmidsrod joined #perl6
15:46 lichtkind cheers i just decided to convert my personal private toolchain to perl 6
15:46 sirdancealot joined #perl6
15:49 [Coke] lichtkind++
15:49 skids perl6 is such a tool :-) lichtkind++
15:50 lichtkind i just started ++ when i have done
15:50 lichtkind its also jsut a training becasue i will give next p6 talks on german perl workshop and yapc
15:50 PerlJam lichtkind: no, the ++ is because you've started :)
15:51 lichtkind :)
15:51 PerlJam lichtkind: Is there a reason this toolchain is personal and private?  Could you make some modules out of it and share?
15:52 lichtkind no i also thought about to release it they are general useful for fast movements between different projects and such things
15:53 lichtkind it just wrote it for fun but should be usable by any friend of command line
15:54 lichtkind is github mandatory or would bitbucket accptable?
15:55 masak lichtkind++
15:56 moritz lichtkind: I think part of our toolchain depends on the github URL schemes
15:56 moritz lichtkind: so if you want it the easy way, use github; if not, we can try to flush out those github specifics
15:56 lichtkind but should be no problem to change sme strings?
15:57 moritz once you find what needs changing, it shouldn't be a big problem
15:57 lichtkind i just ask becasue i have currently same diskussian wiht mishin to convert github because metacpan
15:59 abraxxa FROGGS: did NativeCall already gain is rw support?
16:03 RabidGravy joined #perl6
16:09 eli-se joined #perl6
16:10 spider-mario joined #perl6
16:11 FROGGS abraxxa: no, it is trickier than I thought :/
16:11 abraxxa FROGGS: i see. do you start a branch I could look at?
16:12 Psyche^ joined #perl6
16:12 eli-se hi
16:13 FROGGS abraxxa: I just have diffs on my disk yet...
16:13 FROGGS abraxxa: I might put it in branches tonight
16:13 FROGGS hi eli-se
16:13 LonelyGM joined #perl6
16:13 abraxxa FROGGS: ok
16:14 jnthn FROGGS, abraxxa: If this is a "should be done soon", I can be pondering it :)
16:14 nine_ japhb: hi
16:14 abraxxa jnthn: would be great so I can continue with DBDish::Oracle
16:14 jnthn And work on it in the next days.
16:14 jnthn Yes, unblocking Oracle support sounds worthwhile :)
16:14 abraxxa once the basics work and it's merged to the main repo I plan on working on DBIish itself too
16:15 jnthn Nice!
16:15 abraxxa things like AutoCommit should be a Bool, the github discussion about not making DBI's faults regarding PrintError/RaiseError
16:16 nine_ japhb: about your Inline::Python question: Python does not support multiplicity the way perl does. So using multiple interpreters concurrently probably is out of the question
16:17 abraxxa nine_: fork + IPC :P
16:17 dalek rakudo/param-is-rw: 00674de | FROGGS++ | lib/NativeCall.pm:
16:17 dalek rakudo/param-is-rw: implement "is rw" params in NativeCall
16:17 dalek rakudo/param-is-rw: review: https://github.com/rakudo/rakudo/commit/00674deb52
16:18 FROGGS jnthn: I just pushed my stuff to MoarVM/param-is-rw and rakudo/param-is-rw
16:19 FROGGS though that does not mean that I hand it over directly... if I manage to get further today I'll push :o)
16:21 TimToady agh, S11 now says: Compilation units posted to an authority (such as CPAN)
16:21 TimToady CPAN is not an authority!
16:22 TimToady CPAN authors can be authorities though
16:23 jnthn FROGGS: I'm still recovering from sleeping 2 hours the night before last, so it'll be at least tomorrow before I'm up to it :)
16:23 FROGGS jnthn: just tell me
16:23 jnthn FROGGS: Will do :)
16:24 abraxxa FROGGS: looks good as far as I understand the code
16:25 FROGGS abraxxa: problem is "just" that we decontainerize the arguments in nqp when a native sub call is made, which strip off the NativeRef thingies
16:25 FROGGS and that means we cannot assign to it anymore
16:26 FROGGS that's the current showstopper
16:27 abraxxa FROGGS: what arguments? the 'is rw'?
16:28 FROGGS abraxxa: you apply 'is rw' to params... but the arguments you pass later when you call the native subs, these get deconted
16:28 abraxxa FROGGS: you mean that you don't know any more which argument correlated to which param?
16:30 jnthn No, we lost the fact it's a container.
16:30 * abraxxa doesn't know what a container is
16:30 jnthn my $a = 42; # here, $a is a Scalar container, and 42 is the value stored inside of it
16:31 abraxxa why isn't it called a variable?
16:31 jnthn heh
16:31 jnthn Better to maybe say that a Scalar contianer is bound to the variable $a :)
16:32 jnthn *container
16:32 abraxxa a struct which hold type + value?
16:32 jnthn The distinction matters in Perl 6 because containers are first class
16:32 jnthn That's pretty much what a Scalar is, yes.
16:34 jnthn Hand-waving a bit, though, since actually it points to a descriptor containing the type, the variable name, and some ro-ness info
16:34 jnthn Uh, rw-ness actually
16:37 abraxxa that MoarVM internal details, right?
16:37 abraxxa another implementation might do it differently
16:37 dalek specs: 093fdd7 | TimToady++ | S11-modules.pod:
16:37 dalek specs: Clarify that CPAN is not itself an authority
16:37 dalek specs:
16:37 dalek specs: Also explain that "standard Perl 6 library" does not just mean
16:37 dalek specs: publicly shared libaries.
16:37 dalek specs: review: https://github.com/perl6/specs/commit/093fdd73db
16:39 jnthn abraxxa: Scalar is spec, but how it looks on the inside is not
16:39 timotimo i've been slightly annoyed by having decont_all generated for every nativeinvoke anyway
16:40 timotimo but what really annoys me about it is probably not having to do it ... it's not knowing what the callsite looks like at that point
16:40 FROGGS timotimo: and we have to tweak exactly that I think
16:40 FROGGS bbl
16:41 jnthn timotimo: Yes, decont_all was certainly a "get stuff working" thing :)
16:41 jnthn OK, I'm informed it's dinner time.
16:41 jnthn &
16:41 timotimo i'm slightly jealous; i'll have to go grocery shopping before dinner can be made here :S
16:46 lizmat joined #perl6
16:47 * lizmat is glad that TimToady finally takes the time to read what I wrote over a year ago
16:47 yoleaux 1 Apr 2015 15:22Z <FROGGS> lizmat: We need to talk about CUR::Installation and the way that non-existent dirs trigger that CURs do not appear in @*INC... (I "fixed" it in a rather scary way and want to fix it properly)
16:47 PerlJam TimToady: What's an "official distribution"?  (I seem to be having difficulty with the word "official" lately)  Is it just one that claims to be a "Perl 6 distribution"?
16:48 jercos The official distribution is the one that gets handed around at the office, right? :p
16:49 TimToady it's official if it has any authority :)
16:51 dalek perl6-roast-data: 43afcd6 | coke++ | / (9 files):
16:51 dalek perl6-roast-data: today (automated commit)
16:51 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/43afcd69b5
16:51 PerlJam It makes it sound like there's some Perl6 godhead from which officialdom springs forth.  (and that interpretation only makes sense to me for the "Perl 6 standard")
16:52 PerlJam (and yes, this can be construed as a problem within my brain, but I'm slightly worried about the other brains that would agree)
16:53 lizmat joined #perl6
16:53 tony-o arnsholt: the 'act' method is in S17 under supplies
16:53 TimToady maybe we should ask the French Academy to nail down the official meaning of all these words...
16:54 lizmat maybe we should find a better wording instead of ridiculing an effort to make sense of the mess that  nobody else dared to touch
16:54 ab5tract maybe it would be helpful to move from "official" to "reference" distribution?
16:54 TimToady all words are squishy
16:55 TimToady and I don't think there's any ambiguity at the top end, really, since official distributions generally know they're official; it's the local site-wide stuff that might get stuck in PERL6LIB-land
16:56 ab5tract TimToady: indeed. All the more reason, though, to heed that tale about castles in the swamp.
16:58 TimToady the important thing is not so much the haggling about the words, but actually having and conveying an accurate notion of the boundary where identity becomes critical to correctness, and when a module crosses that boundary
16:58 TimToady and certainly this is something to be worked out over time, since it's probably impossible to define accurately in advance
16:59 mr-foobar joined #perl6
16:59 TimToady in a sense, git errs on the side of giving everything an exact identity right from the start, even dev stuff
16:59 * [Coke] finds "standard perl 6 library" confusing wording since that can be taken to mean "what is shipped with a p6 implementation"
17:00 * [Coke] is probably slightly behind backlog, apologies.
17:00 TimToady hence the parenthetical remark to expand
17:01 molaf joined #perl6
17:01 PerlJam maybe S11:668 needs a similar parenthetical, or a link to a more comprehensive explanation that has yet to be written  :)
17:01 TimToady at some point it all becomes tl;dr without achieving much more clarity...
17:02 yqt joined #perl6
17:03 TimToady the intent is to push the immutable identity boundary as close to development as possible, though we probably can't take the git approach of driving all the way down to the floor
17:03 ab5tract TimToady: reading your the clarification of "standard Perl 6 library", I get the more of a sense that you mean 'everything coded in Perl 6' -- . o ( call it the 'Perliverse' ? )
17:04 ab5tract where 'everything coded in Perl 6' necessarily includes not only the local/site environment, but anything which might be conceivably added to that environment
17:04 dalek rakudo/nom: d17c404 | lizmat++ | docs/release_guide.pod:
17:04 dalek rakudo/nom: It's all tl;dr, won't have time
17:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d17c4043dd
17:05 TimToady anything that might be shared and then reshared must have an appropriate identity to prevent accidental semantic action at a distance
17:05 PerlJam I'm mostly just worried about the meme that "official" means "Larry Wall said it was so" that seems to continue to pervade that populace.  To me, "official" should mean 'conforms to an agreed upon interface' or something like that.
17:07 ab5tract PerlJam: then in a sense you could say 'conformant' or 'idempotent' ...
17:07 PerlJam (and clearly, identity would be part of the "interface" :)
17:08 TimToady I can't think of a good word that means "blessed by the authority in question" other than "official", but maybe it just requires more coffee
17:08 RabidGravy joined #perl6
17:11 TimToady the problem is that it's a circular definition; what we're trying to do is to get authorities to authorize things when they ought to, and not send ambiguous things out into the wide world, because that's a big source of accidential genericity
17:12 ab5tract TimToady: but what is 'the authority' WRT the DarkPAN? Perl 6 is pupating in highly distributed times.
17:12 ab5tract isn't the 'authorities who authorize' essentially the module writers who conform to the interface?
17:12 PerlJam ab5tract: there's no 'the authority', there's many of them.
17:13 ab5tract PerlJam: it was intended as a leading question :)
17:13 TimToady my parenthetical remark was intended to indicate that dark authorities still should consider this issue of accidentally mutating the language as well
17:14 TimToady it's like a contract, yes
17:14 ab5tract *module writers who choose to release their module into/according to this idempotent system
17:14 spider-mario joined #perl6
17:15 TimToady maybe there should just be a footnote on "official" linking back to this conversation :)
17:15 ab5tract so "official" really is circular here: "official because official therefore official"
17:15 ab5tract I think a more appropriate phrasing would be 'participating'
17:16 * TimToady circles the wagons :)
17:17 TimToady funny how that's also ambiguous, you can circle the wagons if you're a settler, or you can circle the wagons if you're attacking the settlers
17:18 PerlJam I think I'd elide the words "official" and "standard" and just say:  Whenever an authority (such as a CPAN author or a company) posts a compilation unit as part of a Perl 6 distribution, or enters it into any Perl 6 library, the module is required to declare its full name so that installations can know its unique, immutable identity, ...
17:18 lichtkind jnthn: for my talk 2 weeks ago i used your picture with our inofficial slogan : all VM belong to us
17:18 PerlJam i.e. "Perl 6" is what makes it "standard" or "official"
17:19 PerlJam (or conformant or idempotent)
17:19 TimToady ss/Perl 6 distribution/distribution of Perl 6 code/
17:19 PerlJam yeah, that too
17:21 rindolf joined #perl6
17:21 PerlJam This feels like one of those concepts that it's *really* important to make easily understood by the widest audience and so should be explained such that a child could understand
17:24 PerlJam (or, perhaps like many introverts, I'm *way* over-thinking it)
17:24 PerlJam (or, perhaps I'm prone to hyperbole ;)
17:24 * PerlJam lunch &
17:25 raydiak good morning #perl6
17:25 TimToady well, these are very slippery concepts, and I don't blame lizmat for blaming me for sniping at her when she's been trying to do something about it all along
17:26 TimToady if it's any help, in my head I was sniping at the words, not at lizmat++
17:27 geever joined #perl6
17:33 TimToady m: my @a; say @a.of; my $a = []; say $a.of; my %h; say %h.of; my $h = {}; say $h.of;
17:33 camelia rakudo-moar d17c40: OUTPUT«(Mu)␤(Any)␤(Mu)␤(Any)␤»
17:34 TimToady jnthn: do you see any particular reason not to make all of these Mu?  (other than that .^name then returns Str<324189768>[Mu] instead of Hash?)
17:34 TimToady oddly, there's no trouble with .^name and Array, which still returns Array
17:45 * TimToady assumes the Str<324189768>[Mu] problem is some kind of circularity and/or mixin cache issue
17:46 TimToady or somewhere it's assuming that Hash means Hash[Any]
17:50 ab5tract TimToady: I think you should consider the potential benefits of leaving the wagons be and throwing a collaborative pow wow instead. I wish it had happened in history more often, that's for sure.
17:52 joffrey joined #perl6
17:53 kjs_ joined #perl6
17:54 coffee` joined #perl6
17:54 Caymanboy joined #perl6
17:55 TimToady for good or ill, this is the pow wow
17:57 edward left #perl6
17:58 coffee` joined #perl6
18:07 Hor|zon joined #perl6
18:07 ab5tract Tim
18:07 ab5tract TimToady: https://gist.github.com/ab5tract/4dc7deb90ae8a75ecbcc
18:08 ab5tract some potential phrasings for the pow wow :)
18:08 TimToady ab5tract++ :D
18:12 ab5tract my personal favorite is: The CompUnit is said to be 'representing' if and only if
18:13 ab5tract because hip hop :)
18:15 johnjohn101 joined #perl6
18:15 yqt joined #perl6
18:17 Hor|zon joined #perl6
18:21 tony-o are you guys talking in reference to an article or a synopsis?
18:22 johnjohn101 hi perl6 people
18:24 skids o/
18:25 eli-se joined #perl6
18:26 TimToady tony-o: mostly about S11 and how to manage modules out in the wide world
18:27 timotimo ah it's tony-o :)
18:27 eli-se I wonder what this Easter thing is.
18:28 spider-mario joined #perl6
18:29 tony-o TimToady: i interpreted 'authoritive' to mean that the module was uploaded to that authority.  IE if i upload my module to panda: and cpan: wants to make that module available, then cpan: should defer to panda: (or the module author should upload the module to both places)
18:30 tony-o so if i uploaded CSV::Parser to panda:  - panda: is the authoritive because, as the author, i chose it to be my one true authoritive module provider
18:30 TimToady modules are uploaded *by* authorities, not *to* authorities
18:30 TimToady you name might be conferred by CPAN, but you are the authority, not CPAN
18:31 tony-o then i should go reread s11 with new context
18:31 tony-o last time i read it was like 8 months ago
18:31 [Tux] tony-o, /me would welcome generic feedback on https://github.com/Tux/CSV if you'd care :)
18:32 TimToady I guess I'd say that CPAN is an authority, but on user identities, not module identities
18:33 TimToady CPAN (or reasonable facsimile) does have to convey module identity properly, but that's also different from being a module name authority
18:33 tony-o is it expected, then, that CPAN share its modules with other apps, panda and the like
18:33 moritz yes
18:33 TimToady it doesn't matter, as long as module identity is maintained
18:33 tony-o so CSV::Parser:auth<tony-o>
18:33 tony-o is available from Panda, CPAN, etc.
18:33 moritz I fully expect panda to be able to use CPAN, and github, and other sources
18:34 TimToady what we don't want is different repos to offer different modules that appear to have the same identity
18:34 TimToady module identities need to be universal, like a URI
18:35 tony-o so you don't want CPAN to offer CSV::Parser:auth<tony-o> which differs (from a code perspective) from PANDA CSV::Parser:auth<tony-o>
18:35 TimToady not unless they are different versions :)
18:35 Aaron`J joined #perl6
18:35 tony-o both :vers<1.0> :-)
18:35 TimToady correct
18:36 TimToady and if there's a checksum to enforce it, so much the better
18:36 timotimo having gotten the user name "timo" on github gave me the doubtful honor of discovering random projects where people named timo are involved somehow
18:37 TimToady if it's a good enough checksum, you can use it as a proxy for the identity, as git does
18:37 timotimo i'd expect :auth<timo> would have to be prefixed with a name-authority in every case ... %)
18:38 TimToady where's your sense of self-authority? :)
18:38 tony-o how do you handle me uploading CSV::Parser, changing a couple of lines and uploading it to panda with same version?  is the 'authority' expected to be different as timotimo is saying about the prefix?
18:38 tony-o *should* you be able to do panda upload CSV::Parser:auth<cpan:tony-o>:vers<1.0> ?
18:39 tony-o and have panda go get the information from cpan ?
18:40 TimToady that's why it really needs a hash of some sort to remind you to change the version
18:40 tony-o i'd think cpan should complain about duplicate versions the way npm does
18:41 TimToady if you're going to put it multiple places, we probably need a staging area locally from which it is then uploaded to other places
18:42 TimToady presumably any two repos out in the world should be able to exchange metadata and cross check it, and raise an alarm if two supposedly identical entries are not identical
18:43 TimToady because one of them could well be a trojan horse if that were true
18:43 TimToady it's a big security issue, as well as a know-what-language-you're-running issue
18:43 moritz why does "let's sign our packages" immediately comes to mind?
18:44 tony-o lol
18:44 moritz speaking of which, I recently added instructions to the rakudo release guide that we at least sign our release tags
18:44 TimToady moritz++
18:44 moritz next up is probably signing the tarballs
18:45 moritz and doing a key signing party at the next big p6 hackathon, with all the hilarity that involves
18:45 spider-mario joined #perl6
18:46 tony-o i don't know, it doesn't seem like a bad idea to have a package manager defer to another authority for a download (or upload) and error out the user that the repo has changed from what it expected upon download
18:47 qman_ joined #perl6
18:47 tony-o i guess that gets hairy too though
18:47 moritz tony-o: think of the package manager a bit like a bittorrent client
18:47 tony-o moritz: that was what i was trying to convey -
18:48 moritz except that it doesn't necessarily need to talk bittorrent :-)
18:48 TimToady I guess my big point is that collective authority out in the world or in a distro's package manager does not absolve us of the duty to enforce identity and the level of modules
18:48 tony-o and doing a poor job, sinus infection season
18:48 TimToady *at the level
18:49 yvan1 joined #perl6
18:49 eli-se What's the recommended way to add something to @*INC?
18:50 moritz eli-se: depends
18:50 moritz eli-se: why do you need it?
18:51 eli-se in Perl 5 I do this: https://github.com/mill-lang/mill/blob/develop/millc/bin/millc#L2-L5
18:51 eli-se So I don't have to set PERL5LIB all the time while developing (and I don't want it in .zshrc).
18:51 tony-o eli-se: you can do just: use lib '../lib'
18:51 eli-se oh cool
18:52 tony-o that works in p5 too iirc
18:52 moritz yes
18:52 moritz as long as you execute it always from the same dir
18:52 moritz which is fine for development, usually
18:52 moritz for for installed things, you, well, install the modules too
18:52 eli-se nice, thanks
18:52 dalek rakudo/nom: 5e842d6 | moritz++ | docs/release_guide.pod:
18:52 dalek rakudo/nom: Instructions for signing the release tarballs
18:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5e842d6550
18:52 tony-o didn't notice it was a bin
18:53 eli-se well with __file__ preferably actually
18:53 eli-se sometimes I run it from the VM source dir
18:55 dalek nqp: 2641c50 | moritz++ | docs/release_guide.pod:
18:55 dalek nqp: Instructions for signing the release tarballs
18:55 dalek nqp: review: https://github.com/perl6/nqp/commit/2641c50ba2
18:57 qman___ joined #perl6
18:59 tony-o eli-se: for the __file__ thing you could: use lib "{$?FILE.IO.dirname}/../lib";
19:00 eli-se awesome
19:00 TimToady wow, spectests get really upset if you forget to itemize circumfix:<{ }>  :)
19:01 tony-o eli-se: check out the bottom of this page for some other cool variables http://doc.perl6.org/language/variables
19:03 moritz TimToady: I'm surprised the setting even builds
19:03 moritz usually when I try to change *anything* about how list iterations work, setting compilation hangs
19:05 muraiki joined #perl6
19:08 yqt joined #perl6
19:09 Qman___ joined #perl6
19:13 dalek rakudo/nom: a4fd3da | TimToady++ | src/core/List.pm:
19:13 dalek rakudo/nom: .invert must return a flat list of pairs
19:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a4fd3daaac
19:13 dalek rakudo/nom: 639f55d | TimToady++ | src/core/List.pm:
19:13 dalek rakudo/nom: start undistinguishing Parcel and List
19:13 * TimToady killed dalek!
19:13 dalek joined #perl6
19:14 TimToady maybe it'll report the rest?
19:14 TimToady maybe not?
19:14 spider-mario joined #perl6
19:21 [Coke] moritz: I don't have a gpg key, so I feel I shoud drop the next release.
19:25 dalek roast: 493af7f | TimToady++ | S (3 files):
19:25 dalek roast: keep up with .perl and []/{} changes
19:25 dalek roast: review: https://github.com/perl6/roast/commit/493af7f5c6
19:32 telex joined #perl6
19:32 * masak thinks, not for the first time, that he would like to set up a date between dalek and http://rosettacode.org/wiki/Find_Common_Directory_Path
19:33 TimToady [1,2,3][] and {:foo, :bar}{} look a little funny as a way to call nqp::decont though, so maybe we could recruit .<> as a standard way to decont anything
19:33 TimToady then .perl could output [1,2,3]<> and {:foo, :bar}<> instead
19:33 TimToady and we could also say $foo<> for a decont
19:34 * masak is not immediately a fan
19:35 TimToady a prefix would also work, if we could find one
19:36 TimToady except that a postfix is usually where you want it
19:36 TimToady and .decont is just too ugly
19:36 TimToady and just about as uninformative as <>
19:36 masak .decont is ugly mostly because it's just a made-up word
19:37 TimToady my internal bikeshedder has yet to come up with a good short word that means that
19:37 TimToady .contents is too long
19:37 TimToady and I'm trying to Omit Needless Words in .perl output anyway
19:38 masak *nod*
19:38 TimToady that was part of the motivation for :{}
19:38 PerlJam [Coke]: is creating a gpg too onerus (or maintaining one) because you don't ever use gpg ?
19:38 PerlJam *gpg key
19:38 masak I think my initial not-fan reaction to <> is because to me, <> is sugar for {}, so it makes no sense for it to sometimes mean []
19:38 TimToady at the moment we're cheating and not putting a .list on List to distinguish it from Parcel anymore
19:38 TimToady but those are converging anyway
19:39 TimToady well, S09 mixes {} and [] on the same entity anyway
19:39 TimToady but both of those Zen slices are simply implemented as nqp::decont
19:40 TimToady m: {:foo}<>
19:40 camelia rakudo-moar 5e842d: ( no output )
19:40 TimToady std: {:foo}<>
19:40 camelia std 28329a7: OUTPUT«ok 00:00 136m␤»
19:40 TimToady std: <>
19:40 camelia std 28329a7: OUTPUT«5===SORRY!5===␤Unsupported use of <>; in Perl 6 please use lines() to read input,␤  or ('') to represent the null string,␤  or () to represent the empty list at /tmp/JbzV0ygVs5 line 1:␤------> 3<7⏏5>␤Parse failed␤FAILED 00:00 134m␤»
19:40 masak sometimes I'm thinking "why don't other languages appear to have these kind of problems with distinguishing container stuff from decontained stuff?"
19:40 PerlJam masak: other languages have painted themselves into different corners :)
19:41 masak I never see people fretting over these issues in the Python or Ruby communities
19:41 masak neither on the implementor or end user side
19:41 masak PerlJam: yeah, I guess that's it
19:41 masak most languages do not offer both = and :=
19:41 masak and so the distinction is not so obvious, or maybe not even there at all
19:41 geekosaur in haskell and java, boxing/unboxing comes up
19:41 TimToady it all comes from wanting push @foo, @bar; to work right :)
19:42 masak geekosaur: I'm not talking about primitives versus wrapper types
19:42 TimToady similar principle
19:42 masak geekosaur: I'm talking about values versus containers
19:42 TimToady you're talking about optional levels of indirection
19:42 TimToady most languages don't give you the choice
19:43 FROGGS[mobile] joined #perl6
19:43 masak anyway, I fully agree with the underlying goal here: making things seem effortless :)
19:43 masak for example in the .perl output
19:43 LonelyGM joined #perl6
19:44 * TimToady has been tormenting himself the last couple days on behalf of the .perl user :)
19:44 masak :P
19:44 FROGGS[mobile] :D
19:44 * TimToady wasn't expecting my @ or % to have a different .of type than [] or {}...
19:44 * masak .oO( come for the compiler lore, stay for the convoluted in-jokes and in-puns based on in-memes ) :P
19:45 TimToady the road to purgatory is paved with melting snowclones
19:45 * masak read that as "melting semicolons"
19:46 masak come to think about it, semicolons kinds look like melting colons
19:46 TimToady sorta like semisweet chocolate
19:46 PerlJam TimToady: no circumfix for decont?  (kind of as irony :)
19:46 raiph joined #perl6
19:47 TimToady PerlJam: thought about that, or a decoration on existing circumfixes, but decided something orthogonal was preferable
19:47 johnjohn101 left #perl6
19:47 TimToady whether the generic version turns out to be <> or something else
19:48 PerlJam The only marginally constructive thing I have to say about <> is that, like masak, I'm not a fan. (yet)
19:48 masak I could've added "yet". TimToady can be persuasive.
19:49 masak but I don't buy the S09 argument. :)
19:50 masak I don't know that this is the right quesiton to ask, but it may push us towards a better optimum:
19:50 masak what would Perl 5 do?
19:50 masak if this design question somehow turned up in Perl 5, what syntax would they arrive at?
19:50 PerlJam .oO( the wrong thing )
19:50 masak well, yeah.
19:50 masak but what, in particular?
19:51 [Coke] PerlJam: I have no gpg key, correct. I suppose I could get one solely for issue rakudo releases.
19:52 Juerd You should get one, and once you have it, use it for a lot of things. But one thing is enough reason to create it.
19:52 masak isn't something like @$array_ref basically Perl 5's decont already?
19:52 masak but that's on variables only, I guess. not on literals like we're discussing now.
19:53 PerlJam [Coke]: I just made one.  It didn't take too long (generating enough entropy seemed to take a while).  But now I need to learn how to "port" it to the machines where I'm likely to use it (I assume I can just copy ~/.gnupg around)
19:54 TimToady thing is, in P5 @ guarantees you get an array, while it only guarantees Positional in P6
19:55 masak not that we use that a lot yet
19:56 lucasb m: say '!' x !$_ ~ 'foo' for True, False
19:56 camelia rakudo-moar 80afb7: OUTPUT«foo␤!foo␤»
19:57 masak lucasb: numifying Bool considered a code smell :)
19:57 PerlJam still cute though
19:57 lucasb :D
19:57 lucasb I learned this from a few commits ago
19:57 masak I think it was RandallSchwartz who said True numifying to 1 is damaging, and it should be 42 or something just so people don't do stuff like that
19:58 PerlJam masak: ->*[] could be considered a P5 decont perhaps
19:58 masak eeks
19:58 masak ok, forget I asked what P5 would do
19:58 PerlJam masak: and I think it was merlyn who said "Randal only has one ell"
19:58 TimToady so while we could use %() for the bare Hash, @() doesn't work for the bare Array
19:58 masak PerlJam: oops. you're right.
20:00 TimToady darn microwave wifi lag...
20:03 dalek rakudo/nom: 1602e1d | coke++ | docs/release_guide.pod:
20:03 dalek rakudo/nom: Drop release.
20:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1602e1d69f
20:04 [Coke] we could use a release manager for April. (note the new signing requirement)
20:05 FROGGS[mobile] what does he has to sing?
20:06 masak FROGGS[mobile]: anything, as long as it's opera.
20:06 FROGGS[mobile] :S
20:08 vendethiel- so, [..][] and {..}{} "decont" now
20:08 amdj left #perl6
20:08 TimToady they have for quite some time now
20:08 TimToady m: say [1,2,3].perl; say [1,2,3][].perl
20:08 camelia rakudo-moar 80afb7: OUTPUT«[1, 2, 3]␤[1, 2, 3][]␤»
20:09 TimToady star-m: say [1,2,3].perl; say [1,2,3][].perl
20:09 camelia star-m 2015.02: OUTPUT«[1, 2, 3]␤Array.new(1, 2, 3)␤»
20:09 TimToady but the repetition of the new form is suboptimal
20:09 TimToady so it'd be nice to have a standard decont postfix of some sort
20:10 TimToady m: say 42.item[].perl
20:10 camelia rakudo-moar 80afb7: OUTPUT«42␤»
20:10 TimToady m: say 42.item.perl
20:10 camelia rakudo-moar 80afb7: OUTPUT«42␤»
20:10 TimToady heh
20:10 TimToady m: say 42.item<>.perl
20:10 camelia rakudo-moar 80afb7: OUTPUT«42␤»
20:11 TimToady hmm
20:11 TimToady m: say []<>.perl
20:11 camelia rakudo-moar 80afb7: OUTPUT«[][]␤»
20:11 TimToady heh, already works :D
20:12 TimToady that proves we should make it work...er...
20:12 * vendethiel- 's not sure what it means to be "decont".
20:12 PerlJam Right now, I don't think I'd mind an ugly, but explicit .decont
20:12 vendethiel- it means I can't "foo = x"?
20:12 vendethiel- and call .VAR, and so on so forth
20:13 El_Che TimToady: I suspect a python/java/.net conspiracy: your fosdem talk is still not online :(
20:13 kjs_ joined #perl6
20:13 vendethiel- El_Che: are you sure it wasn't lost?
20:13 PerlJam vendethiel-: it's taking your presents out of the box and throwing the box away  :)
20:13 El_Che I'll mail them tomorrow to check the status
20:13 El_Che video was pretty problematic this edition
20:13 FROGGS[mobile] El_Che: Mine is also missing :/
20:14 vendethiel- El_Che: it really was :[. 100+ videos missing!
20:14 masak I agree with PerlJam about ugly-but-explicit .decont -- it seems the sanest choice right now, even if it's a bit too explicit for Perl ;)
20:14 vendethiel- does .decont warrant such a "huffmanized" postfix?
20:14 El_Che FROGGS[mobile]: sucks. Most talks were very nice
20:14 FROGGS[mobile] Also +1 for. decont from me
20:14 El_Che I saw all the perl talks :)
20:15 vendethiel- TimToady: do you have other usages for postfix [] and {} in mind?
20:15 vendethiel- or does it look like perl6 code will regularly need decont?
20:16 * vendethiel- hasn't needed it much, but might be doing something "incorrectly"
20:16 TimToady we've had Zen slices for interpolation for about 13 years now...
20:16 vendethiel- .oO( surely you had sigil variance in perl for longer :P )
20:17 masak I do like the Zen slices. very Perl 6.
20:17 * TimToady is opposed to .decont because it's too much noise in .perl, and because it's no more informative than something shorter that already works
20:17 PerlJam It's slightly more informative to the humans.
20:17 TimToady and it's quite visually distinct
20:18 Qman___ joined #perl6
20:18 FROGGS[mobile] .perl is not quite for humans
20:19 PerlJam If they have to read its output it is.
20:19 vendethiel- TimToady: it seems like I have to revisit how zen slices are useful once in a while :). (except for interpolating)
20:20 FROGGS[mobile] I also very often read HTML output
20:20 TimToady .[] is really a postfix form of @, and {} of %
20:24 jnthn TimToady: (make all of them Mu) I suspect that them coming out as Any is accidental rather than intended, so yeah, no problem wiht that.
20:28 TimToady vendethiel-: actually, tomorrow it will be 13 years and 11 months since A02 came out with the idea
20:28 vendethiel- TimToady: can I read a RFC on that, maybe?
20:28 TimToady jnthn: good, cause I already checked it in
20:29 TimToady http://www.perl6.org/archive/doc/design/apo/A02.html
20:30 TimToady oh wait, that was in an Update:, so it was some later than that
20:33 TimToady but today is the 14th anniversary of A01, which does talk about sigil invariance
20:34 jnthn TimToady: heh
20:34 * jnthn finally caught up with backlog at least
20:36 vendethiel- :D
20:38 dalek rakudo/nom: d4fd249 | TimToady++ | src/core/ (2 files):
20:38 dalek rakudo/nom: switch to .<> as more visually distinct decont
20:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d4fd249cab
20:39 dalek roast: ad98ada | TimToady++ | S32- (2 files):
20:39 dalek roast: fix .perl roundtrip tests that use decont
20:39 dalek roast: review: https://github.com/perl6/roast/commit/ad98ada7a4
20:44 TimToady m: my @a; say @a.of; my $a = []; say $a.of; my %h; say %h.of; my $h = {}; say $h.of;
20:44 camelia rakudo-moar 1602e1: OUTPUT«(Mu)␤(Mu)␤(Mu)␤(Mu)␤»
20:44 TimToady yay for consistency
20:46 TimToady nap &
20:50 Sqirrel joined #perl6
20:52 dalek specs: 3eeab76 | PerlJam++ | S11-modules.pod:
20:52 dalek specs: Excise "official" wording
20:52 dalek specs: review: https://github.com/perl6/specs/commit/3eeab7660c
20:55 bartolin_ [Coke]: you said earlier we'd need tests for reporting line numbers for failing tests. I tried something with shelling out and looking of the output. since I'm not sure about that approach I didn't commit yet, but created a PR (56) for roast
21:01 kurahaupo1 joined #perl6
21:02 * vendethiel- feels sad soooo many videos are missing from fosdem :(
21:05 eli-se fosdamn
21:17 [Coke] bartolin_: ISTR test::util has a runner that could be used.
21:19 * masak .oO( lostdem )
21:20 raiph joined #perl6
21:20 vendethiel- hah!
21:21 bartolin_ [Coke]: do you mean "is_run"? I don't know if it's possible to run test files with that. will have to look at it -- but not today ...
21:21 fhelmberger joined #perl6
21:35 eternaleye joined #perl6
21:35 literal is there something up-to-date that has info similar to rakudo.git/docs/compiler_overview.pod ? that one doesn't mention MoarVM at all
21:36 eli-se Is there a more direct Perl 6 equivalent of shell {a..z}{a..z} other than $_ X~ $_ given 'a'..'z'?
21:37 mattp__ joined #perl6
21:37 eli-se (order is insignificant)
21:37 rhr_ joined #perl6
21:38 xinming_ joined #perl6
21:38 f3ew joined #perl6
21:39 pnu joined #perl6
21:39 raydiak joined #perl6
21:40 hobbs joined #perl6
21:42 tony-o you want a random a-z length 2 string?
21:42 tony-o m: (aa..zz).pick(1).say;
21:42 camelia rakudo-moar d4fd24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Ymm3Wn4H5O␤Undeclared routines:␤    aa used at line 1␤    zz used at line 1␤␤»
21:42 tony-o m: ('aa'..'zz').pick(1).say;
21:42 camelia rakudo-moar d4fd24: OUTPUT«xk␤»
21:43 tony-o m: ('aa'..'zz').pick(1).say;
21:43 camelia rakudo-moar d4fd24: OUTPUT«bs␤»
21:43 tony-o bs indeed perlbot
21:43 hoelzro joined #perl6
21:43 literal m: ('a'..'z').combinations(2).perl
21:43 camelia rakudo-moar d4fd24: ( no output )
21:43 literal output too long?
21:43 literal eli-se: anyway, that will give you all 2-element combinations
21:44 tony-o literal: you didn't "say" it
21:44 literal oh
21:44 literal m: say ('a'..'z').combinations(2).perl
21:44 camelia rakudo-moar d4fd24: OUTPUT«(["a", "b"], ["a", "c"], ["a", "d"], ["a", "e"], ["a", "f"], ["a", "g"], ["a", "h"], ["a", "i"], ["a", "j"], ["a", "k"], ["a", "l"], ["a", "m"], ["a", "n"], ["a", "o"], ["a", "p"], ["a", "q"], ["a", "r"], ["a", "s"], ["a", "t"], ["a", "u"], ["a", "v"], ["a…»
21:44 eli-se cool
21:44 tony-o if you want just one you can .pick
21:44 tony-o or if you wanted 5 you could .pick(5)
21:46 eli-se awesome!
21:46 literal hm, actually, combinations() won't give you aa and bb, etc, though
21:47 literal so tony-o's solution sounds better
21:52 b2gills m: say ('a'..'z').combinations(2)>>.join.pick(5);
21:52 camelia rakudo-moar d4fd24: OUTPUT«px lz tv dx ho␤»
21:53 tony-o m: (('a'..'z') x (0..9)).pick(2).say
21:53 camelia rakudo-moar d4fd24: OUTPUT«a b c d e f g h i j k l m n o p q r s t u v w x y za b c d e f g h i j k l m n o p q r s t u v w x y za b c d e f g h i j k l m n o p q r s t u v w x y za b c d e f g h i j k l m n o p q r s t u v w x y za b c d e f g h i j k l m n o p q r s t u v w x y za…»
21:56 colomon joined #perl6
21:58 eli-se joined #perl6
22:01 lucasb m: say ('a'..'z')[0..5].perl
22:01 camelia rakudo-moar d4fd24: OUTPUT«("a", "b", "c", "d", "e", "f")␤»
22:01 lucasb ^^ What is a more idiomatic way of getting just the first N elements from an list/array?
22:01 lucasb Also, how can I do a take, drop, take-while, drop-while in Perl 6?
22:02 literal m: say ('a'..'z')[^5]
22:02 camelia rakudo-moar d4fd24: OUTPUT«a b c d e␤»
22:02 lucasb literal: oh, that's better
22:03 masak lucasb: yeah, `.[^5]` is our `take 5`
22:03 masak I guess `.[5..*]` would be our `drop 5`
22:04 masak `take-while` and `drop-while` are just a function definition away, each.
22:04 lucasb m: say ('a'..'z')[20..*]
22:04 camelia rakudo-moar d4fd24: OUTPUT«u v w x y z␤»
22:05 lucasb literal, masak: thanks!
22:07 masak m: sub take-while(&cond, @list) { @list.grep: { &cond($_) ?? True !! last } }; say take-while * < 10, 3..Inf
22:07 camelia rakudo-moar d4fd24: OUTPUT«3 4 5 6 7 8 9␤»
22:07 masak seems to work.
22:08 masak funny, my mind designed it with .map, but my fingers wrote it with .grep :)
22:09 lucasb that "last" will shortcut the grep?
22:10 lucasb I guess I mean "short-circuit"
22:10 lucasb :)
22:13 masak yeah, a .grep is implemented with a loop, which responds to a `last`.
22:22 timotimo so, are these the first commits towards GLR?
22:27 raiph joined #perl6
22:38 BenGoldberg joined #perl6
22:51 eli-se gonna write PCRE library for Perl 6
22:52 tony-o you can use p5 regex in p6
22:52 eli-se omg
22:52 eli-se how
22:53 masak one engine, two syntaxes.
22:53 tony-o m: say "a" ~~ :p5/a/;
22:53 camelia rakudo-moar d4fd24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Vz2X3uL27G␤Missing required term after infix␤at /tmp/Vz2X3uL27G:1␤------> 3say "a" ~~ :p5/a/7⏏5;␤    expecting any of:␤        prefix␤        term␤»
22:53 eli-se absolutely terrific!
22:54 masak the adverb needs to go on something
22:54 Juerd That's a relief. I can still pester everyone with unreadable regexes in Perl 6! :-)
22:54 literal m: say "a" ~~ m:p5/a/;
22:54 camelia rakudo-moar d4fd24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/KKeZYNtSG5␤Adverb p5 not allowed on m␤at /tmp/KKeZYNtSG5:1␤------> 3say "a" ~~ m:p5/a/7⏏5;␤»
22:54 tony-o m: say "a" ~~ /a/:p5;
22:54 camelia rakudo-moar d4fd24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3bbfrIKeeL␤You can't adverb that␤at /tmp/3bbfrIKeeL:1␤------> 3say "a" ~~ /a/:p57⏏5;␤    expecting any of:␤        pair value␤»
22:54 masak m: say "a" ~~ rx:p5/a/
22:54 camelia rakudo-moar d4fd24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/WURr9EMVw9␤Adverb p5 not allowed on rx␤at /tmp/WURr9EMVw9:1␤------> 3say "a" ~~ rx:p5/a/7⏏5<EOL>␤»
22:54 masak huh.
22:54 Juerd Who doesn't love a nice nested stack of (?>...)
22:54 tony-o it's something like that
22:54 masak m: say "a" ~~ /:p5 a/
22:54 literal m: say "a" ~~ m:P5/a/;
22:54 camelia rakudo-moar d4fd24: OUTPUT«5===SORRY!5=== Error while compiling /tmp/m102tZTNjD␤Unrecognized regex modifier :p␤at /tmp/m102tZTNjD:1␤------> 3say "a" ~~ /:p7⏏5 a/␤»
22:54 camelia rakudo-moar d4fd24: OUTPUT«「a」␤»
22:55 Juerd Silly colons, you don't nest! :P
22:55 tony-o m: say 'a' ~~ m:P5/./;
22:55 masak oh, capital P
22:55 camelia rakudo-moar d4fd24: OUTPUT«「a」␤»
22:55 tony-o duh
22:55 Juerd masak: Yes, small p would be perl, the executable. It's just the language, so that's Perl... (Probably not the real reason, but it fits.)
22:55 BenGoldberg p56: say 'a' =~ /./;
22:55 yoleaux 30 Mar 2015 02:23 EDT <TimToady> BenGoldberg: see http://irclog.perlgeek.de/perl6/2015-03-30#i_10360515 and following
22:55 camelia p5-to-p6 : OUTPUT«say('a' ~~ m:P5!.!)␤»
22:56 masak Juerd: I buy that.
22:56 eli-se m: say '#(foo #(bar) baz)' ~~ m:P5:s/[ \n]|#(\((?:(?-1)|.)*?\))|#.*?\n/
22:56 camelia rakudo-moar d4fd24: OUTPUT«「#(foo #(bar)」␤ 0 => 「(foo #(bar)」␤»
22:56 tony-o the perl6 regex is much nicer after having forced myself to use it for a while
22:56 Juerd m: say "foo".Perl;  # bug!
22:56 camelia rakudo-moar d4fd24: OUTPUT«No such method 'Perl' for invocant of type 'Str'␤  in block <unit> at /tmp/2qvds03oC9:1␤␤»
22:56 eli-se meh
22:56 eli-se m: '#(foo #(bar) baz)' ~~ m:P5:s/[ \n]|#(\((?:(?-1)|.)*?\))|#.*?\n/; say $<>
22:56 camelia rakudo-moar d4fd24: OUTPUT«「#(foo #(bar)」␤ 0 => 「(foo #(bar)」␤»
22:57 * Juerd looks up (? ...)
22:57 Juerd Argh
22:57 Juerd (?-...)
22:57 eli-se recursive backreference
22:57 eli-se to relative group -1
22:57 Juerd Ah
22:57 BenGoldberg TimToady++
22:58 BenGoldberg .ping
22:58 yoleaux There is no ping command; nor can this be construed as a response.
22:58 Juerd I think I've even used it once.
22:58 BenGoldberg .tell TimToady TimToady++
22:58 yoleaux BenGoldberg: I'll pass your message to TimToady.
22:58 eli-se Can you use all Perl 5 modifiers with m:P5? such as /s and /x and /g
22:59 tony-o iirc you have to :x:g them
22:59 eli-se nice
22:59 tony-o m: say "a" ~~ m:P5:g/./;
22:59 camelia rakudo-moar d4fd24: OUTPUT«「a」␤»
23:01 Juerd eli-se: I don't know if you can use them as modifiers, but if not, there's (?...:...) for most of them.
23:01 eli-se right
23:06 eli-se brb; gonna sleep
23:07 Sqirrel joined #perl6
23:08 jdv79 p5 p6 perf diff on my parse heavy code seems more like 3 orders of mag now.  did something slow down?  p5 is ~44ms and p6 is ~3.2s
23:09 tony-o [Tux]: what kind of feedback are you looking for on the csv bench?
23:12 Sqirrel joined #perl6
23:12 skids joined #perl6
23:22 tony-o jdv79: ouch
23:24 jdv79 i'm waiting for the glr.  idk.
23:24 jdv79 :(
23:25 KCL_ joined #perl6
23:25 tony-o glr?
23:25 jdv79 most of the time seems to be spent in listy things
23:25 tony-o oh
23:25 jdv79 gimme, reify, etc...
23:25 jdv79 the code is pretty simple
23:25 jdv79 my code i mean
23:26 timotimo jdv79: we've recently lost inlining of many blocks at the moarvm level, but it shouldn't have caused a gigantic slowdown
23:26 skids is the SVG ecosystem module panda install broken for other people, or just me?
23:27 * timotimo goes towards bed
23:27 jdv79 ok
23:34 tony-o panda install SVG
23:34 tony-o oops
23:34 tony-o skids: built and installed for me
23:39 skids Hrm.  I get a "no STable" and it tries to blame XML::Writer for being old, but panda install XML::Writer works fine, and doing so does not fix things.
23:40 tony-o what does your $PATH look like
23:41 skids Oh, I;ve got rakudobrew's path in there, forgot I was in that subshell, retrying.
23:42 skids nope same result.
23:43 skids Hrm maybe I have to get a new panda into my local install dir.
23:44 tony-o yea you might have a manual perl6 and rakudobrew panda or other way around from your path
23:44 tony-o which perl6 ; which panda ;
23:45 tony-o that might give some hints
23:45 skids Yeah panda is weeks old.  Because rakudobrew doesn't support installing it anywhere but in-tree
23:46 masak 'night, #perl6
23:46 skids o/
23:56 aborazmeh joined #perl6
23:56 aborazmeh joined #perl6
23:58 raiph joined #perl6
23:59 Sqirrel joined #perl6

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

Perl 6 | Reference Documentation | Rakudo