Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-09-04

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:01 lizmat so what is the status on Proc::Async wrt ".start" and ".finish" ?
00:04 japhb kbenson just submitted the perl6-course deck to HN.  Anyone with an account there that would like to upvote, I guess now is the time.  :-)
00:04 japhb https://news.ycombinator.com/item?id=10168170
00:07 japhb Looks like there's a post on https://www.reddit.com/r/perl6
00:07 japhb *also
00:07 colomon joined #perl6
00:07 japhb Apologies for the rah-rah, but this really feels like one to advertise
00:08 colomon upvoted
00:08 colomon and now I’ll actually look at it.  ;)
00:09 colomon this was what was going on Saturday while we were hackathoning?
00:11 dalek roast/glr: ccb5d4e | skids++ | S32-list/seq.t:
00:11 dalek roast/glr: Add a cacophony of slice assignment tests involving Seqs
00:11 dalek roast/glr: review: https://github.com/perl6/roast/commit/ccb5d4e620
00:20 colomon joined #perl6
00:31 japhb masak++  # http://masak.org/carl/yapc-eu-2​015-interesting-times/talk.pdf
00:32 japhb That one was definitely like " snuggling up with your
00:32 japhb favorite cozy language, Perl 6."
00:39 dha joined #perl6
00:45 laouji joined #perl6
00:47 lizmat sleep&
00:48 tony-o is there a mechanism for react whenever process is idle?
00:50 abaugher joined #perl6
01:00 japhb tony-o: What is your definition of idle?
01:10 * pink_mist is now imagining whenever ... { } whenever ... { } else { #we're idle } :P
01:45 nits joined #perl6
01:46 ilbot3 joined #perl6
01:46 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
01:59 tinyblak joined #perl6
02:08 noganex_ joined #perl6
02:11 Guest34789 left #perl6
02:19 laouji_ joined #perl6
02:44 tinyblak joined #perl6
02:48 kaare_ joined #perl6
02:59 ShimmerFairy [Coke]: for the record, my change on that was just to match existing behavior. I'd prefer if you could do +"-:16<-42>" and it came out to 0x42 (double negation)  :)
03:22 ShimmerFairy joined #perl6
03:29 qnap``` joined #perl6
03:42 lizmat_ joined #perl6
03:43 tinyblak joined #perl6
04:16 tinyblak joined #perl6
04:33 Alina-malina joined #perl6
04:35 aborazmeh joined #perl6
04:35 aborazmeh joined #perl6
04:38 tinyblak joined #perl6
04:47 _itz http://pl6anet.org/stats/ (50000+ hits per month  last month)
05:10 mohij joined #perl6
05:24 dalek doc: d20da36 | paultcochrane++ | lib/Type/Temporal.pod:
05:24 dalek doc: Add an alarm clock example for sleep-till
05:24 dalek doc: review: https://github.com/perl6/doc/commit/d20da36ec4
05:45 domidumont joined #perl6
05:53 domidumont joined #perl6
05:58 [Sno] joined #perl6
06:01 diana_olhovik_ joined #perl6
06:13 FROGGS if there is anybody around with an osx box who would like to try a branch, please ping me
06:15 FROGGS bbi10
06:19 masak_venue joined #perl6
06:20 masak_venue good morning, #perl6
06:20 masak_venue T minus 10 minutes for nine++'s talk
06:20 RabidGravy joined #perl6
06:22 masak_venue 'If you go look at the Perl 6 FAQ, there's a section, "Why should I learn Perl 6?". It lists a grab-bag of language features, rather than a set of problems that Perl 6's new design can solve.'
06:22 masak_venue from https://news.ycombinator.com/item?id=10168170
06:22 masak_venue just wanted to flag that one up. seems we can do better on that FAQ answer.
06:23 masak_venue the whole HN thread is rather on topic and interesting, in my opinion.
06:23 masak_venue even though, as one might expect, a fair bit of it is "why Perl 6?"
06:24 vendethiel joined #perl6
06:27 masak_venue pink_mist: I think `whenever {} else {}` would be a non-good idea from a perf perspective
06:28 RabidGravy I think the headline could be "less boilerplate"
06:29 xdbr joined #perl6
06:32 masak_venue pink_mist: also, using `else` for something other than `if` -- or using it for loops at all -- feels a little too much like Python's questionable for/else
06:33 ShimmerFairy masak_venue: well, 'if' or 'when'  :)
06:33 masak_venue ShimmerFairy: right, but even `when` is just a funny kind of `if`
06:33 ShimmerFairy I meant to say 'with', oops
06:34 ShimmerFairy but still yes to what you said :)
06:34 lizmat joined #perl6
06:35 vendethiel masak_venue: I think for/else is a good idea, but I dislike python's version (I prefer one where else is invoked if no iterations were made)
06:35 masak_venue vendethiel: heh.
06:36 masak_venue vendethiel: I think at this point I'm of the (strange) opinion that Python's design choice is surprising/unintuitive but "right"
06:37 masak_venue "it didn't issue a `break`" is strictly more powerful than "it didn't iterate"
06:37 masak_venue also, the use case for it is "else (if we didn't find anything)", and "find anything" is usually associated with issuing a `break`
06:37 ShimmerFairy are there any cases where wrapping the loop in a conditional is really that much worse?
06:38 masak_venue yes-ish
06:39 masak_venue I mean, there are worse code smells out there, but you're teetering on breaking DRY when you do `if @things { for @things { ... } } else {}`
06:39 FROGGS joined #perl6
06:40 ShimmerFairy masak_venue: I can see why a break would be more powerful to do an else on, but there are phasers to be put in a loop, IIRC :) . An else-ish thing after a loop would be more useful for a loop not running at all
06:40 _mg_ joined #perl6
06:40 lizmat perhaps a NONE phaser ?
06:40 FROGGS morning
06:40 lizmat to be fired whenever we didn't do *any* iterations in a loop ?
06:41 ShimmerFairy mornin' FROGGS o/
06:41 lizmat FROGGS o/
06:42 masak_venue m: for [1, 2, 3], [] -> @things { unless (for @things { .say }) { say "no iterations" } }
06:42 GLRelia rakudo-moar 62e17b: OUTPUT«1␤2␤3␤no iterations␤»
06:42 camelia rakudo-moar e6f360: OUTPUT«1␤2␤3␤no iterations␤»
06:42 masak_venue I'm not sure how to do the "no break" thing idiomatically in Perl 6.
06:42 FROGGS lizmat: either that or allowing 'else' after loops :o)
06:43 masak_venue FROGGS: see backlog.
06:43 ShimmerFairy Interesting idea on the phaser, but that might be problematic, depending on what kind of performance gain we get from skipping looking in a loop's block
06:43 FROGGS masak: I did
06:43 masak_venue one problem would be that the NONE phaser would run inside a scope that wasn't entered.
06:43 lizmat relatedly, I think we might need the opposite of a "once" block
06:43 masak_venue (which is allowed, but a little uncomfortable)
06:43 lizmat a block that will execute always *except* the first time
06:44 ShimmerFairy I could also see something like 'if for @stuff { ... } else { ... }'
06:44 masak_venue lizmat: maybe we should call it a "nonce" block :P
06:44 lizmat masak_venue: the thought has crossed my mind  :-)
06:44 masak_venue or call it "NEVAR" or something
06:45 masak_venue "NOWAI"
06:46 ShimmerFairy while $condition { ... } meanwhile { ... }    :P
06:46 masak_venue ShimmerFairy: the VM is not "looking in a loop's block" in any relevant sense. it's just running code it was told to run.
06:47 ShimmerFairy yeah, I figured my performance concern probably isn't much of one in any case :)
06:47 masak_venue if that's a real worry, then you need a lower-level language
06:47 masak_venue but it probably isn't
06:48 ShimmerFairy masak_venue: based on my understanding, it might mean an extra subscripting call on QAST blocks in places to get to the proposed new phaser. the horror :P .
06:51 vendethiel masak_venue: seems like iffor / nonce kind a thing would be an easy macro to add anyway..:)
06:51 vendethiel .oO( did he just say "easy"? )
06:51 masak_venue vendethiel: yes, I think so
06:52 masak_venue modulo the usual "how to extend the language from a macro" open questions
06:53 ShimmerFairy masak_venue: to me, the first design problem that Perl 6 is there for is text processing, esp. text with non-trivial syntaxes (since grammars are soooooooooo awesome)
06:54 masak_venue I've been talking about it with TimToady++ a little during YAPC::Europe
06:55 masak_venue he has some ideas that might help
06:56 ShimmerFairy I'd be interested in hearing what he thinks P6 is best for solving :)
06:56 FROGGS m: say $*KERNEL.name # lizmat: that's darwin for you, right?
06:56 GLRelia rakudo-moar 62e17b: OUTPUT«linux␤»
06:56 camelia rakudo-moar e6f360: OUTPUT«linux␤»
06:57 lizmat $ 6 'say $*KERNEL.name'
06:57 lizmat darwin
06:57 lizmat FROGGS: indeed  :-)
06:57 FROGGS thanks :o)
06:57 RabidGravy it should be as there is a bit of code in Process.pm tjat depends on that
06:59 tinyblak joined #perl6
07:02 ShimmerFairy lizmat: by the way, that sorting thing I had trouble with on val()? Turns out, adding a simple check to see if there are any digits in the string brought 0.^methods.sort down from 90s to 25s :P (further improvements I've done have brought it down to the tens of seconds, still twice as long as before val)
07:03 ShimmerFairy I could push the branch if you're ever interested in testing its startup time now.
07:04 lizmat I won't have any time today...  tomorrow would be better for me
07:04 ShimmerFairy lizmat: ok. You don't have to, I'm just offering in case you're interested in doing further comparisons :)
07:04 lizmat I am  :-)   just not today  :-)
07:05 ShimmerFairy I'm also considering making a compile-time version of val() inside World.nqp or such, to handle strings with C<compile_time_value>s and perhaps free up some execution time :)
07:05 virtualsue joined #perl6
07:05 lizmat (/me is doing jnthn's talks this afternoon)
07:05 lizmat *talk
07:06 ShimmerFairy cool :)
07:10 tinyblak joined #perl6
07:10 telex joined #perl6
07:13 ShimmerFairy BTW, am I right in remembering that P6 _used_ to be the normal, direct successor to P5, until things morphed into the current sibling-like relationship between the two langs? (If so, I'd like to add that historical explanation to the FAQ)
07:15 FROGGS ShimmerFairy: that was the original idea, aye
07:16 darutoko joined #perl6
07:16 RabidGravy yeah, but it's likely that went out the window after 5.8.0 came out :)
07:16 ShimmerFairy Yeah, my understanding is "P6 started when P5 was in a slump, more work went into P5 after a while, now they're parallel-y organized, instead of serially" :)
07:17 FROGGS I can just guess but that is also what I am thinking
07:17 lizmat I have an opinion about this  ;-)
07:17 FROGGS *g*
07:17 cognominal joined #perl6
07:18 Heather joined #perl6
07:18 ShimmerFairy It's tempting for me to think "gee, people should've just contributed to P6 instead of giving up and going back to 5", but I assume rakudo wasn't so clearly the main impl to work on (or even existed) back then :)
07:18 Heather hi, Pugs is still being in development?
07:18 moritz Heather: no
07:18 moritz (unless you do it :-)
07:18 vendethiel Heather: hey :). no, sadly
07:18 ShimmerFairy Not really, though I did see a commit recently that at least made it run on newer systems :)
07:19 RabidGravy I think we should re-invent the origin story like they do with superhero movies
07:19 FROGGS Heather: long time no read!
07:19 Heather FROGGS hi
07:19 lizmat .oO( Reboot of $_ )
07:20 vendethiel Heather: do you want to make bikini run on pugs? *g*
07:21 Heather -_-' vendethiel I wish I can at least repair it
07:21 vendethiel Heather: did new idris break it?
07:21 Heather vendethiel yes
07:21 vendethiel aw :(
07:22 Heather vendethiel and error is as mystic as usual
07:22 vendethiel yes, that sounds idris-ish :-).
07:22 Heather vendethiel unless I will create yet another minimalistic reproduction
07:23 Heather vendethiel well... it's not alike mystic error this time, this time it's error inside error because it has no relation with that is really going wtong
07:23 vendethiel .oO( unification is both humanity's greatest strength, and its greatest weakness )
07:24 masak_venue hi Heather, welcome back
07:24 vendethiel I should get going, but anyway, Heather, you've contributed to Agda, Idris shouldn't be much harder :P.
07:25 Heather vendethiel agda refused my change! :)
07:25 Heather masak hi
07:26 Heather hell... rakudo installer is still being that kind...
07:28 lizmat what kind?
07:29 Heather lizmat it just unpack into folder you can't specify, without even adding it to path
07:29 Heather panda --version returns usage but doesn't tell version
07:29 lizmat well, I guess rakudo is still too modest wrt to global installation
07:30 ShimmerFairy moarvm also still doesn't default to /usr/local for linuxes, like any sensible compilable program :P
07:30 tinyblak joined #perl6
07:30 lizmat about a week ago, I added infix == eq eqv candidates for 2 Promises
07:31 lizmat the idea was that you would be able to say:
07:31 lizmat m: say (start { 42  }) == start 42
07:31 GLRelia rakudo-moar 62e17b: OUTPUT«True␤»
07:31 camelia rakudo-moar e6f360: OUTPUT«True␤»
07:31 lizmat in other words, the infix operator would block until both results are there, and then do the comparison
07:32 lizmat is this something that we would like to keep?
07:32 Heather pugs moved to stack :/
07:32 FROGGS it feels rather magical but I have not enough information to judge on that
07:33 ShimmerFairy lizmat: I feel like == and eq would probably want results, since they're coercive ops, but perhaps eqv is on the Promises themselves?
07:33 lizmat the example jnthn used in his talk, would basically become:
07:34 lizmat sub MAIN($file1, $file2) {
07:34 lizmat start { from-json(slurp($file1)) } eqv start from-json(slurp($file2))
07:34 lizmat ?? 'Files contain identical JSON'
07:34 lizmat !! 'Files contain different JSON';
07:34 lizmat }
07:35 ShimmerFairy lizmat: in the sense of avoiding a couple declaration lines beforehand (my $json'd1 = start ...; my $json'd2 = start ...; $json'd1 eqv $json'd2), that might be nice.
07:36 ShimmerFairy lizmat: but are there cases aside from the literal 'start' keyword that it might be helpful? I imagine "real" starts could be a too verbose to inline in an expression.
07:37 moritz my $same = [eqv] map start { from-json(slurp($_)) }, $file1, $file2
07:37 lizmat Proc::Async.start/finish returns a promise
07:37 moritz erm, the start should be inside the block, of course
07:38 lizmat anyway, I think I'll leave that out the presentation for now...  :-)
07:39 ShimmerFairy I don't think I mind comparsion ops being transparent for Promises, as long as working with the Promises themselves don't get too hard for however common it'd be to interact with those objects :)
07:44 Heather I can't read my own perl -_-'
07:46 Loren_ joined #perl6
07:52 dalek faq: e808a96 | ShimmerFairy++ | answers.md:
07:52 dalek faq: Add a bit to the "Why not rename it?" question
07:52 dalek faq:
07:52 dalek faq: Just a small historical explanation for why it has the name "Perl 6" in
07:52 dalek faq: the first place, since that would likely aid understanding of this
07:52 dalek faq: question :) .
07:52 dalek faq: review: https://github.com/perl6/faq/commit/e808a9647c
07:55 kjs_ joined #perl6
07:59 virtualsue joined #perl6
08:00 _itz_ joined #perl6
08:01 z448 joined #perl6
08:06 z448 joined #perl6
08:20 lizmat what was the backronym for "Cool" again ?
08:20 lizmat (it's not in S99)
08:21 ShimmerFairy <something> Object Oriented Loop is what I remember
08:28 jdv79 "Cool, also known as the Convenient OO Loop, is a base class for strings, numbers and other built-in classes that you are supposed to use mostly interchangeably." - http://doc.perl6.org/type/Cool
08:30 lizmat jdv79++
08:42 kjs_ joined #perl6
08:52 btyler_yapc joined #perl6
08:52 zakharyas joined #perl6
08:53 RabidGravy is there a thingy for testing whether some code made any warnings (whilst actually hiding the warnings preferably?)
08:56 cdc m: say '/etc/wgetrc'.IO.e
08:56 GLRelia rakudo-moar 62e17b: OUTPUT«True␤»
08:56 camelia rakudo-moar e6f360: OUTPUT«True␤»
08:56 cdc say '/etc/wgetrc'.IO.lines.hyper.map(* ~~ /<{'.'}>/).all.so
08:56 cdc m: say '/etc/wgetrc'.IO.lines.hyper.map(* ~~ /<{'.'}>/).all.so
08:56 GLRelia rakudo-moar 62e17b: OUTPUT«Cannot find method 'Any'␤  in whatevercode  at /tmp/pBrLk3Ugbr:1␤␤Incompatible MROs in P6opaque rebless␤  in any mixin at src/gen/m-Metamodel.nqp:1273␤  in whatevercode  at /tmp/pBrLk3Ugbr:1␤␤False␤»
08:56 camelia rakudo-moar e6f360: OUTPUT«Method 'hyper' not found for invocant of class 'List'␤  in block <unit> at /tmp/KKX587MC47:1␤␤»
08:57 btyler_yapc hi folks -- I found a repeatable segfault that I _suspect_ is trying to write to a closed socket: https://gist.github.com/kanat​ohodets/6642786a927c2616f6f2
08:57 cdc m: say '/etc/wgetrc'.IO.lines.map(* ~~ /<{'.'}>/).all.so
08:57 GLRelia rakudo-moar 62e17b: OUTPUT«False␤»
08:57 camelia rakudo-moar e6f360: OUTPUT«False␤»
08:57 btyler_yapc this happens with spesh, jit, and optimizations enabled or disabled. I'm happy to start trying to expose moar's async socket close to nqp if it seems like that's the right direction
08:58 Ven joined #perl6
08:59 FROGGS joined #perl6
09:00 cdc What does "Incompatible MROs in P6opaque rebless" ^^^ mean?  It appears only when using .hyper.
09:02 diakopter lol GLRelia
09:05 rindolf joined #perl6
09:07 moritz cdc: do you want it more specific than "bug"?
09:08 cdc moritz: I was not sure :)
09:08 moritz btyler_yapc: please opne a ticket (email to rakudobug@perl.org)
09:08 lizmat joined #perl6
09:10 moritz (and yes, debugging help is also appreciated :-)
09:10 z448 joined #perl6
09:11 btyler_yapc moritz: nine just suggested trying to confirm the write-after-close issue by sleeping before socket close, and what do you know, no segfault :)
09:13 moritz btyler_yapc: aye; but it shouldn't segfault :-)
09:14 btyler_yapc right, of course -- this was just debugging
09:15 btyler_yapc this was just to try to narrow down the segfault cause
09:18 andreoss joined #perl6
09:21 laouji joined #perl6
09:22 espadrine joined #perl6
09:23 laouji joined #perl6
09:25 andreoss m: my @z = 1,2,3; my @x = gather take |@z; say @x. perl
09:25 GLRelia rakudo-moar 62e17b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0dV8RAOH7o␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at /tmp/0dV8RAOH7o:1␤------> 1,2,3; my @x = gather take |@z; say @x. 7⏏5perl␤»
09:25 camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/EC0sdkOMF4␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at /tmp/EC0sdkOMF4:1␤------> 1,2,3; my @x = gather take |@z; say @x. 7⏏5perl␤»
09:25 andreoss m: my @z = 1,2,3; my @x = gather take |@z; say @x.perl
09:25 GLRelia rakudo-moar 62e17b: OUTPUT«[(1, 2, 3),]␤»
09:25 camelia rakudo-moar e6f360: OUTPUT«[1, 2, 3]<>␤»
09:25 laouji joined #perl6
09:25 andreoss which is correct?
09:26 moritz well, glr correctly implements the new semantics
09:27 laouji joined #perl6
09:33 zakharyas joined #perl6
09:43 larion joined #perl6
09:44 rmgk_ joined #perl6
09:46 andreoss can i specify with use v... ; to which version my code belongs?
09:47 moritz yes, but currently only 'use v6' is implemented (and possibly 'use v5' if Inline::Perl5 is installed, dunno)
09:47 andreoss i mean like use v6 'glr';
09:47 moritz nope
09:52 ShimmerFairy the glr branch is to be merged into nom Real Soon™, so it wouldn't be necessary for that specific thing in the future :)
09:52 ShimmerFairy And anyway, the 'v' pragma(?) is for Perl versions, not compiler versions.
09:54 RabidGravy and it doesn't really do much in P6 anyway
09:54 RabidGravy m: use v7
09:54 GLRelia rakudo-moar 62e17b: ( no output )
09:54 camelia rakudo-moar e6f360: ( no output )
09:54 ShimmerFairy As of now, at least, it's mainly useful for telling a Perl 5 compiler to back off :)
09:55 andreoss m: say v6 cmp v5
09:55 GLRelia rakudo-moar 62e17b: OUTPUT«More␤»
09:55 camelia rakudo-moar e6f360: OUTPUT«More␤»
09:56 ShimmerFairy m: use v5
09:56 GLRelia rakudo-moar 62e17b: OUTPUT«===SORRY!===␤Could not find Perl5 in any of:␤  file#/home/steve/.perl6/20​15.07.1-721-g62e17b4/lib␤  inst#/home/steve/.perl6/2015.07.1-721-g62e17b4␤  file#/home/steve/sandbox/perl6/​rakudo/install/share/perl6/lib␤  file#/home/steve/sandbox/perl6/ra…»
09:56 camelia rakudo-moar e6f360: OUTPUT«===SORRY!===␤Could not find Perl5 in any of:␤  file#/home/camelia/.perl6/2​015.07.1-215-ge6f3602/lib␤  inst#/home/camelia/.perl6/2015.07.1-215-ge6f3602␤  file#/home/camelia/rakudo-inst-2/share/perl6/lib␤  file#/home/camelia/rakudo-inst-2/share/per…»
10:04 zakharyas joined #perl6
10:07 virtualsue joined #perl6
10:08 kjs_ joined #perl6
10:13 RabidGravy I'm about to try to print something, there may be swearing and destruction
10:14 Heather left #perl6
10:27 jnthn lizmat: Not fully up on backlog, but: no, I think I like the only way to wait on a Promise is .result (blocking), await (efficient) and .Supply (reactive); I'd rather keep such things visible and spelled out, not have them implicit.
10:27 yoleaux 29 Aug 2015 21:28Z <laben> jnthn: can you check why "say \(Hash) ~~ :(*@a)" and "say \(List) ~~ :(*@a)" die with exception "Invocant requires an instance of type Hash|List, but a type object was passed." in the binder?
10:27 yoleaux 31 Aug 2015 21:38Z <timotimo> jnthn: when you're back, could you upload http://t.h8.lv/MoarVM-2015.08.tar.gz to moarvm.org?
10:27 yoleaux 3 Sep 2015 23:53Z <japhb> jnthn: http://jnthn.net/papers/2015-spw-perl6-course.pdf is fantastic!  Some variation on that needs to be part of a future "getting started" section on perl6.org.
10:28 jnthn lizmat: Otherwise it'll become a "list to remember"
10:29 lizmat jnthn
10:29 lizmat jnthn: ok
10:29 baest do perl6 have autoload?
10:31 btyler_yapc joined #perl6
10:33 btyler_yapc did some more fruitful digging on the segfaulty thing -- the handle is NULL by the time the write task takes place; it's clear that this isn't an issue of lacking nqp::asyncclose because closefh already maps to the right thing in moar for async sockets
10:34 rurban joined #perl6
10:36 lizmat m: class A { method FALLBACK($a) { say $a } }; A.foo    # baest  AUTOLOAD in Perl 6
10:36 GLRelia rakudo-moar 62e17b: OUTPUT«foo␤»
10:36 camelia rakudo-moar e6f360: OUTPUT«foo␤»
10:38 baest lizmat: thanks! I just saw the method CANDO, is that outdated?
10:40 masak_venue joined #perl6
10:40 masak_venue hey, #perl6, I wrote this: https://gist.github.com/masak/b84a87a694217c9508d6
10:40 masak_venue I was sad to see I got a scary exception when running it :/
10:40 masak_venue maybe someone can help me?
10:41 diegok -o/ masak_venue
10:41 masak_venue \o
10:41 lizmat baest: I think CANDO is still NYI
10:42 virtualsue m: say (1,2).WHAT
10:42 GLRelia rakudo-moar 62e17b: OUTPUT«(List)␤»
10:42 camelia rakudo-moar e6f360: OUTPUT«(Parcel)␤»
10:42 tinyblak joined #perl6
10:42 masak_venue I think "Cannot invoke this object" in this case is at the very least unexpected, and probably reportable as a bug
10:42 baest lizmat: Ok, but FALLBACK is pretty cool anyways, elegant and simple
10:42 lizmat S12:606
10:42 synbot6 Link: http://design.perl6.org/S12.html#line_606
10:43 masak_venue ok, it happens in the first .map
10:44 Ven joined #perl6
10:44 ldc joined #perl6
10:47 moritz m: constant nums = 1, 2, 3 ... Inf; say nums
10:47 GLRelia rakudo-moar 62e17b: OUTPUT«Cannot .elems a lazy list␤  in block <unit> at /tmp/jwYZbBpc4N:1␤␤Actually thrown at:␤  in block <unit> at /tmp/jwYZbBpc4N:1␤␤»
10:47 camelia rakudo-moar e6f360: OUTPUT«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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 8…»
10:49 masak_venue I've golfed it down to something that requires newlines.
10:49 masak_venue let me try to paste it here
10:50 masak_venue m: constant nums = 1, 2, 3 ... Inf;␤constant fizzbuzz = nums\␤    .map({ $_ %% 3 ?? "Fizz" !! $_ });
10:50 GLRelia rakudo-moar 62e17b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1J8VbjABI1␤An exception occurred while evaluating a constant␤at /tmp/1J8VbjABI1:2␤Exception details:␤  5===SORRY!5=== Error while compiling ␤  Cannot invoke this object (REPR: Null, cs = 0)␤  at…»
10:50 camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/kAAlvWKBSo␤An exception occurred while evaluating a constant␤at /tmp/kAAlvWKBSo:2␤Exception details:␤  5===SORRY!5=== Error while compiling ␤  Cannot invoke this object (REPR: Null, cs = 0)␤  at…»
10:50 masak_venue if I inline `nums`, the problem goes away
10:50 masak_venue if I remove the unspace, the problem goes away
10:50 masak_venue vewwy stwange
10:50 * masak_venue submits rakudobug
10:53 ShimmerFairy m: constant nums = 1; constant fizzbuzz = nums\␤.map({ $_ });
10:54 GLRelia rakudo-moar 62e17b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Y2BW2WrSV9␤An exception occurred while evaluating a constant␤at /tmp/Y2BW2WrSV9:1␤Exception details:␤  5===SORRY!5=== Error while compiling ␤  Cannot invoke this object (REPR: Null, cs = 0)␤  at…»
10:54 camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/VVtZHQ5EZS␤An exception occurred while evaluating a constant␤at /tmp/VVtZHQ5EZS:1␤Exception details:␤  5===SORRY!5=== Error while compiling ␤  Cannot invoke this object (REPR: Null, cs = 0)␤  at…»
10:54 ShimmerFairy masak_venue: a bit shorter :)
10:54 wtw joined #perl6
10:55 masak_venue thank you
10:55 ShimmerFairy m: my \nums = 1; constant fizzbuzz = nums\␤.map({ $_ });
10:55 GLRelia rakudo-moar 62e17b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/GsejRQtSaA␤An exception occurred while evaluating a constant␤at /tmp/GsejRQtSaA:1␤Exception details:␤  5===SORRY!5=== Error while compiling ␤  Cannot invoke this object (REPR: Null, cs = 0)␤  at…»
10:55 camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/J5ZF7NN3EU␤An exception occurred while evaluating a constant␤at /tmp/J5ZF7NN3EU:1␤Exception details:␤  5===SORRY!5=== Error while compiling ␤  Cannot invoke this object (REPR: Null, cs = 0)␤  at…»
10:55 masak_venue lunch &
10:56 ShimmerFairy m: my \nums = 1; nums\␤.map({ $_ });
10:56 GLRelia rakudo-moar 62e17b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4GMO_WE26U␤Variable '&nums' is not declared␤at /tmp/4GMO_WE26U:1␤------> 3my \nums = 1; 7⏏5nums\␤»
10:56 camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/u9FZZNPAsj␤Variable '&nums' is not declared␤at /tmp/u9FZZNPAsj:1␤------> 3my \nums = 1; 7⏏5nums\␤»
10:56 ShimmerFairy ^ that's probably related
11:03 RabidGravy printer restored to shelf, no-one was injured.
11:16 rurban joined #perl6
11:20 _mg_ joined #perl6
11:21 Ven .tell lizmat http://irclog.perlgeek.de/p​erl6/2015-09-04#i_11168004 http://design.perl6.org/S02.html#Undefined_types
11:21 yoleaux Ven: I'll pass your message to lizmat.
11:35 colomon joined #perl6
11:38 kjs_ joined #perl6
11:47 rurban joined #perl6
11:52 xinming joined #perl6
12:00 xfix joined #perl6
12:00 xfix joined #perl6
12:13 Ven joined #perl6
12:21 TimToady trying to make List into a tuple type doesn't work
12:21 TimToady (because it ends up forcing non-lazy trying to determine WHICH)
12:22 ShimmerFairy So we'd need a separate Tuple type if we wanted one, then?
12:24 TimToady m: prolly
12:24 GLRelia rakudo-moar 62e17b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/nlBK7doQzy␤Undeclared routine:␤    prolly used at line 1. Did you mean 'roll'?␤␤»
12:24 camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dSKxLGMuEE␤Undeclared routine:␤    prolly used at line 1. Did you mean 'roll'?␤␤»
12:25 TimToady oops
12:31 dalek rakudo/glr: 17411ef | TimToady++ | src/core/List.pm:
12:31 dalek rakudo/glr: List can't be Tuple
12:31 dalek rakudo/glr:
12:31 dalek rakudo/glr: We can't afford to have WHICH based on all the elements of List, for two
12:31 dalek rakudo/glr: reasons: it's slow, and its .elems is forcing eagerness that causes the
12:31 dalek rakudo/glr: self-reference check to bring on heat-death of the universe.
12:31 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/17411ef9f2
12:32 rurban joined #perl6
12:33 btyler_yapc joined #perl6
12:33 TimToady 'sides, it breaks one of my slides...
12:35 JimmyZ joined #perl6
12:38 FROGGS SDD++
12:45 sufrostico joined #perl6
12:46 * Ven notices he's started to use ?? everytime he wants to write a ternary, even in ruby...
12:46 * moritz in perl 5 too
12:48 FROGGS same here :S
12:48 timotimo yeah, ?? !! seems quite a bit nicer than ? :
12:48 FROGGS but more often I use ~ to concat stuff in P5
12:48 timotimo oh my ~.~
12:48 daxim unfilled array elements:  I know they stringify to the empty string and their type is Any, but what is their value?
12:48 moritz daxim: Any
12:48 timotimo daxim: their value is Any, too
12:49 moritz daxim: the type object
12:53 [Coke] m: my @a; @a[4]=3; say @a[1].WHAT;
12:53 GLRelia rakudo-moar 17411e: OUTPUT«(Any)␤»
12:53 camelia rakudo-moar e6f360: OUTPUT«(Any)␤»
12:57 daxim what's the design decision for making exists and deletes adverbs and not a method like kv?
12:58 jdv79 daxim: i have wondered that but didn't care enough to ask
12:59 jdv79 they seem like outliers
12:59 timotimo because we'd have to have delete_pos and delete_key
12:59 timotimo for things that behave like Match or Capture, i.E. things that have both positional and associative functionality
12:59 daxim can you give a concrete example?
13:00 timotimo i never can :P
13:02 FROGGS if there was a method called .exists instead of the adverb, you would call .exists on Any
13:02 FROGGS ... on any Any in fact
13:02 FROGGS so what if you store Any to a slot of an array? the slot exists then but would be the same Any as a slot that is made up for you because you asked for it
13:03 timotimo mhm
13:03 FROGGS and adverbs get passed to the method, like AT-POS for the postcircumfix []
13:03 FROGGS and this method can then properly check if a slot exists or not
13:04 FROGGS daxim: so in every case you want to talk to the method that is returning something instead of talking to the return value directly, you'd probably want adverbs
13:05 daxim is that the generalised explanation for the existence of adverbs?
13:06 timotimo a little bit
13:07 FROGGS daxim: put differently: adverbs are just flags to the sub/method they get applied on, so these subs/methods can do different stuff then usual
13:10 timotimo i'm not sure it helps daxim, though?
13:10 btyler_yapc joined #perl6
13:10 FROGGS I don't know :o)
13:11 daxim it is still a bit vague, but that's not the fault of your explanation, but my lack of experience.  I figure it will sink in later
13:12 ShimmerFairy daxim: our hashes and arrays don't have some sort of encapsulating type around values it returns, so you can't really define a method to go after the subscripting.
13:12 ShimmerFairy daxim: and when you think "I could just put a method before the subscript instead, to modify what the subscript does!", well, that's what adverbs are suited for. :)
13:12 timotimo ShimmerFairy: i don't think that's what daxim is suggesting, though. as i understand it, it's more like "why not @foo.exists(10) or %test.exists('hello')"
13:14 [TuxCM] joined #perl6
13:16 jdv79 imo adverbs stick out as an inconsistency or a rarity where the why is not obvious.
13:16 ShimmerFairy daxim: if what timotimo said is true, then in that case there's the argument that :exists and :delete are better for demonstrating the fact that you're basically subscripting, just something slightly different happens.
13:18 ShimmerFairy .exists(42) or .delete("foo") don't visually look like a subscript access, even though that's the main thing happening in those operations ("find this thing, but just tell me if it exists" / "find this thing, and delete it")
13:20 * [Coke] now controlls @perlhex
13:20 timotimo cool
13:20 timotimo friendly take-over! >:)
13:21 * [Coke] has no idea what to DO with it, mind.
13:21 timotimo we'll hopefully be able to help you with that
13:21 timotimo it's supposed to be for interesting/enlightening one-liners and snippets, right?
13:22 [Coke] Sure. :)
13:22 moritz ShimmerFairy, daxim, timotimo: $match.exists($key) wouldn't make it obvious if $match{$key}:exists or $match[$key]:exists is meant
13:23 skids joined #perl6
13:23 masak_venue joined #perl6
13:23 moritz and for things like IntStr (subclass of both Int and Str), a type-based distinction is impossible
13:23 ShimmerFairy ah yes, there's that critical detail as well :)
13:23 jdv79 you might be able to just pick random p6 rosetta snippets
13:23 masak_venue I have a question about http://rosettacode.org/wiki/Man_or_boy_test#Perl_6
13:23 timotimo i already said that! :)
13:23 ShimmerFairy Ah look, here's one now!
13:23 moritz also, we wouldn't get autoquoting from %h<key>>exists
13:23 masak_venue how come it works as stated, but not when I change `--$k` to `$k - 1` ?
13:23 jdv79 ha
13:23 moritz timotimo: yes, but I don't know if your point came accross
13:23 timotimo neither do i :S
13:24 masak_venue when I change it to `$k - 1` it hangs. and I don't immediately see why it should even be different.
13:24 masak_venue what am I missing? :)
13:25 * ShimmerFairy imagines a special P6 keyboard that just has «» keys, perhaps as supershift™+,/supershift™+.
13:25 timotimo neo2 has those :P
13:25 timotimo it has something very similar to supershift™
13:26 daxim in X you can use Compose out of the box, no need to learn a whole 'nother layout like neo
13:26 timotimo of course
13:26 timotimo but neo is amazing
13:26 hernanGOA joined #perl6
13:26 ShimmerFairy I use compose as well, perhaps the special keyboard is just a set-aside Compose key :)
13:27 timotimo it'd be pretty cool if other layouts got the "multiple layers" treatment neo2 has without rearranging all the basic letters
13:27 timotimo so it'd be much less of a re-learn for regular folks
13:27 ShimmerFairy (or as the config files would have it, a "Multi_key", which can almost fit into our use of the word "multi")
13:27 timotimo isn't it more like an adverb key? :P
13:28 ShimmerFairy a slang key, surely :)
13:28 daxim btw neo was designed before the author learned about https://duckduckgo.com/?q=ISO_LEVEL5_SHIFT    that's why its levels and resp. shift keys are so quirky
13:29 timotimo "quirky" meaning "doesn't work in java applications", right
13:29 timotimo ?
13:30 daxim ?
13:30 timotimo i don't think i understand what you mean :|
13:30 timotimo the first few results from that search are all "how do i get my level 5 arrow keys to work with $foo"
13:33 timotimo and yeah ... it's difficult to make that work across everything
13:33 timotimo QtCreator on windows, for example ... very frustrating
13:37 [Coke] The description at http://rosettacode.org/wiki/Category:Perl_6 could be updated to mention Christmas.
13:37 charsbar joined #perl6
13:39 muraiki joined #perl6
13:39 muraiki hihi
13:39 timotimo ohai
13:41 Ven_ joined #perl6
13:43 charsbar joined #perl6
13:46 cdc m: react { whenever supply { for "/etc/os-release".IO.lines { emit $_ }; done } { .say } }
13:46 GLRelia rakudo-moar 17411e: OUTPUT«PRETTY_NAME="Debian GNU/Linux 8 (jessie)"␤Useless use of emit in react  in any  at /home/steve/sandbox/perl6/rakudo/install/shar​e/perl6/runtime/CORE.setting.moarvm:1␤Useless use of emit in react  in any  at /home/steve/sandbox/perl6/rakudo/install/shar…»
13:46 camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ykCFEpuHxM␤Undeclared routines:␤    done used at line 1. Did you mean 'none', 'one'?␤    emit used at line 1. Did you mean 'exit'?␤␤»
13:47 cdc why does it^ work only for the first line?
13:49 cdc I mean, in this example, "emit" is not from the "react" block, it is from the "supply" block and should be used by "whenever".
13:50 [Coke] I think move the supply outside of the react. testing..
13:51 cdc it is already the case with my not-reduced code.
13:52 cdc my $s = supply { for "/etc/os-release".IO.lines { emit $_ }; done }; react { whenever $s {
13:52 cdc m: my $s = supply { for "/etc/os-release".IO.lines { emit $_ }; done }; react { whenever $s { .say } }
13:52 GLRelia rakudo-moar 17411e: OUTPUT«PRETTY_NAME="Debian GNU/Linux 8 (jessie)"␤Useless use of emit in react  in any  at /home/steve/sandbox/perl6/rakudo/install/shar​e/perl6/runtime/CORE.setting.moarvm:1␤Useless use of emit in react  in any  at /home/steve/sandbox/perl6/rakudo/install/shar…»
13:52 camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3NldpYeH3c␤Undeclared routines:␤    done used at line 1. Did you mean 'none', 'one'?␤    emit used at line 1. Did you mean 'exit'?␤␤»
13:54 timotimo huh, so the dynamic scope somehow gets messed up?
13:54 timotimo or the handler only fires once for some reason?
13:55 timotimo i'm not sure if we even expect this to work properly?
13:55 timotimo m: my $s = supply { emit 1; emit 2; emit 3; }; react { whenever $s { .say } }
13:55 GLRelia rakudo-moar 17411e: OUTPUT«1␤Useless use of emit in react  in any  at /home/steve/sandbox/perl6/rakudo/install/shar​e/perl6/runtime/CORE.setting.moarvm:1␤Useless use of emit in react  in any  at /home/steve/sandbox/perl6/rakudo/install/s​hare/perl6/runtime/CORE.setting.moarvm:1␤»
13:55 camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0QyO8_37T6␤Undeclared routine:␤    emit used at line 1. Did you mean 'exit'?␤␤»
13:55 timotimo i think we expect emit inside a supply { } only as a reaction to a whenever triggering something? perhaps? or something like that?
13:55 dalek specs: a71e379 | skids++ | S99-glossary.pod:
13:55 dalek specs: Add "list to remember" to glossary
13:55 dalek specs: review: https://github.com/perl6/specs/commit/a71e379211
13:56 timotimo as in, the first time the block inside runs, it's only for setup?
13:59 cdc .ask jnthn is http://irclog.perlgeek.de/p​erl6/2015-09-04#i_11168945 a bug or a misunderstanding on my part? Thanks in advance!
13:59 yoleaux cdc: I'll pass your message to jnthn.
14:00 RabidGravy m: react { whenever Supply.from-list("/etc/os-release".IO.lines) { .say }}
14:00 GLRelia rakudo-moar 17411e: OUTPUT«PRETTY_NAME="Debian GNU/Linux 8 (jessie)"␤NAME="Debian GNU/Linux"␤VERSION_ID="8"␤VERSION="8 (jessie)"␤ID=debian␤HOME_URL="http://www.debian.org/"␤SUPPORT_URL="http://www.debian.org/support/"␤BUG_REPORT_URL="https://bugs.debian.org/"␤»
14:00 camelia rakudo-moar e6f360: OUTPUT«NAME=openSUSE␤VERSION="13.2 (Harlequin)"␤VERSION_ID="1​3.2"␤PRETTY_NAME="openSUSE 13.2 (Harlequin) (x86_64)"␤ID=opensuse␤ANSI_COLOR="0;32"␤CPE_NAME=​"cpe:/o:opensuse:opensuse:13.2"␤BUG_REPORT_URL="https://bugs.opensuse.org"␤HOME_URL="https://…»
14:01 timotimo we can probably install a handler for EMIT around the initial creation of the supply or react block and give a better error message in any case
14:04 cdc timotimo: thanks! :)
14:04 timotimo all thanks should go to RabidGravy :)
14:05 cdc RabidGravy: thanks! :) too ;)
14:05 cdc however, I'm still wondering why "Supply.from-list" doesn't behave like "supply { for { emit } }" ...
14:09 n0tjack joined #perl6
14:11 RabidGravy the parser doesn't get to see the already compiled emit
14:11 timotimo hm?
14:12 Ven_ joined #perl6
14:12 RabidGravy the useless use of emit is in the grammar I think
14:14 PerlJam src/core/Supply.pm line 1065
14:18 jnthn cdc: Looks like a bug, probbly 'cus I implemented the whole lot supply/react/whenever in 6 hours on a plane... :)
14:18 yoleaux 13:59Z <cdc> jnthn: is http://irclog.perlgeek.de/p​erl6/2015-09-04#i_11168945 a bug or a misunderstanding on my part? Thanks in advance!
14:18 cdc jnthn: ok, not a big worry then :) Thanks !
14:19 * cdc would be capable to implement awesomeness in 6 hours too ...
14:19 PerlJam Is there a way (besides using tap) to say whenever $supply.is-done { do-something }  ?
14:19 jnthn PerlJam: whenever is a loop ;)
14:20 jnthn whenever $supply { LAST do-something() }
14:20 PerlJam doh!
14:20 PerlJam yeah, I keep forgetting that .  IT doesn't look loopy enough to me :)
14:20 jnthn for $seq -> $value { }
14:20 jnthn whenever $supply -> $value { }
14:20 jnthn ;)
14:21 timotimo ohai jnthn
14:22 jnthn o/ timotimo
14:23 cdc For information: RT #125987 Unexpected "Useless use of emit in react"
14:23 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=125987
14:23 andreoss` joined #perl6
14:24 btyler_yapc on the topic of whenever and react, I'm about to present this as a lightning talk at YAPC::EU: https://gist.github.com/kanat​ohodets/8ffb1a18ff04c80225cc
14:24 jnthn cdc: Thanks :)
14:24 khw joined #perl6
14:25 lizmat joined #perl6
14:25 jnthn btyler_yapc: cute :)
14:25 RabidGravy is this stuff fairly settled?  If so I'll stick it in the docs
14:25 jnthn RabidGravy: Yeah, and you may find my original gist on it informative
14:25 jnthn Though it's not all done and as I mentioned a moment ago was done on a pretty short timescale ;)
14:25 jnthn I'll be polishing :)
14:26 kjs_ joined #perl6
14:26 btyler_yapc same thing with IO::Select in perl5 also now in that gist (I gave a talk about event loop workings at SPW, and that was my simple example)
14:27 lizmat messages!
14:27 yoleaux 11:21Z <Ven> lizmat: http://irclog.perlgeek.de/p​erl6/2015-09-04#i_11168004 http://design.perl6.org/S02.html#Undefined_types
14:27 RabidGravy jnthn, cool, I haven't checked the original gist since before you implemented it :)
14:27 lizmat jnthn: I managed to do your 50 min talk in 25  :-(
14:27 lizmat good thing there were some questions...
14:28 RabidGravy lizmat, I always seemed to deliver talks in half the alloted time
14:29 jnthn lizmat: ...how?!
14:29 jnthn I overran my slot at SPW o.O
14:29 jnthn Apparently I waffle a lot :P
14:29 FROGGS joined #perl6
14:29 timotimo oh, waffles are great, though!
14:30 RabidGravy gaufres!
14:31 ShimmerFairy jnthn: you took all the extra time then, clearly! :P
14:31 lizmat jnthn: I just spoke too fast, didn't pace myself properly
14:31 lizmat I guess I'm a bit out of touch with presenting
14:32 lizmat was the first presentation for a large group I gave in a long time (a year to be precise)
14:32 yqt joined #perl6
14:33 jnthn lizmat: Still, good you filled the slot I had to vacate with something 6y :)
14:33 jnthn lizmat++
14:33 lizmat thank you  :-)
14:33 yqt joined #perl6
14:33 lizmat especially since DrForr's talk was cancelled due to his unfortunate fall
14:33 timotimo argh, i hope he gets well soon!
14:34 lizmat basically, he did an mst
14:34 timotimo so it was very loud?
14:34 lizmat no, it was very broken
14:34 lizmat the hip, then
14:35 lizmat daxim: if you really want to check for existence of a key in a hash and not use adverbs
14:36 lizmat m: my %h = a => 42; say %h.EXISTS-KEY('a')
14:36 GLRelia rakudo-moar 17411e: OUTPUT«True␤»
14:36 camelia rakudo-moar e6f360: OUTPUT«True␤»
14:36 lizmat m: my %h = a => 42; say %h.DELETE-KEY('a'); say %h
14:36 GLRelia rakudo-moar 17411e: OUTPUT«42␤␤»
14:36 camelia rakudo-moar e6f360: OUTPUT«42␤␤»
14:36 pink_mist 0_o that's suprising to me
14:36 pink_mist *surprising
14:36 lizmat but that won't work for slices
14:37 lizmat just for single values
14:37 lizmat it's basically directly using the underlying logic
14:37 pink_mist oh wait, it isn't surprising; I missed that you had a say in front of the delete
14:38 daxim good to know, "underlying" means where?
14:39 jnthn EXISTS-KEY is the low-level API a collection type actually implemented so the @foo{$x}:exists actually works
14:39 ShimmerFairy the default [] and {} implementations use methods like EXISTS-KEY or AT-POS as part of their logic, to make supporting those for your own classes easier
14:40 jnthn @foo{@keys}:exists calls .EXISTS-KEY on each key in the slice, for example
14:42 daxim anyone else bothered by the distortions of history in the first paragraph of <https://news.ycombinator.com/item?id=10168821>?
14:44 [Coke] "most of the core language developers were working on Perl 6" seems especially false.
14:44 RabidGravy m: class M is Hash { method EXISTS-KEY(|c) { say "boo"; nextsame; }}; my M $m = M.new; say $m{42}:exists; # for reference
14:44 GLRelia rakudo-moar 17411e: OUTPUT«boo␤False␤»
14:44 camelia rakudo-moar e6f360: OUTPUT«boo␤False␤»
14:45 jnthn daxim: I might still be if I'd not heard the line a thousand times and grown too thick a skin to care any more. :)
14:45 [Coke] in other news: people still read ycombinator?
14:45 diakopter thick++ skin++
14:45 [Coke] A wild diakopter++ appears!
14:45 kjs_ joined #perl6
14:45 * [Coke] waves
14:46 * diakopter particles
14:47 timotimo most of the core language developers were working on perl 6 !!!
14:47 timotimo cool!
14:47 RabidGravy nearer to 5.6.0 than 5.8.0
14:47 timotimo so in this parallel universe, perl 6 has already been past its "finished release" for the last 10 years
14:48 timotimo competing implementations of perl 6, with hatred and contempt between all of them
14:48 timotimo every team trying their best to swipe the rug from under the feet of the other implementing teams in order to grasp the golden perl 6 graal first
14:48 diakopter [Coke]: to answer your HN question: https://cs.stanford.edu/peop​le/karpathy/hn_analysis.html
14:48 rindolf joined #perl6
14:49 ShimmerFairy timotimo: I think someone threw the grail against the wall before the fights begun, though :P
14:49 timotimo and then, the perl 5 camp committed to regular releases, out of spite towards the perl 6 people, who became more and more foreign to them
14:50 jdv79 did someone say waffles?  i could do a few right now.
14:50 timotimo jdv79: look in front of you now.
14:50 timotimo do you have a waffle?
14:50 jdv79 i read hn all the time
14:50 timotimo wouldn't you be happier if you did?
14:50 jdv79 i do not
14:50 jdv79 sadly
14:50 diakopter [Coke]: also this https://porter.io/blog/hackernew​s-cheaters-catch-me-if-you-can/
14:50 jdv79 completely
14:51 RabidGravy no time for gofres there's beer ro be drunk
14:52 [Coke] huh.
14:54 inokenty joined #perl6
14:54 pat_js joined #perl6
14:59 Ven_ joined #perl6
15:02 [Coke] hoelzro: if I try #125977, I get Type check failed in binding &code; expected 'Callable' but got 'Hash'
15:02 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=125977
15:03 Averna joined #perl6
15:04 hoelzro [Coke]: ah, my bad; I should've posted my actual script
15:04 * hoelzro fixes it
15:04 [Coke] hoelzro: I added a "say 1" in there, segfaults fine. :|
15:05 [Coke] note that if I just use 1;, it completes and doesn't segfault.
15:06 njmurphy joined #perl6
15:06 [Coke] RT: 1,037 tickets again. :|
15:07 hoelzro [Coke]: the pointy block version should probably segfault; I just added it to the ticket
15:07 grondilu m: class A { has @!a handles <at_pos>; submethod build(:@a) {} }; say A.new(:a(my @ = 1))[0];
15:07 GLRelia rakudo-moar 17411e: OUTPUT«A.new␤»
15:07 camelia rakudo-moar e6f360: OUTPUT«A.new␤»
15:07 grondilu m: class A { has @!a handles <at_pos>; submethod BUILD(:@a) {} }; say A.new(:a(my @ = 1))[0];
15:07 GLRelia rakudo-moar 17411e: OUTPUT«A.new␤»
15:07 camelia rakudo-moar e6f360: OUTPUT«A.new␤»
15:08 kinslayer joined #perl6
15:10 zakharyas joined #perl6
15:13 * jnthn figures he's an hour or so's worth of energy to hack on something :)
15:14 jnthn Maybe like merging glr into nom :)
15:15 hoelzro dun dun dun
15:16 RabidGravy jnthn++ # plan! I've only got a few hours hacking to fix my modules before I off to Beefa
15:16 hoelzro then we can start removing deprecations =)
15:18 telex joined #perl6
15:20 rarara joined #perl6
15:20 grondilu m: class A { has @!a handles <at_pos>; submethod build(:@a) { @!a = @a } }; say A.new(:a(my @ = 1))[0];
15:20 GLRelia rakudo-moar 17411e: OUTPUT«A.new␤»
15:20 camelia rakudo-moar e6f360: OUTPUT«A.new␤»
15:20 grondilu m: class A { has @!a handles <at_pos>; submethod BUILD(:@a) { @!a = @a } }; say A.new(:a(my @ = 1))[0];
15:20 GLRelia rakudo-moar 17411e: OUTPUT«A.new␤»
15:20 camelia rakudo-moar e6f360: OUTPUT«A.new␤»
15:23 grondilu http://tinyurl.com/phq49fm
15:23 jnthn It's called AT-POS now, not at_pos
15:24 jnthn # Your branch is ahead of 'origin/nom' by 510 commits.
15:24 jnthn So commit!
15:24 RabidGravy wahay!
15:24 RabidGravy grondilu, -->
15:24 RabidGravy m: class A does Positional { has @!a handles <AT-POS>; submethod BUILD(:@a) { @!a = @a } }; say A.new(:a(1,2))[0];
15:24 grondilu oh OK, a deprecation warning for at_pos would be nice
15:24 camelia rakudo-moar e6f360: OUTPUT«1␤»
15:24 GLRelia rakudo-moar 17411e: OUTPUT«1␤»
15:25 grondilu I suppose that may explain why my Clifford module was broken
15:25 RabidGravy it never gets called so it can't be deprecated as it were
15:26 flussence should trait_mod:<handles> check .^can on the thing it's attaching to and throw a warning for things like that?
15:26 jnthn grondilu: It's been, like, months and months.
15:27 grondilu yeah sorry I haven't done any perl6 related stuff for quite some time.
15:30 jnthn grondilu: No probs; just noting there almost certainly was such a message until rather recently :)
15:30 jnthn bah, I did the spectest without merging glr into master in roast also...
15:33 jnthn std: class Foo { method bar { } }; Foo.new.bar:;
15:33 camelia std 28329a7: OUTPUT«5===SORRY!5===␤Illegal use of colon as invocant marker at /tmp/xoqG0_SJVe line 1:␤------> 3ass Foo { method bar { } }; Foo.new.bar:7⏏5;␤Check failed␤FAILED 00:00 138m␤»
15:33 jnthn std: class Foo { method bar { } }; Foo.new.bar: ;
15:33 camelia std 28329a7: OUTPUT«ok 00:00 136m␤»
15:33 jnthn "ass Foo" :D
15:34 GLRelia joined #perl6
15:34 GLRelia std : OUTPUT«Can't chdir to '/home/steve/std/snap': No such file or directory at lib/EvalbotExecuter.pm line 171.␤      EvalbotExecuter::_auto_execute(HASH(0x206fe38), "class Foo { method bar { } }; Foo.new.bar:;", GLOB(0x23ad250), "/tmp/5P6bBXa6If", "std") called at lib/EvalbotExecute…»
15:34 FROGGS what the
15:35 FROGGS what is that rude jnthn doing in here! :D
15:35 jnthn I love how the error started "Illegal use of colon"... :P
15:37 FROGGS *g*
15:37 jnthn Some spectest fallout with the merge, but I'm going to push it and we can clean it up together :)
15:38 dalek Heuristic branch merge: pushed 510 commits to rakudo/nom by jnthn
15:38 dalek Heuristic branch merge: pushed 276 commits to roast by jnthn
15:38 jnthn It's done! \o/
15:39 FROGGS ohh, is that the glr -> nom merge?
15:39 RabidGravy apparently
15:39 FROGGS \o/
15:40 jnthn Yes :)
15:40 RabidGravy jnthn++ # nothing like a spot of jfdi on a friday
15:41 FROGGS ohh a pro pos jfdi... I'm intending merging C++ support this weekend
15:41 jnthn Yeah, well, the backlogs were full of consensus this and what would jnthn do that...so I decided to jfdi :)
15:41 FROGGS it cannot hurt but it will let es get in in shape by playing with it...
15:41 jnthn FROGGS: +1, I've been fine with that merge for a good while :)
15:41 FROGGS yay!
15:42 FROGGS jnthn: AFAICT g++, clang++ and cl pass the sanity tests
15:42 RabidGravy FROGGS++ # groovetastic - I can take the shonky C wrapper out of the soundtouch module
15:42 FROGGS RabidGravy: ohh, that will mean that I'll get feedback :o)
15:43 jnthn I guess now I've done the merge I should be good and help clean up some spectests :)
15:44 FROGGS I'll hook in in about 3 hours, when the kids are in bed
15:49 rangerprice joined #perl6
15:54 dalek roast: 777fc21 | jnthn++ | S02-magicals/KERNEL.t:
15:54 dalek roast: Extra test for easier failure analysis.
15:54 dalek roast: review: https://github.com/perl6/roast/commit/777fc21f92
15:55 dalek rakudo/nom: 0802eec | jnthn++ | src/core/Kernel.pm:
15:55 dalek rakudo/nom: Add missing `flat` to fix signals test on Win32.
15:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0802eec8e9
15:55 jnthn That's one down :)
15:56 dustinm` joined #perl6
15:56 jnthn Ah, a bunch of the new failures are 'cus TimToady decided List.WHICH should go away. :)
15:58 lizmat :-)
15:58 lizmat I see 7
15:58 lizmat one of which is an OS X known issue
15:58 lizmat so we're really at 6  :-)
15:59 jnthn At least 3 are about the TimToady change
16:00 jnthn I guess I'll fix them and if we get a Tuple-y type in the future we just write tests for that
16:03 Loren_ sub MAIN(@files) { for @files -> $f { } }
16:04 dalek joined #perl6
16:05 ugexe sub MAIN(*@files) { for @files -> $f { } }
16:05 Loren_ sub MAIN(@files) { for @files -> $f { say $f; } } > merge.pl , I use like this ./merge.pl something.txt, but it's not working
16:05 grondilu hang on.  Has the GLR just happened?
16:05 jnthn grondilu: yes
16:05 dalek roast: f12a825 | jnthn++ | S (2 files):
16:05 dalek roast: Fixes now List is back to being a reference type.
16:05 dalek roast: review: https://github.com/perl6/roast/commit/f12a82573a
16:06 grondilu jnthn++
16:06 jnthn (many other folks)++ made it possible :)
16:06 masak_venue joined #perl6
16:06 Loren_ Oh.. thks.
16:06 Loren_ ugexe, thks
16:06 FROGGS the next steps probably are to check all modules and try to find issues in the implementation
16:06 ugexe glad i could answer it before you could ask :)
16:06 grondilu so any early estimate on perf improvement or is that too soon?
16:06 FROGGS and after that looking into optimizations and cleanups
16:07 masak_venue m: sub foo( Str &b:(Bool --> Int) ) { say "alive" }; foo( sub (Bool) { 42 } )
16:07 GLRelia rakudo-moar 17411e: OUTPUT«Type check failed in binding &b; expected 'Callable[Str]' but got 'Sub'␤  in sub foo at /tmp/ubc2f2A6Cn:1␤  in block <unit> at /tmp/ubc2f2A6Cn:1␤␤»
16:07 camelia rakudo-moar e6f360: OUTPUT«Type check failed in binding &b; expected 'Callable[Str]' but got 'Sub'␤  in sub foo at /tmp/fBPFLs3lWv:1␤  in block <unit> at /tmp/fBPFLs3lWv:1␤␤»
16:07 FROGGS grondilu: it is too early
16:07 * masak_venue submits rakudobug
16:07 jnthn masak_venue: Wait, why?
16:07 masak_venue (it ignores the inner/Int return type directive)
16:08 jnthn Oh...
16:08 jnthn DIHWIDT :P
16:08 masak_venue I think it should fail by forbidding doubly declaring it like that
16:08 jnthn Yeah, there's precedent for trying to catch such thinkos
16:08 masak_venue jnthn: yes, lichtkind did it by mistake and didn't even realize.
16:08 jnthn m: my Int foo() returns Str { }
16:08 GLRelia rakudo-moar 17411e: OUTPUT«5===SORRY!5===␤Type 'Int' is not declared. Did you mean 'int'?␤at /tmp/kE7BRJqeZr:1␤------> 3my Int 7⏏5foo() returns Str { }␤Malformed my␤at /tmp/kE7BRJqeZr:1␤------> 3my Int 7⏏5foo() returns Str { }␤␤»
16:08 camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5===␤Type 'Int' is not declared. Did you mean 'int'?␤at /tmp/FG3lZlDRBh:1␤------> 3my Int 7⏏5foo() returns Str { }␤Malformed my␤at /tmp/FG3lZlDRBh:1␤------> 3my Int 7⏏5foo() returns Str { }␤␤»
16:08 masak_venue it would be nice to catch it and throw the perfect error message
16:08 jnthn m: my Int sub foo() returns Str { }
16:08 GLRelia rakudo-moar 17411e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/KWyJw7BEBS␤Redeclaration of return type for foo (previous return type was Int)␤at /tmp/KWyJw7BEBS:1␤»
16:08 camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/RNk5jWh_lG␤Redeclaration of return type for foo (previous return type was Int)␤at /tmp/RNk5jWh_lG:1␤»
16:08 jnthn Something like that
16:09 masak_venue yes, that one
16:10 Loren_ hehe.. I hope have a book 'perl6 program language'
16:10 Loren_ someday .
16:11 masak_venue Loren_: me too!
16:11 dalek roast: 18b7541 | jnthn++ | S32-io/IO-Socket-INET.pl:
16:11 dalek roast: Update socket test for GLR, deprecations.
16:11 dalek roast: review: https://github.com/perl6/roast/commit/18b7541559
16:11 masak_venue Loren_: it will happen -- question is how soon.
16:12 masak_venue Loren_: are you new here? if so, welcome!
16:12 masak_venue Loren_: (if you're a lurker, then welcome anyway!) :P
16:12 RabidGravy have any publishers expressed interest in making one?
16:13 dalek roast: 3a02f73 | jnthn++ | integration/advent2013-day07.t:
16:13 dalek roast: Another victim of List.WHICH removal.
16:13 dalek roast:
16:13 dalek roast: Happily, restoring the behavior in the original advent article.
16:13 dalek roast: review: https://github.com/perl6/roast/commit/3a02f7335b
16:13 masak_venue RabidGravy: I believe it's more about authors expressing an interest than about publishers expressing an interest
16:13 Loren_ masak_venue, Em, yes.
16:15 masak_venue :)
16:15 RabidGravy masak_venue, I dunno back in the just-pre-dotcom-boom days, they were actively canvassing for authors for Perl books
16:15 masak_venue Loren_: are you a fiver? are you at YAPC::EU?
16:15 Loren_ masak_venue,  No. That has a little difficult to learn perl6, I'm from china . Insied g.f.w.
16:16 Loren_ My English just so so..
16:17 RabidGravy give it a couple of hours and your English will be better than mine ;-)
16:18 Loren_ RabidGravy, thks, i will.
16:18 RabidGravy my what a lot of spectests
16:19 * PerlJam has an interest in writing a Perl 6 book
16:19 PerlJam Now ... if only I had the time to do it well.
16:19 RabidGravy have they multiplied in the last while or has my computer got slower
16:23 dalek rakudo/nom: 5db6cbd | jnthn++ | src/core/Capture.pm:
16:23 dalek rakudo/nom: Fix/optimize Capture.WHICH.
16:23 dalek rakudo/nom:
16:23 dalek rakudo/nom: Accidentally relied on List.WHICH, even though it didn't mean to.
16:23 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5db6cbdea7
16:24 masak_venue Loren_: 很高兴认识你!
16:24 masak_venue ^^
16:24 * masak_venue 's battery is running low
16:24 Loren_ masak_venue, i just a 'pi min'
16:24 Loren_ masak_venue, i just a 'pi ming'
16:24 jnthn masak_venue: So you use Chinese so you can make less keystrokes to say the same thing? :)
16:25 masak_venue jnthn: 是
16:25 Loren_ masak_venue, it can't display properly
16:26 Loren_ masak_venue, just use english
16:26 PerlJam heh
16:26 dalek rakudo/nom: 9c5cb50 | jnthn++ | src/core/Capture.pm:
16:26 dalek rakudo/nom: Toss a bogus flat in Capture.WHICH.
16:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9c5cb50e74
16:27 jnthn Spectest should be a good bit cleaner now.
16:27 jnthn (The fallout wasn't really much glr merge, and mostly List.WHICH getting removed and an unfortunate consequence that had for the GLR code)
16:28 RabidGravy screw it then, not going to re-spectest, just rakudobrew it all up
16:29 jnthn RabidGravy: We were only talking a dozen failures over several files anyways
16:29 jnthn Out of thousands of tests/files that ain't bad
16:30 moritz m: say <a b> === <a b>
16:30 GLRelia rakudo-moar 17411e: OUTPUT«False␤»
16:30 camelia rakudo-moar e6f360: OUTPUT«True␤»
16:30 RabidGravy yeah, I'd already started running it before you fixed them
16:30 jnthn On HEAD that is now False
16:30 jnthn Guess camelia is behind
16:31 moritz glr is gone?
16:32 RabidGravy gone, gone, gone
16:33 jnthn moritz: Aye, merged
16:33 jnthn GLRelia++ can also be wished a fond goodbye too :)
16:34 GLRelia was kicked by moritz: GLRelia
16:34 moritz :-)
16:34 jnthn I'm not sure that was fond :P
16:34 jnthn Effective, however :)
16:34 moritz it was a very fond kick, with no rudness whatsever in the message :-)
16:36 jnthn I need to have another whack at Windows-specific issues in spectests, not to mention some further S17 flakiness work, but run I just did looked alright
16:37 RabidGravy looks like most of my fallout is the done -> done-testing thing whch ain't no glr thang
16:38 moritz yes, I think I fixed my modules, and submitted one or two pull requests for that
16:38 moritz but the ecosystem isn't small anymore :/
16:40 RabidGravy Ooh and a Parcel
16:41 ldc left #perl6
16:42 RabidGravy and a Parcel in a Pair tree
16:43 moritz moritz@hack:~/p6/perl6-all-modules$ git grep --word Parcel | cut -d/ -f 1,2|sort -u|wc -l
16:43 moritz 16
16:43 hoelzro jnthn++ # glr merge
16:44 perl6_newbee joined #perl6
16:45 perl6_newbee hi all
16:46 Loren_ welcome to perl6
16:47 * jnthn rejects RT #125963 with a little explanation of why
16:47 jnthn That's one RT down :)
16:47 perl6_newbee Can someone explain how I can return two arrays from a sub? return (@array, @array1) does not work as expected. I know I could use sub irgendwas(@array is rw, @array1 is rw) but i want it the Perl way :-)
16:48 RabidGravy m: say ("a".."z","A".."Z").pick(15).join("");
16:48 camelia rakudo-moar e6f360: OUTPUT«riAXKWStlEcUyJH␤»
16:49 jnthn RabidGravy: That needs a .flat.pick after GLR I think
16:49 jnthn (I guess camelia ain't updated...)
16:49 RabidGravy yep, cheers
16:49 RabidGravy another one down ;-) only another 14 modules
16:50 jnthn heh, I should check my modules too
16:50 moritz perl6_newbee: I'm fairly certain that return (@a1, @a2) works; it's just a matter of what you do with it on the caller side
16:50 jnthn But I should probably cook us some dinner here first :)
16:50 jnthn And then probably relax, so I can more properly recover... :)
16:51 jnthn &
16:51 JimmyZ perl6_newbee: you can't do my(@c, @d) = (@a1, @a2)
16:51 domidumont joined #perl6
16:52 moritz but my ($c, $d) = thesub() works
16:53 perl6_newbee hmm, I have my (@array, @array1) = irgendwas() in my script. But I get always all stuff in the first array.
16:54 Loren_ m: sub test() { my @a1 = (1, 3); my @a2 = (2, 4); return (\@a1, \@a2); }; my @x = test(); say @x[0].perl; say @x[1].perl;
16:54 camelia rakudo-moar e6f360: OUTPUT«Potential difficulties:␤    To pass an array, hash or sub to a function in Perl 6, just pass it as is.␤    For other uses of Perl 5's ref operator consider binding with ::= instead.␤    Parenthesize as \(...) if you intended a capture of a single var…»
16:54 vinraec joined #perl6
16:55 Loren_ it's print '\([1, 3]<>)
16:55 Loren_ \([2, 4]<>)' in my perl6
16:56 lizmat m: my (@a,@b) = sub { (1,2,3),(4,5,6) }(); dd @a,@b
16:56 camelia rakudo-moar e6f360: OUTPUT«@a = [1, 2, 3, 4, 5, 6]<>␤@b = []<>␤»
16:56 lizmat hmmm
16:56 xfix joined #perl6
16:56 lizmat according to glr, that shouldn't have flattened, should it ?
16:57 JimmyZ m: my ($a,$b) = sub { (1,2,3),(4,5,6) }(); dd $a,$b
16:57 camelia rakudo-moar e6f360: OUTPUT«$a = 1␤$b = 2␤»
16:57 pink_mist is camelia glr-ified yet?
16:57 lizmat ah...  good point
16:58 lizmat $ 6 'my (@a,@b) = sub { (1,2,3),(4,5,6) }(); dd @a,@b'
16:58 lizmat @a = [(1, 2, 3), (4, 5, 6)]
16:58 lizmat @b = []
16:58 lizmat different, still not good, I think
16:58 perl6_newbee that looks like my problem
16:58 perl6_newbee what is 'dd'?
16:58 JimmyZ ./perl6-m -e 'my ($a,$b) = sub { (1,2,3),(4,5,6) }(); dd $a,$b'
16:58 lizmat yeah
16:58 JimmyZ $a = $(1, 2, 3)
16:58 JimmyZ $b = $(4, 5, 6)
16:58 [Coke] jnthn++ merging. I was not looking forward to that. :)
16:58 lizmat perl6_newbee: dd is tiny data dumper
16:59 lizmat m: my $a = 42; dd $a, "foo"
16:59 camelia rakudo-moar e6f360: OUTPUT«$a = 42␤"foo"␤»
16:59 Loren_ m: sub test() { my @a1 = (1, 3); my @a2 = (2, 4); return (\@a1, \@a2); }; my @x = test(); dd @x;
16:59 camelia rakudo-moar e6f360: OUTPUT«Potential difficulties:␤    To pass an array, hash or sub to a function in Perl 6, just pass it as is.␤    For other uses of Perl 5's ref operator consider binding with ::= instead.␤    Parenthesize as \(...) if you intended a capture of a single var…»
16:59 perl6_newbee ah I use always say xyz.perl
17:00 perl6_newbee cool
17:00 moritz fwiw Stage parse on the JVM-build dies with "java.lang.NullPointerException"
17:00 moritz which is why camelia isn't up-to-date
17:01 Loren_ The above code works fine in my perl6 'version 2015.05-198-gd6430c1 built on MoarVM version 2015.05-79-g458940f'
17:01 diana_olhovik_ joined #perl6
17:01 ugexe thats something like 2 months old
17:02 ugexe around when all the list changes started
17:02 perl6_newbee my script is running with rakudo-2015-06 on WIndows 10.
17:02 [Coke] and predates glr, no doubt.
17:02 Loren_ ugexe, yes, i'm not update it since i installed  .
17:04 [Coke] hoelzro: You still planning on ripping out the deps?
17:04 perl6_newbee I have WIndows 10 only at work. so next week I will try to figure out what happens
17:04 hoelzro [Coke]: yes, I was just about to start
17:04 [Coke] hoelzro++
17:05 * [Coke] tries a local jvm build..
17:05 ugexe m: say $*PERL.compiler.version
17:05 camelia rakudo-moar e6f360: OUTPUT«v2015.7.1.215.ge.6.f.3602␤»
17:06 ugexe thats old. latest you can just do return (@a1, @a2)
17:06 [Coke] those last 4 words should probably be one word.
17:10 Loren_ I will try that code when rakudo update finish.
17:12 btyler_yapc joined #perl6
17:18 * [Coke] confirms the jvm buildfail
17:20 dalek rakudo/nom: d977ee6 | hoelzro++ | src/core/Pod.pm:
17:20 dalek rakudo/nom: Remove deprecated Pod::Block.content
17:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d977ee6260
17:20 dalek rakudo/nom: e251aa7 | hoelzro++ | src/Perl6/Actions.nqp:
17:20 dalek rakudo/nom: Remove deprecated $*OS and $*OSVER
17:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e251aa7b3a
17:20 ugexe jvm has been failing for like 1.5 months i thought
17:21 dalek roast: 68f7764 | hoelzro++ | S02-types/deprecations.t:
17:21 dalek roast: Fix up deprecation warnings test
17:21 dalek roast:
17:21 dalek roast: $*OS and $*OSVER are no longer deprecated; they're just gone now
17:21 dalek roast: review: https://github.com/perl6/roast/commit/68f7764f4c
17:21 dalek roast: 6786fc8 | hoelzro++ | S17-lowlevel/lock.t:
17:21 dalek roast: Only skip low level lock test for RT #125977 on Moar
17:21 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=125977
17:21 dalek roast:
17:21 dalek roast: It works fine on JVM
17:21 dalek roast: review: https://github.com/perl6/roast/commit/6786fc8e84
17:22 lizmat YAPC::EU shutting down&
17:30 RabidGravy m: my @d := ".".IO.parent.dir
17:30 camelia rakudo-moar e6f360: ( no output )
17:31 RabidGravy is camelia not updated?
17:31 cognominal so, parcels are gone?
17:33 [Coke] cognominal: yes, gone
17:34 [Coke] (jvm) https://github.com/coke/perl6-roast-data​/blob/master/log/rakudo.jvm_summary.out - not failing everywhere. I confirmed it's failing on os x.
17:35 [Coke] RabidGravy: the e6f360 tells you if it is or not
17:35 [Coke] it's the sha1 used to build that rakudo-moar.
17:42 RabidGravy er, WTF does "Bytecode stream version too low" mean?
17:44 grondilu hum somehow I suspect my install does not work well:
17:44 grondilu $ perl6 --version
17:44 grondilu This is perl6 version 2015.07.1-728-g9c5cb50 built on MoarVM version 2015.07-108-g7e9f29e
17:44 grondilu ^that does not look very recent
17:44 grondilu m: say $*VERSION
17:44 camelia rakudo-moar e6f360: OUTPUT«Dynamic variable $*VERSION not found␤  in block <unit> at /tmp/QUAwXPdiFt:1␤␤Actually thrown at:␤  in block <unit> at /tmp/QUAwXPdiFt:1␤␤»
17:45 ugexe thats within the last hour?
17:45 grondilu yes
17:46 grondilu at least it's supposed to
17:46 ugexe it is for rakudo at least
17:52 sjn_phone_ joined #perl6
17:52 n0tjack joined #perl6
18:00 kbenson joined #perl6
18:00 moritz camelia doesn't update, because the rakudo-JVM build fails
18:03 kbenson ugexe: I just build with rakudobrew within the last 30-45 minutes: "This is perl6 version 2015.07.1-730-ge251aa7 built on MoarVM version 2015.07-108-g7e9f29e"
18:04 masak jnthn++ # glr merge
18:04 masak soooo....
18:04 masak ...when are we renaming 'nom' to 'master'? :)
18:04 kbenson was glr just merged?
18:05 masak yes
18:05 nine Woohoo!
18:05 moritz nine++ # doing a huge amount of the fixup work
18:06 n0tjack joined #perl6
18:06 kbenson then let me be the first to suggest there may be a regression somewhere :(
18:06 kbenson hopefully just in the p6doc module or its tests
18:07 kbenson https://gist.github.com/kb​enson/9f16328b11dad400a695
18:08 [Coke] we are trying to shake out ecosystem regressions, yes. bring 'em in.
18:12 hoelzro $*CWD = IO::Path.new(cwd()) # what's the recommended way to do this, now that cwd() is going away?
18:13 dalek Inline-Perl5: 9a4e8b0 | (Stefan Seifert)++ | / (4 files):
18:13 dalek Inline-Perl5: Adjust to the post GLR world
18:13 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/9a4e8b04ce
18:13 dalek Inline-Perl5: 78dc003 | (Stefan Seifert)++ | lib/Inline/Perl5.pm6:
18:13 dalek Inline-Perl5: Seem to need a sink() on Perl5Parent now as well
18:13 pyrimidine joined #perl6
18:13 nine Sorry dalek :/
18:13 dalek joined #perl6
18:14 muraiki yay glr merge jnthn++ nine++ everyone ++
18:14 nine Btw. Inline::Perl5 passes its own tests and the spec tests. I'm not sure if it needs further changes. Right now you often have to itemize a hash to avoid flattening which makes using Perl 5 modules from Perl 6 a bit weirder than I'd like.
18:17 nine Many Perl 5 APIs require you to pass a hash with arguments to emulate named arguments. Right now you have to write foo(${bar => 1}) in such cases
18:17 muraiki nine: yeah, almost all of our internal code uses named args
18:18 muraiki well, we use the: foo(bar => baz) form
18:18 muraiki and there are some weird cases where we foo({bar => baz})
18:18 muraiki but that was abandoned at some point in the last 15 years
18:19 muraiki I guess the latter form isn't uncommon in javascript ;)
18:20 domidumont joined #perl6
18:20 nine The latter form has the advantage that you get the "odd number of elements" warning in the caller's place.
18:20 nine That's why it's recommended at least by some.
18:20 muraiki good point. I never thought about that
18:21 nine Ok, out for dinner now.
18:21 muraiki looks like Log::Syslog::Native has an error running tests post-glr
18:24 dalek rakudo/nom: 686e9aa | hoelzro++ | src/ (2 files):
18:24 dalek rakudo/nom: Remove deprecated winner/more from Supply
18:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/686e9aa733
18:24 dalek rakudo/nom: 03b5a0a | hoelzro++ | src/core/ (5 files):
18:24 dalek rakudo/nom: Removed a bunch of deprecated I/O constructs
18:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/03b5a0abb5
18:24 dalek roast: 5c6d958 | hoelzro++ | S02-types/WHICH.t:
18:24 dalek roast: Remove Proc::Status from WHICH check
18:24 dalek roast:
18:24 dalek roast: It has been removed with open(:pipe)
18:24 dalek roast: review: https://github.com/perl6/roast/commit/5c6d9581b6
18:24 pochi joined #perl6
18:24 n0tjack joined #perl6
18:25 * masak heads down to dinner
18:25 timotimo get down and dinner!
18:26 muraiki here's the failing Log::Syslog::Native test info https://gist.github.com/mu​raiki/fe68e78a0427c93ea3e0
18:26 z448 joined #perl6
18:27 muraiki although it's weird because neither test file reported any failures explicitly. is it because of "Parse errors: No plan found in TAP output" ?
18:33 n0tjack joined #perl6
18:36 skids joined #perl6
18:38 hoelzro I think that's all the deprecation removals I'll do for today
18:38 hoelzro let the ecosystem breathe a bit
18:40 ugexe muraiki: there is no plan, and the tests use 'done()' which no longer sets the plan (its done-testing() or something)
18:40 muraiki ugexe: that explains it. thanks!
18:43 n0tjack joined #perl6
18:54 sufrostico joined #perl6
18:54 flussence first glr fallout on my end (probably): panda now thinks "Text-Tabs-Wrap" isn't a valid module name and refuses to install it...
18:56 n0tjack joined #perl6
19:06 ugexe on a side note, Test::Corpus's META.info<provides> looks like it was incorrectly generated
19:07 flussence probably... I ought to redo all my META.info files by hand. Any docs for the file format?
19:08 ugexe S22
19:08 ugexe http://design.perl6.org/S22.html#META6.json
19:10 ugexe it says provides is optional, but i dont think it is anymore (or wont be in the future)
19:11 Ulti ohai
19:11 Ulti check out the latest comments https://gist.github.com/MattOates/c2e19​950f46d1a1c241a#file-timking_primes-p6
19:14 Ulti also the Stats module is GLR ready (in other news)
19:16 n0tjack joined #perl6
19:18 muraiki awesome!
19:20 muraiki wow, what a speedup
19:21 colomon joined #perl6
19:23 FROGGS ugexe: provides is optional in a sense that your dist might not ship packages/modules, but binaries or other resoures
19:24 Ulti yeah the best thing about it is it just DWIMs and isn't slow! so much more obvious what its doing than some of the other solutions
19:24 dalek doc: 44c6360 | muraiki++ | lib/Language/testing.pod:
19:24 dalek doc: done() has become done-testing()
19:24 dalek doc: review: https://github.com/perl6/doc/commit/44c6360568
19:24 dalek doc: cc499db | FROGGS++ | lib/Language/testing.pod:
19:24 dalek doc: Merge pull request #122 from muraiki/master
19:24 dalek doc:
19:24 dalek doc: done() has become done-testing()
19:25 dalek doc: review: https://github.com/perl6/doc/commit/cc499db310
19:26 pmurias joined #perl6
19:26 pmurias hi
19:27 dalek rakudo/cpp3: 73a46f6 | FROGGS++ | t/04-nativecall/ (3 files):
19:27 dalek rakudo/cpp3: try cl, g++ and clang++ to build/test C++ libs
19:27 dalek rakudo/cpp3: review: https://github.com/rakudo/rakudo/commit/73a46f639b
19:27 dalek rakudo/cpp3: 327bb6b | FROGGS++ | lib/NativeCall.pm:
19:27 dalek rakudo/cpp3: automatically guess C++ name mangler
19:27 dalek rakudo/cpp3: review: https://github.com/rakudo/rakudo/commit/327bb6bb4c
19:32 Ulti primes-naive-functional: ran in 0.007  wow o___O just the same minus the race
19:34 Ulti that's so much faster I better check its actually doing anything
19:34 flussence oh great, Text-Tabs-Wrap is actually broken by glr. Something for me to do :D
19:36 dwarring joined #perl6
19:36 Ulti nope its really doing it that much faster wow
19:37 jdv79 RabidGravy: what did you do to H::U?
19:37 jdv79 now i get test fails
19:37 dalek nqp: ac4a334 | FROGGS++ | tools/build/MOAR_REVISION:
19:37 dalek nqp: bump moar revision for C++ support
19:37 dalek nqp: review: https://github.com/perl6/nqp/commit/ac4a334f7e
19:37 RabidGravy it was working fine for me about an hour ago
19:37 Ulti once you go to far more load like 10000 as the max parallel comes online and does faster
19:38 RabidGravy I'll take a look when I have done with these other modules
19:39 FROGGS hmpf, I totally forgot that I have to port the C++ stuff to jvm before I can merge the NativeCall stuff in rakudo :o(
19:39 jdv79 does it work on glr?  i haven't updated in a couple days.
19:40 FROGGS .tell japhb I merged C++ stuff in moar, but have to port it to jvm before I can merge the rakudo/cpp3 branch... hopefully this happens this weekend
19:40 yoleaux FROGGS: I'll pass your message to japhb.
19:41 jdv79 i'll also look later.  dinner &
19:57 RabidGravy jdv79, some weird glr fallout but nothing I've touched recently
19:58 timotimo Ulti: what the hell?
19:58 timotimo that's amazing
19:59 timotimo but isn't "upto 1000" really small?
20:00 timotimo Ulti: also, loop labels are implemented in rakudo now
20:01 timotimo m: outer: loop (my $n = 0; $n < 10; $n++) { loop (my $m = 0; $m < $n; $m++) { next outer if $m == $n div 2; say "$n $m" } }
20:01 camelia rakudo-moar e6f360: OUTPUT«2 0␤3 0␤4 0␤4 1␤5 0␤5 1␤6 0␤6 1␤6 2␤7 0␤7 1␤7 2␤8 0␤8 1␤8 2␤8 3␤9 0␤9 1␤9 2␤9 3␤»
20:01 timotimo hm
20:01 timotimo not so simple to say if it's doing anything here %)
20:01 timotimo i think it is doing something.
20:06 Ulti timotimo: feel free to add to the gist :P I took those direct from Tim King's blog
20:06 timotimo oh
20:06 timotimo i thought that was just a typo of "timing" :D
20:07 Ulti yeah 1000 is small if you do 10000 the parallel grep is the bestest
20:07 timotimo ah, that's the post from many years ago?
20:07 Ulti yeah
20:07 Ulti where it took like 11 seconds
20:08 timotimo draw a time growth curve? :)
20:08 Ulti soooo 11 down to 0.007 seconds not too shabby!
20:08 timotimo kinda good
20:08 Ulti progress has been made >:D
20:08 timotimo oh, that's the built-in is-prime
20:08 Ulti yeah
20:08 timotimo of course that's fast :P
20:09 Ulti :P
20:09 Ulti yeah its a statistical test rather than iterate all the things
20:09 timotimo yup
20:09 timotimo it's also written in C and such
20:09 Ulti fine I'll write a parallel one of a similar form
20:10 timotimo thank you :3
20:13 dha joined #perl6
20:14 Ulti throw in a few native types for good measure...
20:15 yqt joined #perl6
20:15 diakopte1 joined #perl6
20:15 timotimo well, only for up to 64 bit big prime numbers of course
20:15 cxreg2 joined #perl6
20:15 cognominal_ joined #perl6
20:16 shmibs_ joined #perl6
20:17 esh joined #perl6
20:17 timotimo and when are 64bit sized prime numbers interesting enough?
20:18 dalek perl6-roast-data: 9c185f8 | coke++ | / (10 files):
20:18 dalek perl6-roast-data: today (automated commit)
20:18 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/9c185f8f53
20:18 timotimo someone uploaded "all prime numbers that fit into 32bits" saying "File primes.32b presents all 203280220 32-bit odd prime numbers from 3 to 4294967291.
20:18 timotimo "
20:18 timotimo so there's more or less enough of them to be interesting
20:24 Ulti doh segfault gunna have to think harder
20:26 Ulti screw it im gunna do the one that doesn't require any state
20:27 Ulti that would also be more impressive if it beats one of the non parallel ones that does a lot fewer comparissons
20:29 RabidGravy there, it only took three and a half hours to GLR up those 16 modules
20:29 RabidGravy jnthn, you'll be happy to know the OO::Monitors is fine
20:40 Alina-malina joined #perl6
20:46 Ulti my code causes all sorts of horror https://gist.github.com/Mat​tOates/125009c88f6ee9f5f101
20:47 tony-o japhb: idle being nothing else happening in the event loop
20:48 timotimo does race already work?
20:48 tony-o japhb: i was picturing something like whenever { react $*PROC.idle { } }
20:49 Ulti timotimo: yup or at least it did before
20:49 timotimo OK
20:49 Ulti this runs but screws up before finishing
20:49 tony-o or some way of injecting a sub to run in the main loop in order to read from $*IN so i can push it to a supply or separate thread
20:51 timotimo Ulti: did you try a moar with --asan yet? or valgrind?
20:51 Ulti nope
20:51 timotimo where does Stats come from?
20:52 Ulti my github via the ecosystem
20:53 timotimo ah, just panda-install Stats, eh?
20:54 Ulti yup
20:54 Ulti - the -
20:56 Ulti though I perhaps dont know enough about how race works to be sure I'm spawning a *tonne* of threads on that inner race
20:57 Ulti I assumed I would only be using 6
20:57 timotimo how long does it run on your 'puter?
20:57 Ulti for the 100 iterations it never finished
20:57 Ulti it always failed with one message or another
20:57 timotimo i get like 17 moar processes from this
20:57 Ulti :/
20:58 timotimo it takes like 3 minutes or something to run
20:58 timotimo i'll just do 10 runs instead of 100 in the bench script
21:00 timotimo asan barfs at something here
21:01 timotimo we've allocated a frame from the fixed size allocator, later we've freed that from MVM_frame_dec_ref, but we explode inside interp_run
21:01 timotimo that's just a decont instruction
21:03 Ulti :<
21:03 Ven joined #perl6
21:04 timotimo so it's still running in a frame that hasn't been inc'd often enough?
21:05 Ulti I'm afraid I'm going to be next to no help :Z
21:06 Ulti I just want to torture the implementors and eat popcorn
21:06 Ulti :P
21:08 ShimmerFairy joined #perl6
21:09 mr-foobar joined #perl6
21:09 jonathan_ joined #perl6
21:10 ashleydev joined #perl6
21:10 hernanGOA joined #perl6
21:11 diakopter joined #perl6
21:11 timotimo fair enough :)
21:12 jonathan_ the "1 == all %($/).values" doesn't seem to work in t/03-cookies.t
21:14 timotimo can you golf the problem?
21:15 timotimo like, what's (%($/).values).perl look like?
21:15 timotimo oh it's you, gravy
21:16 lizmat joined #perl6
21:16 lizmat_ joined #perl6
21:16 jonathan_ it's in a regex, kinda tricky
21:17 jordman joined #perl6
21:17 firstdayonthejob joined #perl6
21:18 jonathan_ basically it's  "token foo { [ <f1> | <f2> | <f3> ] * % '; '  <?{ 1 == all %($/).values }> }"
21:19 jonathan_ i.e. all of f1 f2 f3 separated by ; in any order
21:27 dha So, do state variables function in P6 as they experimentally do in P5?
21:28 jonathan_ timotimo, it's a Seq of Match objects
21:30 RabidGravy dha, if you mean the initialisation is only done once then yes
21:33 wtw joined #perl6
21:33 jdv79 dha: state vars are experimental in p5 or they have changed in a way that is experimental?
21:33 dha I mean generally. There appears to be NO information in the P6 docs/specs about it, and I'd like to try to get it documented. C<supersede> also appears in variables.pod and that would be the last TODO in there.
21:34 jdv79 iirc they've been aroound for years now
21:34 dha jdv79 - you need to enable them with C<use feature>
21:35 RabidGravy jdv79, I've got H::U down to just the cookies test
21:39 pink_mist dha: I don't think there's anything experimental about state variables in perl5
21:40 lizmat_ dha: state variables work: they are internally used for e.g. once blocks
21:40 dha My mistake. They need to be specifically enabled, but they aren't experimental.
21:40 lizmat_ m: for ^3 { say once DateTime.now; sleep .5 }
21:40 dha lizmat_-  Good. Now, they just need to be documented. :-)
21:40 camelia rakudo-moar e6f360: OUTPUT«2015-09-04T23:40:48+02:00␤2015-09-04​T23:40:48+02:00␤2015-09-04T23:40:48+02:00␤»
21:41 dha Also, if I understand correctly, there's an anonymous state variable C<$> which isn't notably documented either, although I've seen it used.
21:42 lizmat m: sub a { say $++ }; a; a; a
21:42 camelia rakudo-moar e6f360: OUTPUT«0␤1␤2␤»
21:42 lizmat it's an unnamed state variable that is typically used in situations such as this ^^^
21:42 dha Yes, like that. :-)
21:43 lizmat m: sub a { say $++; say $++ }; a; a; a  # just wondering
21:43 camelia rakudo-moar e6f360: OUTPUT«0␤0␤1␤1␤2␤2␤»
21:43 dha I'm looking to try to write docs for C<state>, hence my question about how similar it is to the P5 version, as that has some text I can work from.
21:44 lizmat looks like two unnamed state variables in the same scope are different
21:44 lizmat instances
21:44 pink_mist is that specced?
21:44 dha Are they, or is that an order of evaluation issue?
21:45 dha pink_mist - I think I can answer that. A couple of examples using state variables appear in the specs, but they are not actually described.
21:47 pink_mist well, I meant specifically the behaviour of more than one instance of $ there, not state variables in general
21:47 lizmat $++ is basically short for "state $foo++" with 'foo' being a unique string
21:47 pink_mist ah, gotcha
21:47 pink_mist cool
21:48 dha Yeah, I don't think C<$> is specced anywhere. Unless it is nowhere near the phrase "state variable"
21:49 kst joined #perl6
21:54 mr-foobar joined #perl6
21:55 Ven joined #perl6
21:55 lizmat I think TimToady knows more about it
21:56 lizmat and on that note, I'm going to get some more sleep than last night&
21:57 pink_mist sleep well
22:12 RabidGravy jdv59, H::U should be working with GLR-ed rakudo now
22:17 Ven FROGGS: do you still need the test for cpp3? I can do it right now
22:18 Ven (seems like there's no cpp3 branch on moarvm)
22:22 RabidGravy right, and that's all the dependencies sorted out as well
22:22 RabidGravy PAH! I FART AT THE GLR!
22:31 tadzik fart in its GLR direction?
22:31 yoleaux 2 Sep 2015 22:23Z <mohij> tadzik: https://github.com/patzim/rakudobrew
22:31 yoleaux 2 Sep 2015 22:23Z <mohij> tadzik: Supports shell local switching and dynamically determining the target version.
22:31 tadzik /o\
22:31 tadzik .tell mohij Wow, thanks man!
22:31 yoleaux tadzik: I'll pass your message to mohij.
22:32 telex joined #perl6
22:37 RabidGravy tadzik, you know that regex you were asking about in HTTP::UserAgent? I took it out because I couldn't get it to work with the GLRed nom - adding instead five additional tests
22:41 skids So... there's some unfinished GLR business... the *@ vs **@ on sub forms in Any-iterable (and probably a few other places).
22:41 dalek rakudo-star-daily: 64da386 | coke++ | log/ (9 files):
22:41 dalek rakudo-star-daily: today (automated commit)
22:41 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/64da38638b
22:42 firstdayonthejob joined #perl6
22:43 RabidGravy skids, on the other hand I am quite surprise it only took three and a half hours to make 19 modules work with the GLR in :)
22:44 RabidGravy so on the whole
22:44 skids Yes, it might end up for the better that those waited until after the merge, actually.
22:44 RabidGravy everyone++ # job well done people
22:44 skids ++everyone
22:45 dha +everyone+
22:45 pink_mist every++one
22:45 RabidGravy now I can go and get ratted in the Mediterranean for two weeks with impunity :)
22:45 * skids has to track down some rather elusive things in Sum.
22:46 dha It sounds like RabidGravy's plan is more fun.
22:46 RabidGravy :)
22:47 RabidGravy nighty night peeps
22:48 dha night.
22:50 pink_mist good night
22:53 skids m: buf8.new(1025).perl.say; buf8.new(2020202020202020202020​20202020202020202020).perl.say
22:53 camelia rakudo-moar e6f360: OUTPUT«Buf[uint8].new(1)␤Cannot unbox 138 bit wide bigint into native integer␤  in any  at src/gen/m-Metamodel.nqp:1677␤  in block <unit> at /tmp/D4XIkKj8zO:1␤␤»
22:54 timotimo you think we should have a bigint-to-buffer function?
22:56 skids Well right now I'm doing:  Buf.new( 1 X+& (self.Int X+> ($columns-1...0)) ); and it will only get uglier without one.  But you'd have to be able to specify size and endian stuf too, so...
22:56 laouji joined #perl6
22:57 skids Oh that's my buf1 func.  but anyway.
22:59 sufrostico joined #perl6
23:02 japhb joined #perl6
23:03 timotimo mhm
23:06 skids Maybe pack()
23:06 timotimo we've had interest in that for some time anyway
23:07 japhb joined #perl6
23:20 laouji joined #perl6
23:23 philh joined #perl6
23:25 ShimmerFairy Yeah, we still need to figure out some kind of binary grammar thing (that is, the binary data version of grammars)
23:25 timotimo aye
23:26 zacts joined #perl6
23:27 ShimmerFairy And ideally a syntax that's not as horrifically compressed as what I've seen of P5's pack() :)
23:28 * timotimo digs into building a websocket implementation again ...
23:29 timotimo is there a good namespace for that module?
23:30 timotimo probably Net::
23:50 BenGoldberg joined #perl6

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

Perl 6 | Reference Documentation | Rakudo