Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-10-15

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:02 advwp joined #perl6
00:05 gfldex m: my $i = 1; my $max; loop { $max = $max max chars(chr($i++)); last if $i > 33500 }; say $max;
00:05 camelia rakudo-moar 271e84: OUTPUT«1␤»
00:05 gfldex m: my int $i = 1; my int $max; loop { $max = $max max chars(chr($i++)); last if $i > 33500 }; say $max;
00:05 camelia rakudo-moar 271e84: OUTPUT«1␤»
00:07 gfldex star-m: my constant @a := map { .chr.chars }, 1..33500; [max] @a;
00:07 camelia star-m 2015.09: OUTPUT«(signal SEGV)»
00:10 hohoho joined #perl6
00:13 daxim .tell lizmat > even though there are officially no words starting with ßhttp://paste.scsys.co.uk/500285
00:13 yoleaux 14 Oct 2015 22:16Z <lizmat> daxim: if you can give me a paragraph about why my statement re ß in the P6W was wrong, I will add it as an erratum next week
00:13 yoleaux daxim: I'll pass your message to lizmat.
00:14 CurtisOvidPoe_ joined #perl6
00:27 azawawi joined #perl6
00:27 azawawi hi :)
00:27 n0tjack joined #perl6
00:28 azawawi automated browser testing  for Perl 6 is here, enjoy https://github.com/azawawi/perl6-selenium-webdriver/blob/master/examples/ex01.p6 :)
00:29 * azawawi sleep &
00:30 n0tjack is there any value to the return values of match actions?
00:30 n0tjack outside of calling $/.make
00:43 hohoho joined #perl6
00:45 yeltzooo joined #perl6
00:46 tokuhirom joined #perl6
00:48 Celelibi joined #perl6
00:48 17SADTHUH joined #perl6
00:48 77CAA0P2B joined #perl6
00:51 dalek specs: 9742c39 | (Stéphane Payrard)++ | S32-setting-library/Basics.pod:
00:51 dalek specs: fossil eval replaced with EVAL
00:51 dalek specs: review: https://github.com/perl6/specs/commit/9742c3981a
00:58 hohoho m: my %e := EnumMap.new('a', 1, 'b', 2);
00:58 camelia rakudo-moar 271e84: OUTPUT«5===SORRY!5=== Error while compiling /tmp/gC6dvjLYvu␤Undeclared name:␤    EnumMap used at line 1␤␤»
00:59 hohoho is this synopsys broken? http://doc.perl6.org/type/EnumMap
00:59 gfldex some parts are a little outdated
00:59 gfldex m: my %e := Map.new('a', 1, 'b', 2);
00:59 camelia rakudo-moar 271e84: ( no output )
01:00 n0tjack m: rammar G { token TOP { <digit> <alpha> } }; class A { method TOP((:$digit, :$alpha)) { say $digit; say $alpha; } }; G.parse('1a', actions => A)
01:00 camelia rakudo-moar 271e84: OUTPUT«5===SORRY!5===␤Undeclared name:␤    G used at line 1␤Undeclared routine:␤    rammar used at line 1␤␤Other potential difficulties:␤    Useless declaration of a has-scoped method in mainline (did you mean 'my token TOP'?)␤    at /tmp/mQNJ…»
01:00 n0tjack m: grammar G { token TOP { <digit> <alpha> } }; class A { method TOP((:$digit, :$alpha)) { say $digit; say $alpha; } }; G.parse('1a', actions => A)
01:00 camelia rakudo-moar 271e84: OUTPUT«「1」␤「a」␤»
01:00 n0tjack hmm, wonder what I'm doing wrong in my actual impl
01:07 bjz joined #perl6
01:16 bjz_ joined #perl6
01:16 llfourn joined #perl6
01:16 EricMobiel joined #perl6
01:16 bpmedley joined #perl6
01:21 aborazmeh joined #perl6
01:21 aborazmeh joined #perl6
01:33 llfourn joined #perl6
01:42 bjz 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:47 softmoth joined #perl6
01:49 gtodd m: pick(3, ^9)
01:49 camelia rakudo-moar 271e84: ( no output )
01:49 gtodd m: pick(3, ^9).say
01:49 camelia rakudo-moar 271e84: OUTPUT«(1 4 0)␤»
01:50 gtodd m: pick(3, ^9).perl
01:50 camelia rakudo-moar 271e84: ( no output )
01:50 gtodd pick(3, ^9).gist
01:50 gtodd oops
01:50 lizmat m: dd pick(3, ^9)
01:50 yoleaux 00:13Z <daxim> lizmat: > even though there are officially no words starting with ßhttp://paste.scsys.co.uk/500285
01:50 camelia rakudo-moar 271e84: OUTPUT«(7, 2, 8).Seq␤»
01:51 gtodd wheee dd :-)
02:05 * gtodd tries to compare a perl6 oneliner that picks 3 numbers in the range 1-9  whose product == 4 with an approach that uses SQL
02:10 * llfourn thinks that there should be a way to use junctions
02:17 noganex joined #perl6
02:19 gtodd ... y
02:19 gtodd es
02:19 llfourn are you allowed duplicate numbers?
02:20 llfourn i mean it's impossible without them like, [4,1,1]
02:21 lizmat llfourn: if gtodd uses .pick, there will be no duplicates, aver
02:21 lizmat *ever
02:21 llfourn lizmat: yep so it will never work
02:21 lizmat if gtodd would use .roll, then yes, there could be duplicates
02:21 lizmat llfourn: that would be my assessment as well :-)
02:22 lizmat maybe gtodd meant 42 ?
02:26 _sri is Crust not installable with panda yet?
02:26 _sri or is my rakudo installation just borked?
02:26 lizmat well, could be, I have seen some reports earlier today
02:27 lizmat atm I'm more focussing on getting the install module fiunctionality working for the future
02:27 _sri allright, what module should absolutely be installable that i can use to test?
02:29 lizmat Slang::Tuxic ?
02:29 _sri look at that, it installs
02:29 _sri thanks
02:29 lizmat yw
02:30 _sri too bad, i wanted to do some testing with Crust
02:34 _sri oh my, lots of failing tests in the dependencies too
02:35 lizmat we're in a fragile phase wrt to installing modules at the moment...
02:35 adhoc_ joined #perl6
02:36 lizmat working hard to get this a. thought out well, b. get it ready before xmas (we won't make the next compiler release for that, I don;t think)
02:37 gtodd joined #perl6
02:42 llfourn joined #perl6
02:45 bjz joined #perl6
02:48 tokuhirom joined #perl6
02:48 lizmat sleep again&
02:49 bjz joined #perl6
02:55 bjz joined #perl6
02:55 araujo joined #perl6
02:56 uruwi ho, my mouse is broken
02:56 uruwi (the scroll wheel)
03:12 japhb .tell timotimo I see in the backlog some complaints that perl6-bench is broken, but I'm not entirely clear how, given that you did post benchmark results -- and I don't see any new commits in the repo, either.
03:12 yoleaux japhb: I'll pass your message to timotimo.
03:13 japhb .ask timotimo What's the actual problem, and do you still need help?
03:13 yoleaux japhb: I'll pass your message to timotimo.
03:13 japhb That was slow, yoleaux.
03:13 timotimo hey japhb
03:13 yoleaux 03:12Z <japhb> timotimo: I see in the backlog some complaints that perl6-bench is broken, but I'm not entirely clear how, given that you did post benchmark results -- and I don't see any new commits in the repo, either.
03:13 yoleaux 03:13Z <japhb> timotimo: What's the actual problem, and do you still need help?
03:13 timotimo one problem was the regex that removes the beginning of the path from the component string wasn't interpolating that path
03:13 japhb Up at the crack of dawn, timotimo
03:13 japhb ?
03:13 timotimo another problem was many .push had to be replaced with .append
03:13 japhb timotimo: That's ... goofy.
03:14 japhb In the tests, or in the bench code?
03:14 timotimo in the bench code
03:14 timotimo actually in the "bench" file :)
03:14 japhb OK, fair enough.
03:14 timotimo though perhaps "pushme" wants to get append instead of push for newer rakudos?
03:14 timotimo not sure.
03:14 japhb If you've got it all working, can you push your fixes?
03:14 timotimo someone just told me "you have a symptom of meningitis, go to the hospital RIGHT NOW"; that isn't helping me feel better at all
03:15 japhb Yeah, I'm thinking that some of the finer points of the GLR made some of the tests difficult to make work both before and after with the same work profile.
03:15 japhb Oh dear
03:15 japhb Well, go and get yourself healed!
03:15 timotimo i don't think i've slept a minute since i laid down
03:15 japhb That SUCKS.
03:15 japhb Been there, hated that.
03:16 timotimo yeah, i'm looking up the earliest hour of my closest docs and i'll try to get an appointment
03:16 japhb nodnod
03:17 timotimo seems like docs open at 8am, which is in 3 hours
03:18 timotimo but there's an actual hospital nearby; i don't really know how this kind of thing works, but i suspect i can just go there and say "i may be in serious danger" and they'll be able to treat me soon-ish?
03:21 EricMobiel joined #perl6
03:23 Hotkeys joined #perl6
03:24 timotimo doc at the hospital says "if you suspect meningitis, go to the central hospital's neurology department ASAP"
03:24 captain-adequate joined #perl6
03:25 jojotus joined #perl6
03:25 Hotkeys left #perl6
03:28 Hotkeys joined #perl6
03:30 Hotkeys joined #perl6
03:34 Hotkeys joined #perl6
03:35 softmoth joined #perl6
03:43 n0tjack joined #perl6
04:03 xinming joined #perl6
04:16 vendethiel joined #perl6
04:29 Hotkeys joined #perl6
04:29 Hotkeys joined #perl6
04:35 Hotkeys joined #perl6
04:36 llfourn joined #perl6
04:37 Hotkeys left #perl6
04:49 tokuhirom joined #perl6
04:57 xvcds joined #perl6
04:59 finanalyst joined #perl6
05:02 telex joined #perl6
05:02 Hotkeys joined #perl6
05:06 adu joined #perl6
05:15 * japhb hopes timotimo is getting taken care of ...
05:16 nine Wow...just got up and timotimo's last message is the first I read. I hope it's really a false alarm
05:23 softmoth joined #perl6
05:33 cognominal joined #perl6
05:39 atta joined #perl6
05:43 xfix joined #perl6
06:16 EricMobiel joined #perl6
06:17 jkva joined #perl6
06:18 diana_olhovik_ joined #perl6
06:19 cognominal joined #perl6
06:27 firstdayonthejob joined #perl6
06:30 jkva_ joined #perl6
06:32 hohoho joined #perl6
06:32 hohoho joined #perl6
06:37 Hotkeys does anyone know if there is a package for perl 6 syntax/etc. for atom?
06:39 abraxxa joined #perl6
06:39 Hotkeys nevermind the perl 5 package also does perl 6
06:40 cognominal m:  sub infix:<~~~>(Str(Cool) \s, Regex $r) is equiv(&infix:<~~>) {  s ~~ / ^ $r $ /; $/ }; say ('a' ~~~ /$<a>=a/)
06:40 camelia rakudo-moar 271e84: OUTPUT«「a」␤»
06:41 tokuhirom joined #perl6
06:42 cognominal This user defined operator anchors the match but loose the $<a> capture. What is the way to not loose it?
06:42 bjz joined #perl6
06:42 domm joined #perl6
06:43 cognominal I already have run in this problem in the past, don't remember the solution if any :(
06:44 cognominal m:  sub infix:<~~~>(Str(Cool) \s, Regex $r) is equiv(&infix:<~~>) {  s ~~ / ^ <$r> $ /; $/ }; say ('a' ~~~ /$<a>=a/)
06:44 camelia rakudo-moar 271e84: OUTPUT«「a」␤»
06:47 Ven joined #perl6
06:49 [Tux] test             50000    39.763    39.648
06:49 [Tux] test-t           50000    40.812    40.698
06:54 Ven_ joined #perl6
06:57 llfourn joined #perl6
07:05 timotimo was a false alarm
07:05 timotimo no worries
07:10 Woodi hallo #perl6 :)
07:11 Ven joined #perl6
07:11 softmoth joined #perl6
07:14 FROGGS joined #perl6
07:18 Woodi few days ago I found little tutorial about "cleaning" Twitter pages apparence using Chrome extetensions written in JavaScript. and that make me feel scared or "outdated" even... so there is Twitter page and there are messgages there... That means HTTP is used as "messaging" protocol. AMQP or XMPP are just little, funny things :)
07:19 Woodi also, if HTTP is layer 7 protocol and browser are layer 7 apps then we have unoficial layer 8 there...
07:21 Ven_ joined #perl6
07:22 bjz_ joined #perl6
07:25 zakharyas joined #perl6
07:27 bjz joined #perl6
07:35 TimToady joined #perl6
07:35 lizmat morning, #perl6!
07:36 moritz \o lizmat, *
07:36 lizmat I wonder whether ca25b0f98dcc7ebc95d125ab is causing the slowdown that [Tux] saw between yesterday and today
07:37 dalek doc: 10d485d | (Lloyd Fournier)++ | / (9 files):
07:37 dalek doc: s/EnumMap/Map/
07:37 dalek doc: review: https://github.com/perl6/doc/commit/10d485d770
07:37 dalek doc: 559de0b | moritz++ | / (9 files):
07:37 dalek doc: Merge pull request #165 from LLFourn/master
07:37 dalek doc:
07:37 dalek doc: s/EnumMap/Map/
07:37 dalek doc: review: https://github.com/perl6/doc/commit/559de0bb0e
07:40 ely-se joined #perl6
07:42 n0tjack joined #perl6
07:42 DrForr joined #perl6
07:45 CIAvash joined #perl6
07:45 larion joined #perl6
07:45 rurban joined #perl6
07:49 leont joined #perl6
08:04 s_kilk joined #perl6
08:05 anaeem1 joined #perl6
08:06 pyrimidi_ joined #perl6
08:10 darutoko joined #perl6
08:12 Ven_ > game.player.creatures ~= game.fight.creature;
08:12 lizmat [Tux]: I don't really have a smoking gun between yesterday and today  :-(
08:13 Ven_ whoops
08:17 timotimo nine: courtesy highlight; doc says it's not dangerous, the thing i have
08:17 lizmat timotimo++   # taking care of himself
08:18 timotimo easier to do in germany than it is in the US of A :)
08:18 timotimo i also won't get an invoice over multiple thousand moneys
08:18 lizmat .oO( but with fewer plot twists  )
08:19 lizmat Breaking Bad in DE: teacher finds out he has cancer: he gets treated: everybody lives happily ever after
08:19 timotimo and now i'll see if i can get a bit of sleep
08:19 lizmat good sleep, timotimo!
08:19 DrForr I'm still a little boggled that I can spend 2 weeks in two Spanish hospitals, have two fairly major surgeries and just walk out with my wallet intact.
08:22 ely-se Why?
08:22 DrForr iggerant American :)
08:22 timotimo and the doctors that treated me were all super nice to me, too :)
08:22 ely-se oh :P
08:23 timotimo i remember a picture that details the story of how you could break your hip, fly to spain (or whatever), get it treated, spend a year on holiday there, break your hip again, get it treated again, fly back to america and still pay less than you would in an american hospital
08:24 timotimo http://2static.fjcdn.com/pictures/Vamonos+muchachos_dd9fc9_5607755.jpg - this thing, i think
08:24 ely-se I heard a full health insurance is like 2000 USD/month in the US, whereas here it's less than 100 EUR/month and people still complain.
08:25 timotimo and then there's the whole "dental plan" stuff, too
08:25 timotimo anyway, i'll suspend my computer
08:25 timotimo see you in the afternoon!
08:26 ely-se goodbye timotimo
08:26 timotimo i won't be gone for good! :)
08:27 ely-se good!
08:27 DrForr timotimo: Having done exactly that (minus the flying) I can sympathize.
08:31 margeas joined #perl6
08:35 jsnathan joined #perl6
08:37 lizmat afk for a few hours&
08:40 tokuhirom joined #perl6
08:42 dakkar joined #perl6
08:44 Woodi ely-se: look health insurance is a lottery ;)  so meybe reverse things: if I get sick they pay doctors and then I, monthly, pay them ? :)
08:46 jsnathan joined #perl6
08:47 ely-se Woodi: then you'd have to pay gambling tax on top of it.
08:50 Ven joined #perl6
08:54 jsnathan1 joined #perl6
08:57 jsnathan1 left #perl6
08:57 Woodi ely-se: pretty sure it is included :)   [+] @company-employee-payments <  [+] @company-employees-mandatory-insurances  in here...
08:58 RabidGravy joined #perl6
08:59 ely-se health insurance is required here
08:59 Woodi ely-se: +1 anyway :)
08:59 ely-se m: [+]
08:59 camelia rakudo-moar 271e84: ( no output )
08:59 softmoth joined #perl6
08:59 ely-se m: say [+]
08:59 camelia rakudo-moar 271e84: OUTPUT«0␤»
08:59 ely-se nice
09:10 masak good antenoon, #perl6
09:10 masak ely-se: operators know their own unit.
09:10 masak m: say [*]
09:10 camelia rakudo-moar 271e84: OUTPUT«1␤»
09:11 masak m: say [&&]
09:11 camelia rakudo-moar 271e84: OUTPUT«True␤»
09:11 masak m: say [min]
09:11 camelia rakudo-moar 271e84: OUTPUT«Inf␤»
09:11 masak m: say [^^]
09:11 camelia rakudo-moar 271e84: OUTPUT«False␤»
09:11 masak m: say [~|]
09:11 camelia rakudo-moar 271e84: OUTPUT«␤»
09:11 masak m: say [~&]
09:11 camelia rakudo-moar 271e84: OUTPUT«No zero-arg meaning for infix:<~&>␤  in block <unit> at /tmp/WLNtCbna5K:1␤␤Actually thrown at:␤  in block <unit> at /tmp/WLNtCbna5K:1␤␤»
09:12 ely-se what is ~|?
09:12 masak m: say "ABC" ~| "DDD"
09:12 camelia rakudo-moar 271e84: OUTPUT«EFG␤»
09:12 masak it does bitwise or on codepoints
09:13 ely-se :(
09:13 masak well, you asked
09:14 FROGGS ~| clearly does something... but nobody was able to show me its use actually
09:14 ely-se Is it an operator composed from two operators ~ and |?
09:14 ely-se Or is it an actual separate operator?
09:14 FROGGS no, it is a single operator implementation wise
09:14 ely-se why ;_;
09:15 FROGGS but meaning wise it is ~ for 'string' and | for '-wise or'
09:15 FROGGS like ^| is bitwise or
09:15 FROGGS ohh no
09:16 FROGGS +| numeric (bitwise) or
09:16 Timbus i saw it once used to apply a strange cipher thingy on a string
09:16 FROGGS ^| is about junctions
09:16 Timbus not in perl6, but in php
09:16 Timbus ;/
09:16 FROGGS hmmm, so there could be a use for it... nice
09:16 masak it's not a very common operator, for sure
09:16 ShimmerFairy ~| and friends are really more sensible on buffers. I really can't imagine them being useful on high-level strings, without wanting a lower-level buffer type for other things already.
09:17 masak but less useless than ?| and ?& ;)
09:17 ponzellus joined #perl6
09:18 ShimmerFairy After all, if you're using ~|, ~&, or ~^, then you're ultimately caring about the numbers underlying a string (be it codepoints or UTF-8 encoding bytes or whatever), so you're already thinking about the data in a buffer-like fashion, not a string-like fashion.
09:18 FROGGS aye
09:18 masak aye
09:19 espadrine joined #perl6
09:19 ShimmerFairy so really, the buffer bitwise ops should die on strings, and be defined on Blob as its most basic sensible type :)
09:21 FROGGS hmmm
09:21 FROGGS I'm not a fan of forbidding things that do not seem to make sense
09:21 masak same
09:22 ShimmerFairy FROGGS: well, when I wrote my S32::Stringy draft, I did lay out some possibilities if people absolutely insisted on bitwise ops for strings, but I think it's too high-level a type for it to make sense without requiring an explicit .encode
09:22 masak m: say "ABC".Buf ~| "DDD".Buf
09:22 camelia rakudo-moar 271e84: OUTPUT«Method 'Buf' not found for invocant of class 'Str'␤  in block <unit> at /tmp/jbOJ7kkh8j:1␤␤»
09:22 masak hrm
09:22 ShimmerFairy (like we do in other contexts one might expect a magical autoconversion to buffers)
09:22 ShimmerFairy m: say "ABC".encode ~| "DDD".encode
09:22 camelia rakudo-moar 271e84: OUTPUT«utf8:0x<45 46 47>␤»
09:22 masak m: say "ABC".encode ~| "DDD".encode
09:22 camelia rakudo-moar 271e84: OUTPUT«utf8:0x<45 46 47>␤»
09:22 FROGGS I mean, some of the inventive things would not be there if you limited the things they are grown out of
09:23 masak would it make sense to have .Buf as a synonym for .encode ?
09:23 FROGGS +1 I guess
09:23 ShimmerFairy masak: if so, it should be called .Blob, since that's the most generic role (just like you have .Numeric for the general numeric context)
09:23 FROGGS : say "ABC".encode.Str
09:23 FROGGS m: say "ABC".encode.Str
09:23 camelia rakudo-moar 271e84: OUTPUT«ABC␤»
09:23 FROGGS the pendant is there
09:24 masak I'm fine if it's called .Blob, but .Buf was what I reached for as an uninitiated user :)
09:24 FROGGS ShimmerFairy: then again you have .Int delegate to .Numeric or so
09:24 ShimmerFairy Sure, I'm not saying .Buf couldn't be allowed, just that the generic name would be .Blob :)
09:25 llfourn joined #perl6
09:25 adhoc joined #perl6
09:25 jnthn morning, #perl6
09:25 yoleaux 14 Oct 2015 21:12Z <lizmat> jnthn: couldn't we just not put a $no-sink in IterationBuffer.push ?
09:26 FROGGS about forbidding things that we think are not sensible or so... lizmat wants to disallow CURLI for production uses to she is against implementing .install on CURLI
09:26 FROGGS and I say that there will be or are scenarios where that is very very valid to do
09:26 FROGGS morning jnthn
09:27 FROGGS so, let's not be restricted like, say, Python (not that I have no clue about Python, so, sorry Python)
09:27 jnthn .tell lizmat Thing is that we aren't promised to have an IterationBuffer, but *something* you can .push to...
09:27 yoleaux jnthn: I'll pass your message to lizmat.
09:27 masak jnthn: morning!
09:28 ShimmerFairy FROGGS: I still think _bit_wise ops on strings are nonsensical. How should synthetics interact with it, for example? What if you meant to base your operations in a particular encoding?
09:28 ShimmerFairy m: say "_" ~| "¥"
09:28 camelia rakudo-moar 271e84: OUTPUT«ÿ␤»
09:28 ShimmerFairy m: say "_̈" ~| "¥"
09:28 camelia rakudo-moar 271e84: OUTPUT«_̈␤»
09:28 FROGGS ShimmerFairy: I can't give you an example of its usefulness right now
09:29 ShimmerFairy with that "underscore with umlaut" synthetic, is that the right output, no change? Should it be different? Should it be just on the base char, on each char individually, something else?
09:29 Psyche^ joined #perl6
09:29 ShimmerFairy FROGGS: unless you can convince me that bitwise ops aren't inherently low-level, and that they thus aren't at odds with strings' high-level nature, I'll still say string-based bitwise ops are useless :)
09:31 FROGGS ShimmerFairy: I don't deny that
09:31 FROGGS ShimmerFairy: I just don't want them to be disallow because I *think* they are useless
09:31 * ShimmerFairy points out that S03 has always said that the coercion of strings to a "non-variable-encoding" buffer type "probably indicates a design error, however"
09:31 adhoc joined #perl6
09:31 ShimmerFairy FROGGS: I get that; masak's one time wanting certain arithmetic ops on DateTime comes to mind. But unlike that situation, I can't fathom a possible use case.
09:33 ShimmerFairy FROGGS: To me, your suggestion to keep allowing bitwise ops on strings is like defining infix:«<» on Complex numbers, just because someone might possibly find a use for it. I can't see a really sensible definition of infix:«<» for Complex numbers, nor can I bitwise ops for strings :)
09:33 FROGGS yes, being unsure of the result is another thing
09:35 masak ShimmerFairy: it was infix:<**> on Instant
09:35 ShimmerFairy What I find particularly unfortunate is that we don't have a dedicated symbol for "buffer" distinct from our ~ for strings. I'd change the buffer bitwise ops' spellings in a heartbeat if there was such a symbol.
09:36 masak ShimmerFairy: I was taking the standard deviation of a bunch of timings
09:36 ShimmerFairy masak: yes, I faintly recall it was about statistics calculations :)
09:38 masak I don't foresee myself being a heavy user of ~| on any data type... but as far as I'm concerned, I'm fine with them staying on Str.
09:39 masak when TimToady materializes, he will tell you that string literals are probably a little allomorphic anyway. :)
09:40 Ulti ShimmerFairy: something like this is why bit wise operations on strings are not nonsensical https://en.wikipedia.org/wiki/Bitap_algorithm
09:40 jnthn I think they're only probably going to see much use in the ASCII range :)
09:40 Ven ~|, uh?
09:42 ShimmerFairy masak: A bit of déjà vu here, but I don't think we can (or should) distinguish literals like that, certainly not in behavior. :)
09:42 jnthn FROGGS: (disallow CURLI) did you mean CURLF? :)
09:42 mattprelude joined #perl6
09:42 FROGGS jnthn: ohh, yes
09:42 Ulti though granted the concept of a string in the bitap algorithm is much more like a buf than a Str in Perl 6
09:43 ShimmerFairy Ulti: the pseudocode and especially C examples don't tell me that they're bitwise ops on high-level string types. The C idea of a string is really a Blob for us, yes :)
09:43 jnthn FROGGS: What's your particular use case?
09:43 masak ShimmerFairy: what jnthn said about mostly-ASCII.
09:43 FROGGS jnthn: for what?
09:43 jnthn FROGGS: (Or key use cases)
09:43 jnthn FROGGS: CURLF
09:44 ShimmerFairy jnthn, masak: I figure ASCII would be most common (as it almost always is for all kinds of string things), but if can't have a sensible definition on all strings, it should not be allowed.
09:44 FROGGS jnthn: CURLF is mostly about dev stuff I think, having not the need to install stuff to be able to use it
09:44 ShimmerFairy (And then you could have an ASCIIStr subtype in module space for people who desperately insist that I'm wrong ☺)
09:44 jnthn FROGGS: Right. It's for -Ilib
09:45 jnthn ShimmerFairy: It's defined just fine, afaik: the bitwise of the codepoints.
09:45 FROGGS jnthn: I can also -Ilib a CURLI
09:45 Ulti ShimmerFairy well the definition is always sensible its something that operates on the string bytes at a time as binary data even non ASCII still tends to be byte aligned at least :S
09:45 gonz_ joined #perl6
09:45 ShimmerFairy jnthn: it didn't work when I turned the underscore into a synthetic with a combining umlaut, though.
09:46 breinbaas joined #perl6
09:46 Ulti why not just always have promotion/demotion to a blob if someone does binary ops on a string?
09:46 ShimmerFairy Ulti: that's the fundamental issue: in Perl 6, there is no definite encoding of the string until you convert it to a buffer via .encode .
09:46 jnthn ShimmerFairy: "Didn't work" in what sense? :)
09:46 ShimmerFairy jnthn: it didn't change, unlike the umlaut-less variant
09:46 ely-se joined #perl6
09:47 ShimmerFairy m: say "_" ~| "¥"
09:47 camelia rakudo-moar 271e84: OUTPUT«ÿ␤»
09:47 tokuhirom joined #perl6
09:47 ShimmerFairy m: say "_̈" ~| "¥"
09:47 camelia rakudo-moar 271e84: OUTPUT«_̈␤»
09:47 ShimmerFairy as a synthetic, it comes back untouched, which doesn't make sense to me on that "by codepoints" definition.
09:47 jnthn ShimmerFairy: Me either. Maybe the code didn't get an update :)
09:48 ShimmerFairy I would've expected at least ÿ̈, by that definition of bitwise or on strings  :P
09:48 jnthn ShimmerFairy: Feel free to ticket it
09:49 jnthn FROGGS: How would you specify it?
09:49 FROGGS -Ifile:lib IIRC
09:49 FROGGS err
09:49 FROGGS -Iinst:lib
09:49 jnthn ok
09:49 jnthn So why do you want to be able to .install into a CURLF?
09:50 * ShimmerFairy probably shouldn't ticket it, unless you want the ticket to be about how buffer bitwise ops on strings don't die :)
09:50 FROGGS because a CURLF has other properties which might fit my needs better...
09:50 jnthn ShimmerFairy: OK, then just ignore it.
09:50 FROGGS I can imagine installing my own middleware codebase to a CURLF but its deps to a CURLI
09:50 jnthn I'd rather ship with the bug than listen to you rant abou this topic further :P
09:51 FROGGS so I keep my codebase in git and just need to check it out on the test/dev/prod servers
09:51 FROGGS err, I don't install in this scenario, duh
09:51 jnthn FROGGS: If you just check it out why do you need a .install step at all?
09:51 FROGGS psst!
09:51 jnthn Right
09:51 jnthn :)
09:52 FROGGS I WILL MAKE UP A SCENARIO, RIGHT!
09:52 FROGGS :P
09:53 jnthn Where I'm kinda going is breaking up the CompUnitRepo API over 3 roles (CompUnitRepo, which just knows how to locate a module, Installable that supports .install, and Precompiling which provides most of the precomp infrastructure)
09:53 jnthn So that decouples the notion of precomp and install at the API level
09:53 jnthn I hope that'll allow us enough flexibility for the various combinations of semantics.
09:54 FROGGS what I can imagine though is that, as currently, the dev/test/prod services run from the same CURLF repo, but are potentially different compiler versions...
09:54 llfourn joined #perl6
09:54 FROGGS then again, I might not need to .install, but sharing a CURLI sounds troublesome
09:55 FROGGS so, I might want to .install to the used CURLI, when I have several repositories/dists it originates from
09:55 ShimmerFairy What I find frustrating is that when I mentioned why the buffer bitwise ops make more sense on buffers because you're always thinking on a buffer level with those ops, people agreed with me. The second I suggest actually codifying that by making buffer bitwise die on strings, I'm the only one in the world who sees buffers and strings that way :/
09:55 FROGGS grr, /used CURLF/
09:56 ShimmerFairy I don't know why people are always so opposed to the idea of a better separation between objects representing text, and objects representing how things such as text are specifically stored on a computer, a separation that makes people think more about what they're doing.
09:56 rotcpy joined #perl6
09:57 FROGGS ShimmerFairy: I think you are probably right
09:58 FROGGS ShimmerFairy: if these stringwise ops cannot do the right thing on strings, but only on blobs, they should not be allowed to be used on strings
10:00 masak I'm not yet convinced they *cannot* be made to be sane on strings.
10:01 masak also, ShimmerFairy, weren't you the one who complained some weeks ago about operators not returning the (container) type of the operands? well, that's what you have here, with strings :)
10:01 ShimmerFairy masak: I don't recall that, I'm not even sure what that complaint means :)
10:03 ShimmerFairy masak: closest thing I can think is that   sub foo(Stringy ::STRING $a, STRING $b --> STRING) { }   doesn't enforce that $a and $b are the exact same type, and that the returned value is guaranteed to be also of that exact same type, IIRC how that actually works
10:07 ely-se joined #perl6
10:09 n0tjack joined #perl6
10:10 ShimmerFairy masak: I did come up with some possible definitions of stringy bitwise ops for completeness' sake in my draft, in the event that everybody demands them for some reason. I believe I went by codepoint numbers, though I found ~< and ~> particularly weird (and useless for strings)
10:14 ShimmerFairy masak: while there can be a definition on them that's encoding-independent (based on codepoint numbers), I don't think they'd be useful, nor would they do what they expect for everyone. Like I said earlier, those bitwise ops are inherently a buffer-ish thing when people try to use them. And we don't auto-convert strings to buffers in P6 :)
10:14 FROGGS m: say "foo" ~> 1
10:14 camelia rakudo-moar 271e84: OUTPUT«infix:«~>» not yet implemented. Sorry. ␤  in block <unit> at /tmp/i31G0sovBm:1␤␤»
10:14 FROGGS what would be the result? "fo"?
10:15 ShimmerFairy FROGGS: I came up with three possibilities, let me see...
10:15 FROGGS my example could be handy...
10:16 FROGGS I can't think of anything else
10:18 ShimmerFairy m: say "foo".chop;    say "foo".encode('ascii').list.map( {($_ +> 1).chr} ).join;    say "foo".encode('ascii').list.map( {($_ + 1).chr} ).join
10:18 camelia rakudo-moar 271e84: OUTPUT«fo␤377␤gpp␤»
10:19 ShimmerFairy FROGGS: I thought of either 1) chop, 2) shift individual codepoints, or 3) add/subtract individual codepoints (the oddball idea, think of "shifting" through a unicode chart or something)
10:21 ShimmerFairy FROGGS: oh, but the "chop" idea would probably have to pad on the left, since right shift technically pads integers on the left with 0s (not doing sign preservation)
10:21 ShimmerFairy (and inverse for left shift, of course)
10:22 FROGGS hmmm, since this would be something high level on strings I would not mind if it didnt pad on the left
10:23 FROGGS left shift would put whitespace on the right...
10:23 FROGGS :o)
10:23 ShimmerFairy FROGGS: I guess it depends on what people expect from variable-width integers (aka bigints)
10:23 FROGGS though, having the same op (~>) on strings and on bufs when they do two totally different things is also a nogo
10:23 ShimmerFairy m: say Buf.new(1,2,3) ~> 1
10:23 camelia rakudo-moar 271e84: OUTPUT«Cannot call infix:«~>»(Buf, Int); none of these signatures match:␤    (Str:D \a, Int:D \b --> Str:D)␤    (str $a, int $b)␤  in block <unit> at /tmp/PIDxFY9unS:1␤␤»
10:25 ShimmerFairy FROGGS: Currently they aren't defined on buffers, probably a mistake. My initial idea was to shift the individual bits in the buffer (since S03 compares buffer bitwise to the integer bitwise ops), but I'd also be fine with an element-based shift
10:25 FROGGS yeah, might make sense to define them on blobs only..
10:26 FROGGS mixing strings and blobs/bufs was a mistake we did not want to re-do anyway
10:26 ShimmerFairy FROGGS: and while I don't think "if some of the ops don't make sense, then none of them do" would be a very convincing argument, I can't help but think the special uselessness of ~< and ~> for strings is a pointer to my opinion on these buffer bitwise ops :)
10:27 FROGGS aye
10:27 FROGGS consistency and all taht
10:28 ShimmerFairy the "element-based" idea, if transplanted to strings, would only really be useful if you applied :rotate, and even then I can't help but think that would just be a non-indicative "clever trick"
10:29 ShimmerFairy m: say 43 +> 1 :rotate;  # though apparently that adverb is NYI
10:29 camelia rakudo-moar 271e84: OUTPUT«Unexpected named parameter 'rotate' passed␤  in block <unit> at /tmp/Rl8wf9DNl4:1␤␤»
10:30 ShimmerFairy for the shifts in general, I mean :)
10:35 rindolf joined #perl6
10:42 ShimmerFairy er, I really should've said "would be redundant unless you applied :rotate", which is taking into consideration things like .chop and .substr
10:45 llfourn joined #perl6
10:45 ely-se joined #perl6
10:48 softmoth joined #perl6
10:51 weihan joined #perl6
10:58 pink_mist is there an idiomatic way to get an infinite supply of shuffled values from a range where once every value in the range has been returned, it then reshuffles and gives a new order for the range, while at the same time ensuring that within the range, no value is returned twice?
10:58 pink_mist (if that makes sense?)
10:59 moritz m: my @feed = flat( <a b c>.pick(*) xx * ); say @feed[^9]
11:00 jnthn m: say ((^10).pick xx *)[^10]
11:00 camelia rakudo-moar 271e84: OUTPUT«(timeout)»
11:00 camelia rakudo-moar 271e84: OUTPUT«(6 7 7 5 2 1 0 9 6 5)␤»
11:00 jnthn m: say ((^10).pick(*) xx *)[^10] # d'oh
11:00 camelia rakudo-moar 271e84: OUTPUT«This Seq has already been iterated, and its values consumed␤  in block <unit> at /tmp/1FgpbvrJo7:1␤␤»
11:00 jnthn uh...
11:00 moritz m: my \feed = flat( <a b c>.pick(*) xx * ); say feed[^9]
11:00 camelia rakudo-moar 271e84: OUTPUT«(b c a c b a b c a)␤»
11:00 jnthn moritz++
11:01 pink_mist nice! =)
11:01 pink_mist thanks moritz++
11:04 Alina-malina joined #perl6
11:12 Ven joined #perl6
11:15 vytas Does Perl6 have Perl5 like coroutines [ Coro ] ?
11:17 jnthn vytas: gather/take is coroutine-powerful, and await basically is too
11:18 jnthn (Don't confuse either with various language's generator functions or .Net's async/await, both of which are routine-local CPS transforms; the Perl 6 gather/take can have the "take" happen as many frames deep as you wish)
11:20 brrt joined #perl6
11:25 dalek doc: 9061364 | (Lloyd Fournier)++ | doc/ (2 files):
11:25 dalek doc: document Attribute traits 'rw' and 'required'
11:25 dalek doc: review: https://github.com/perl6/doc/commit/9061364e90
11:27 vytas thanks
11:29 chenryn_ no doc about gather/take?
11:29 moritz in the design docs
11:29 moritz user-level docs very welcome
11:30 llfourn chenryn_: http://docs.perl6.org/language/control#gather%2Ftake
11:30 llfourn doh. There isn't actually anything there sorry lol
11:30 chenryn_ llfourn: your link show nothing now.
11:31 chenryn_ ~~
11:35 jkva joined #perl6
11:36 ShimmerFairy m: say ?($_ ~~ /^. <|s>/) for "  ", " b", "a ", "ab"    # this should come out as  (False, True, True, False)  , right?
11:36 camelia rakudo-moar 271e84: OUTPUT«True␤True␤True␤True␤»
11:37 kid51 joined #perl6
11:41 psch m: say ?($_ ~~ /^. <wb> /) for "  ", " b", "a ", "ab"
11:41 camelia rakudo-moar 271e84: OUTPUT«False␤True␤True␤False␤»
11:42 psch m: say ?($_ ~~ /^. <!wb> /) for "  ", " b", "a ", "ab"
11:42 camelia rakudo-moar 271e84: OUTPUT«True␤False␤False␤True␤»
11:42 psch m: say ?($_ ~~ /^. <|w> /) for "  ", " b", "a ", "ab"
11:42 camelia rakudo-moar 271e84: OUTPUT«False␤True␤True␤False␤»
11:44 psch m: say ?($_ ~~ /^. <|h> /) for "\t ", "\tb", "a\t", "ab"
11:44 camelia rakudo-moar 271e84: OUTPUT«True␤True␤True␤True␤»
11:44 psch well, something about <| > is definitely amiss
11:44 apotheon joined #perl6
11:46 ShimmerFairy psch: my suspicion is that it's only implemented for the specific examples in S05 (and maybe it's always true on others as a lazy way of doing <|g>)
11:47 psch ShimmerFairy: but <|h> is an example in S05
11:47 psch ShimmerFairy: oh, but it's not the "example list" as code, so yeah, maybe
11:48 ShimmerFairy psch: it's not in the code block, so I imagine a quick browsing would've only caught... yeah, what you said :)
11:48 tokuhirom joined #perl6
11:49 WizJin joined #perl6
11:50 dalek doc: a271ba5 | moritz++ | doc/Language/control.pod:
11:50 dalek doc: Add some basic gather/take docs
11:50 dalek doc: review: https://github.com/perl6/doc/commit/a271ba5d01
11:50 psch ShimmerFairy: nqp/src/QRegex/P6Regex/Actions.nqp:504
11:50 psch ShimmerFairy: only <|c> and <|w> are implemented at all
11:52 ShimmerFairy <|c> looks outdated, btw. <|g> would be useful once we have non-NFG modes for regex
11:52 llfourn moritz++ (slight typo on line 349 s/withint/within/)
11:53 ShimmerFairy psch: fwiw, my interpretation of <|...> is that it should work on any rule (like any other assertion), and on any backslash-able sequence
11:53 ely-se joined #perl6
11:54 ShimmerFairy (whether that means stuff like  <!h>  or  <-d>  is supposed to work too, I can't say)
11:55 weihan_ joined #perl6
11:56 Ven joined #perl6
11:57 psch ShimmerFairy: <| > is the only one that says "You can refer to backslash sequences with this syntax"
11:57 psch ShimmerFairy: it doesn't exclude all the other kinds of saying "this contains what i want to match", though
11:58 psch ShimmerFairy: so i take that as <| &foo> should work, but <!h> doesn't imply backslash sequence
11:58 dalek doc: a42fc61 | moritz++ | doc/Language/control.pod:
11:58 dalek doc: Fix typo, llfourn++
11:58 dalek doc: review: https://github.com/perl6/doc/commit/a42fc61302
11:59 spider-mario joined #perl6
12:03 bjz joined #perl6
12:04 gfldex m: my constant @a := map { .chr.chars }, 1..33500; [max] @a;
12:04 camelia rakudo-moar 271e84: OUTPUT«(signal SEGV)»
12:04 gfldex masak: could you apply your superior golf skills to the example above please?
12:05 psch m: my constant @a := map { .chr.chars }, 1..(2**15 - 1); [max] @a;
12:05 camelia rakudo-moar 271e84: ( no output )
12:05 psch gfldex: you found a magic number :)
12:06 psch m: my constant @a := map { .chr.chars }, 1..(2**15); [max] @a;
12:06 camelia rakudo-moar 271e84: ( no output )
12:06 psch m: my constant @a := map { .chr.chars }, 1..(2**15 + 1); [max] @a;
12:06 camelia rakudo-moar 271e84: OUTPUT«(signal SEGV)»
12:06 ely-se LOL
12:06 gfldex i would say it's black magic :)
12:06 jnthn That's already RT'd afaik
12:06 ely-se retweeted?
12:07 ilmari m: my constant @a :=  1..(2**15 + 1); [max] @a
12:07 camelia rakudo-moar 271e84: OUTPUT«(signal SEGV)»
12:07 jnthn m: my constant @a :=  1..(2**15 + 2); [max] @a
12:07 camelia rakudo-moar 271e84: OUTPUT«(signal SEGV)»
12:07 psch m: my constant @a := 1..(2**15 + 1);
12:07 camelia rakudo-moar 271e84: ( no output )
12:07 jnthn m: my constant @a :=  1..(2**15 + 5); [max] @a
12:07 camelia rakudo-moar 271e84: OUTPUT«(signal SEGV)»
12:07 jnthn m: my constant @a :=  1..(2**16); [max] @a
12:07 camelia rakudo-moar 271e84: OUTPUT«Too many arguments in flattening array.␤  in block <unit> at /tmp/E9U0WYXusf:1␤␤»
12:07 psch m: [max] 1..(2 ** 15 + 2)
12:07 camelia rakudo-moar 271e84: OUTPUT«(signal SEGV)»
12:07 psch j: [max] 1..(2 ** 15 + 2)
12:07 camelia rakudo-jvm 271e84: ( no output )
12:08 psch jvm++ :P
12:08 * jnthn guesses there's an off-by-something somewhere such that we don't throw that error eagerly enough
12:08 masak m: [max] 1..(2**15 + 1)
12:08 camelia rakudo-moar 271e84: OUTPUT«(signal SEGV)»
12:08 masak m: [max] 2**15..(2**15 + 1)
12:08 camelia rakudo-moar 271e84: ( no output )
12:08 masak m: [max] 1..(2**15 + 1)
12:08 camelia rakudo-moar 271e84: OUTPUT«(signal SEGV)»
12:08 masak m: [max] 2..(2**15 + 1)
12:08 camelia rakudo-moar 271e84: ( no output )
12:08 masak m: 1..(2**15 + 1)
12:08 camelia rakudo-moar 271e84: OUTPUT«WARNINGS:␤Useless use of ".." in expression "1..(2**15 + 1)" in sink context (line 1)␤»
12:08 masak m: [min] 1..(2**15 + 1)
12:08 camelia rakudo-moar 271e84: OUTPUT«(signal SEGV)»
12:08 jnthn m: sub f(*@x) { } f |(1..(2**15 + 1))
12:08 camelia rakudo-moar 271e84: OUTPUT«5===SORRY!5=== Error while compiling /tmp/D4MIyaZ_3T␤Strange text after block (missing semicolon or comma?)␤at /tmp/D4MIyaZ_3T:1␤------> 3sub f(*@x) { }7⏏5 f |(1..(2**15 + 1))␤    expecting any of:␤        infix␤        infix stopper…»
12:09 jnthn m: sub f(*@x) { }; f |(1..(2**15 + 1))
12:09 camelia rakudo-moar 271e84: OUTPUT«(signal SEGV)»
12:09 jnthn There's the golf
12:09 jnthn As I said, already in rT
12:09 jnthn *RT
12:09 diana_olhovik_ joined #perl6
12:17 jdv79 the current Pod::Coverage report is easy:  < 1%
12:18 moritz there'll be a google summer of code 2016
12:18 moritz I wonder if we should apply.
12:19 moritz (and who would do the application)
12:20 Suzeanne joined #perl6
12:22 jkva_ joined #perl6
12:30 dalek rakudo/nom: e1890f4 | lizmat++ | src/core/Supply.pm:
12:30 dalek rakudo/nom: Add :control, :status, :bleed to Supply.throttle
12:30 dalek rakudo/nom:
12:30 dalek rakudo/nom: :control indicates a Supply that can be used to send control messages
12:30 dalek rakudo/nom: to the throttler.  Supported control messages are:
12:30 dalek rakudo/nom:
12:30 dalek rakudo/nom:   limit => N    # set new number of elements per time unit limit
12:30 dalek rakudo/nom:   bleed => N    # emit maximally N values to the :bleed supply
12:30 dalek rakudo/nom:   status => x   # send status to :status supply
12:30 dalek rakudo/nom:
12:30 dalek rakudo/nom: :bleed   supply to which elements will be emitted with "bleed" control
12:30 dalek rakudo/nom: :status  supply to which a status hash will be emitted for "status" control
12:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e1890f4fd9
12:31 dalek roast: 73a2182 | lizmat++ | S17-supply/throttle.t:
12:31 dalek roast: Initial test of :control message
12:31 dalek roast: review: https://github.com/perl6/roast/commit/73a218255c
12:32 s_kilk joined #perl6
12:35 lizmat afk for the rest of the day&
12:35 yoleaux 09:27Z <jnthn> lizmat: Thing is that we aren't promised to have an IterationBuffer, but *something* you can .push to...
12:36 softmoth joined #perl6
12:36 n0tjack joined #perl6
12:36 psch hm, i appear to have had the jvm-SC problem the wrong way around
12:37 psch the Attribute.^compose call repossesses Attribute to CORE
12:37 psch and *that* causes the breakage
12:37 psch not the fact that the classHandle is from BOOTSTRAP - that's apparently fine
12:40 FROGGS hmmmm
12:40 FROGGS interesting
12:40 bjz_ joined #perl6
12:41 psch i'm building with disabling the scwb around the compose call right now...
12:42 psch the other approach would be ensuring we reposses at every compose, which we currently apparently don't
12:42 psch otherwise the classHandle would be owned by CORE
12:44 jkva joined #perl6
12:46 psch yeah, wrapping Attribute.^compose in scwb{dis,en}able compiles
12:47 psch but that's still the wrong kind of solution, isn't it?
12:47 psch as in, every class that gets composed in CORE should have the CORE SC, and that should be pretty much every class, except maybe BOOTSTRAPATTR
12:47 RabidGravy does anyone here use blogger and has successfully embedded a gist into a post? It just isn't working for me at all
12:49 sufrostico joined #perl6
12:49 * psch kinda wishes to be more comfortable around moar and gdb, to see if Attribute on moar has an SC that points at CORE.setting...
12:50 psch although i don't even know what an SC looks like on moar and if it even knows which file it's from... :s
12:55 jdv79 is there a way to install a module and its deps temporarily?
12:55 jdv79 or install and uninstall or install into a seperate CUR or something along those lines?
12:55 ofzyh__ joined #perl6
12:56 jdv79 can't parse objects starting in p yet - that's not ambiguous or anything
12:57 jdv79 what is this magic "p"?
13:05 hohoho joined #perl6
13:08 sufrostico joined #perl6
13:13 hohoho joined #perl6
13:13 hohoho_ joined #perl6
13:14 rurban joined #perl6
13:16 ely-se joined #perl6
13:18 ecocode joined #perl6
13:21 skids joined #perl6
13:25 hohoho_ m: class P { }; class C is P { }; P.^add_method('hello', method () { say "hello"; }); C.new.hello;
13:25 camelia rakudo-moar 271e84: OUTPUT«Method 'hello' not found for invocant of class 'C'␤  in block <unit> at /tmp/ObSOG4gUtu:1␤␤»
13:25 hohoho_ hmm
13:25 hohoho_ Why i can't call the method?
13:25 jnthn hohoho_: You'd need to re-compose P, and for now also C
13:26 hohoho_ hm
13:26 hohoho_ how do i re-compose these classes?
13:26 jnthn (Because classes don't track their subclasses, so can't notify them to clear their caches)
13:26 jnthn .^compose
13:26 hohoho_ i see
13:26 hohoho_ thanks!
13:26 psch m: class P { }; class C is P { }; P.^add_method('hello', method () { say "hello"; }); C.^compose; P.^compose; C.new.hello;
13:26 camelia rakudo-moar 271e84: OUTPUT«hello␤»
13:26 psch err, order up for debate :)
13:27 psch m: class P { }; class C is P { }; P.^add_method('hello', method () { say "hello"; }); C.^compose; C.new.hello;
13:27 camelia rakudo-moar 271e84: OUTPUT«hello␤»
13:27 psch ^ that wouldn't have it in P afaiu?
13:27 psch m: class P { }; class C is P { }; P.^add_method('hello', method () { say "hello"; }); C.^compose; C.new.hello; P.new.hello
13:27 camelia rakudo-moar 271e84: OUTPUT«hello␤hello␤»
13:27 psch oh
13:27 psch uhm
13:27 jnthn psch: .^add_method at present does force local cache invalidation
13:27 jnthn psch: That may not always be the case.
13:28 psch jnthn: ah, i see
13:28 jnthn You'll also slow down every method call on instnaces of P if you don't re-compose it.
13:28 jnthn Probably by a factor of 10-100
13:28 jnthn So there's some incentive to do so ;)
13:32 sufrostico joined #perl6
13:33 margeas joined #perl6
13:40 ely-se joined #perl6
13:41 RabidGravy solved the blogger/gist thing - the "Dynamic View" templates don't play nicely with embedded javascript
13:42 ely-se Is the Perl 6 to JS compiler thing still a thing? If so, how does it deal with continuations?
13:44 pmurias joined #perl6
13:44 pmurias ely-se: hi, I'm still working on it
13:44 pmurias ely-se: it doesn't support continuations
13:45 ely-se :'(
13:49 * masak .oO( ragequit ) :P
13:49 sufrostico joined #perl6
13:49 FROGGS I was about to say that pmurias should run after him/her to excuse :o)
13:50 tokuhirom joined #perl6
13:50 * FROGGS .oO( Ohh noes! Don't leave crying! )
13:50 psch hrm
13:50 * brrt thinks continuations are overrated
13:50 psch so i've added a bit of debug output to see what scwbObject actually does
13:50 FROGGS and?
13:50 psch and that gives me an NPE during CORE compilation
13:51 FROGGS / NYI ?
13:51 FROGGS err
13:51 FROGGS '// NYI ?
13:51 FROGGS hmpf
13:51 psch FROGGS: // in nqp-j backend code? :)
13:51 FROGGS psch: aye :o)
13:51 psch FROGGS: that's a comment :P
13:51 FROGGS we be fun to spot that :o)
13:52 psch well, i keep adding null checks...
13:55 awwaiid pmurias: how are you doing said js backend?
13:57 llfourn joined #perl6
13:57 [Coke] awwaiid: you can see the WIP in nqp.
14:00 * colomon is interested to see that in spec, TrigBase has changed significantly sometime in the last few years, but it is not present in Rakudo at all.
14:02 * colomon is looking at http://design.perl6.org/S32/Numeric.html#Trigonometric_functions
14:02 awwaiid [Coke]: er... I don't know where nqp "lives"
14:05 jdv79 i'm with Zoffix on the docs situation - its pretty abysmal in the ecosystem
14:05 jdv79 wonder how much of the reason is because gh doesn't support pod6
14:06 ShimmerFairy jdv79: I'm sure it's entirely because Pod6 has been neglected compared to other parts of Perl 6 (I've been trying to fix that as best as I can, though)
14:07 [Coke] awwaiid: github's perl6/nqp
14:07 ely-se joined #perl6
14:08 [Coke] I wouldn't say it's neglected. I'd say that most places can't figure out the difference between pod5 and pod6 and therefore displaying things becomes messy.
14:09 jdv79 ShimmerFairy: any progress?
14:10 ShimmerFairy jdv79: yeah, my current idea is that when I get table parsing sorted out, I'll feel OK making my work on a new parser public. That's because tables are the last Big Thing™ in terms of parsing for me :)
14:10 pmurias awwaiid: the code itself lives in src/vm/js
14:11 ShimmerFairy (there's also stuff concerning ambient blocks, declarator blocks, and so on, but all that's pretty minor compared to tables)
14:11 pmurias awwaiid: I'm taking QAST and turning it into js+source maps (mostly using a tree traversal)
14:11 * jnthn wonders how much of the doc situation is also because plenty of folks would rather write their docs in Markdown than Pod6
14:11 * jnthn has never written Pod6 docs for his modules, but gave them all a README.markdown
14:11 awwaiid thanks pmurias. Mostly I'm just curious
14:12 jdv79 well, a single readme isn't "CPAN" quality
14:12 DrForr m: 2+(1/5).WHAT
14:12 camelia rakudo-moar 271e84: OUTPUT«WARNINGS:␤Useless use of "+" in expression "2+(1/5).WHAT" in sink context (line 1)␤Invocant requires an instance of type Rat, but a type object was passed.  Did you forget a .new?␤  in block <unit> at /tmp/DxlT4sEdoN:1␤␤»
14:12 DrForr m: (2+(1/5)).WHAT
14:12 camelia rakudo-moar 271e84: ( no output )
14:12 Ven joined #perl6
14:13 n0tjack joined #perl6
14:13 ShimmerFairy jnthn: I've lamented the preference of markdown over making Pod6 work better before :)
14:13 jdv79 why don't we support markdown better then?
14:13 softmoth joined #perl6
14:13 awwaiid I didn't realize nqp was a separate repo; thought it was either part of rakudo or the vms. interesting
14:13 pmurias awwaiid: it's NQP only for this moment, it should support Rakudo (and be more interesting) in a few weeks
14:13 RabidGravy is there a markdown parser in the ecosystem?
14:14 ShimmerFairy jdv79: you can always substitute your own doc parser for processing inline documentation. Using a DOC INIT that parses markdown and then exits before the Pod parser has a go would work for  perl6 --doc  usage.
14:14 RabidGravy but I tend to document my modules in the same way that I document my Perl 5 modules on CPAN, with inline POD
14:14 jdv79 ditto
14:14 awwaiid pmurias: has anyone looked at cross-compiling moarvm itself? I've seen that work for other languages.
14:15 ShimmerFairy For having markdown mixed with code, you'd need to write a slang of some sort.
14:15 jdv79 ShimmerFairy: i don't know much about pod6 but that sounds second or third class
14:15 awwaiid oh. jit.
14:15 jdv79 perhaps it could be easier
14:15 ShimmerFairy jdv79: well, markdown is "second-class" in the same way Python or C++ code is; you can add in the support to use that language/markup instead, but it's not meant to be provided by core :)
14:16 pmurias awwaiid: you can turn off the jit for moarvm
14:16 ShimmerFairy Honestly, I think the biggest hurdle for Pod6 is that there aren't a lot of good tools. I wonder how difficult it is to add support to GitHub, now that I think of it...
14:16 pmurias awwaiid: re cross-compiling moarvm, it shouldn't be that hard but I haven't seen cross-compiled language interpreters be used for thing besides repls
14:17 jdv79 well, its pretty suboptimal to have to install a module and its runtimme deps to be able to render its pod
14:17 n0tjack what are the rules for action method unpacking of $/ ?
14:18 n0tjack I want to set up multi subs for when a particular token exists or not, and have the compiler work out which to call with MMD
14:18 pmurias awwaiid: I don't plan to attempt to enscripten compile moarvm myself, as it seems to be really unfun work dealing with build systems (and other such disgusting things) for no real benefit
14:18 ShimmerFairy jdv79: you need to do that for POD in Perl 5 too (and rakudo comes with a basic Pod::To::Text, so that --doc has a default)
14:19 n0tjack m: grammar G { token TOP { <digit> <alpha> } }; class A { method TOP((:$digit, :$alpha)) { say $digit; say $alpha; } }; G.parse('1a', actions => A)
14:19 camelia rakudo-moar 271e84: OUTPUT«「1」␤「a」␤»
14:19 jdv79 ShimmerFairy: no you don't
14:19 n0tjack that works as a simple example, but I can't it to work "in real life" in my code
14:19 jdv79 i can render pod in a .pm without running it iirc
14:20 PerlJam n0tjack: maybe show the "real life"?
14:20 jdv79 i'm up against it a little with MetaCPAN but installing 400 dists isn't too bad but it will become more of a problem as that gets larger
14:20 ShimmerFairy jdv79: ah, that's what you meant. If you're using a dedicated tool for parsing pod, then sure. But if `perl` is the one that processes docs, then it's no different to what Perl 6 does
14:20 pat_js joined #perl6
14:20 jdv79 no, perl5 uses perldoc - seperate
14:21 ShimmerFairy jdv79: in terms of just processing files for documentation, I don't see why it should be different between Perl 5 and Perl6 -- you still need to get the files and process them.
14:21 [Tux] test             50000    37.935    37.821
14:21 [Tux] test-t           50000    40.329    40.216
14:21 awwaiid pmurias: ahh. I was thinking of ocamljs and js_of_ocaml, but I just checked and neither work that (llvm->js) way; ocamljs translates the AST to js, js_of_ocaml translates the ocaml bytecode to js.
14:21 jdv79 in p5 i can just perldoc -F Foo.pm
14:21 [Tux] so reproducible the same as this morning
14:21 jdv79 in p6 i have to install it and then perl6 --doc it
14:21 jdv79 that's a significant diff if you ask me
14:22 n0tjack multi method numeric-atom((:$val))
14:22 n0tjack multi method numeric-atom((:$val, :$alNUM))
14:22 n0tjack #=> error: Cannot call numeric-atom(j-numeric-interpreter: Match); none of these signatures match:
14:22 jdv79 not a huge deal.  just something that has to be dealt with differently
14:24 jdv79 also, is it possible to do the p5 equiv of "perldoc Foo::Bar"?
14:24 jdv79 well, the p6 equiv of that p5 example
14:24 khw joined #perl6
14:24 jdv79 which means show me the docs for that installed pkg
14:25 jdv79 instead of supplying a path like perl6 --doc .../Foo/Bar.pm
14:26 ShimmerFairy jdv79: wha? perl6 --doc Foo.pm  is the p6 equivalent. You don't need to "install" it, you just need to have the file.
14:26 n0tjack PerlJam: pasted above: I have a rule which can potentially but not alwys match two tokens. I want to handle the one-token an two-token cases separately.
14:26 PerlJam m: grammar G { token TOP { <digit> <alpha>? } }; class A { multi method TOP((:$digit)) { say "one token"; }; multi method TOP((:$digit, :$alpha)) { say "two tokens"; }; }; G.parse('1a', actions => A); G.parse('5', actions => A);
14:26 camelia rakudo-moar 271e84: OUTPUT«two tokens␤one token␤»
14:26 jdv79 but what if i want the docs on the installed on
14:26 jdv79 *one
14:27 jdv79 which is the normal use case in p5
14:27 jdv79 perldoc DateTime
14:27 jdv79 for instannce
14:28 PerlJam n0tjack: I think I'd need even more context to help debug whatever is going on in your code.  But, my example shows that it works (At least as I expect :)
14:28 ShimmerFairy I think reading docs is the domain of p6doc .  perl6 --doc is just for rendering the Pod6 in a file to some kind of output format (HTML, man page, etc.)
14:29 n0tjack PerlJam: yeah, learning to debug these things is part of my aim here. Was really asking where I should look to understand $/ unpacking.  For example, it took me a while to notice the doubled parens in the method signature
14:30 jdv79 moritz: is that true?
14:30 jdv79 the p6 equiv to perldoc DateTime is p6doc DateTime?
14:31 PerlJam jdv79: It should be IMHO.
14:31 cognominal hi, I ask again my questionof this morning :
14:31 cognominal m:  sub infix:<~~~>(Str(Cool) \s, Regex $r) is equiv(&infix:<~~>) {  s ~~ / ^ $r $ /; $/ }; say ('a' ~~~ /$<a>=a/)
14:31 camelia rakudo-moar 271e84: OUTPUT«「a」␤»
14:31 n0tjack jdv79: I don't know if you're asking theoretically or practically, but practically speaking, p6doc produces nothing but errors on my system
14:31 cognominal This user defined operator anchors the match but loose the $<a> capture. What is the way to not loose it?
14:31 jdv79 so, looks like docs need some work:)
14:32 jdv79 docs always come last - forgot that gem
14:32 ShimmerFairy jdv79: the  --doc  switch tells the compiler to process the file in a different, "DOC" mode. It just says "parse the file as Pod6, don't run $~MAIN language stuff (except for use statements and phasers prefixed with DOC), output the render result"
14:32 jdv79 i realize that's what it does.  but tat's not what i want.
14:32 jdv79 i want the tools people are used to
14:33 zoosha joined #perl6
14:33 jdv79 maybe there should be a mode where it looks at the CUR stuff
14:33 jdv79 perl6doc maybe wraps that up
14:34 ShimmerFairy jdv79: yeah, for 'perldoc' the equivalent should (eventually) be p6doc
14:34 jdv79 perl6doc Foo::Bar
14:34 jdv79 ok
14:34 * ShimmerFairy imagines it's waiting for Pod::To::Man, among other things :P
14:35 jdv79 though perl6doc is a guessable name
14:35 jdv79 w/e
14:35 jdv79 yes, and the html module is not cool either
14:36 PerlJam I want p6doc to be like perldoc only better.   For instance, p6doc shouldn't require  the -f, -q , -v, and -a switches to search for the equivalent p6 bits.  They should be available to constrain the search perhaps, but p6doc should be smart(er) about how it looks for docs
14:37 n0tjack I want p6doc to have a NLP parser and a snarky attitude. "Didn't you ask me that last night? It's ~~, not ==. Sheesh."
14:37 PerlJam n0tjack: that would be available as a module to enhance p6doc, of course ;)
14:39 jkva joined #perl6
14:40 TEttinger joined #perl6
14:41 masak PerlJam: +1 on optional flags but available for contraining
14:41 masak that sounds like it could be useful for both newcomers and more experienced users
14:41 PerlJam n0tjack: btw, unpacking the Match object is just like unpacking any other data structure, see the text starting at S06:1714
14:41 synbot6 Link: http://design.perl6.org/S06.html#line_1714
14:42 n0tjack PerlJam: Thanks!
14:44 [Coke] ShimmerFairy: it is very hard to get github to support pod6. There was a huge effort to make that happen at one point.
14:44 n0tjack ugh this is driving me nuts.  Doesn't help that I've long since lost my proficiency in vim .
14:44 sufrostico joined #perl6
14:44 ShimmerFairy [Coke]: was there? Is there a link perchance?
14:44 [Coke] "irclogs"
14:45 ShimmerFairy oh, so it was never brought up with github?
14:45 [Coke] I think hoelzro was involved. github uses a 3rd party tool. getting support into that tool was challenging to write, difficult to get upstream, and then you had to convince github to use the newer version.
14:46 ShimmerFairy [Coke]: afaict, the biggest hurdle would be to get github to run Perl 6. Their parsing tool is apparently able to dispatch to, say,  perl6 --doc=HTML file.pod6
14:47 [Coke] the third party tool didn't use perl6 to extract the docs.
14:48 [Coke] and if we want perl6 pod to be usable in more places, forcing sites to run perl 6 to parse it isn't going to help.
14:48 ShimmerFairy Oh? That's odd, it should. (Since it apparently uses perl for Pod5)
14:49 [Coke] getting people to use p5 is a much lower bar than getting them to use p6.
14:49 [Coke] anyway, talk to hoelzro. if it wasn't him, perhaps he remembers who it was.
14:49 [Coke] I wasn't involved, I've just been sitting here in the corner longer than you have.
14:50 ShimmerFairy [Coke]: I'm personally of the opinion that running Perl 6 shouldn't be any more demanding of people than running Perl 5, but I of course get why it'll be hard to make happen until at least a while after Christmas :)
14:51 tokuhirom joined #perl6
14:51 [Coke] "good luck"
14:51 jonadab To do that, you have to get every OS distributor except Microsoft to ship a working p6 out of the box, pretty much.
14:51 n0tjack ShimmerFairy: the playing field won't be even until a least a couple popular linux distros include p6 by default
14:51 n0tjack So 2018 by the very earliest
14:51 PerlJam I'm pretty sure it was hoelzro, but that was when github was using pygments.
14:52 jdv79 maybe because there aren't pkgs out there yet and it changes so fast pkgers won't keep up
14:52 n0tjack probably more like 2020+
14:52 PerlJam I dunno if hoelzro did anything when github switched to linguist
14:52 ugexe jdv79 hit the nail on the head
14:53 n0tjack PerlJam: Well, I'm nto getting anywhere, and you asked for "even more context", so:  https://gist.github.com/anonymous/396f416800ffb4693fec
14:53 ShimmerFairy Like I said, I've no delusions about how resistant people are to change. But I also think Perl 6 is no stranger to bootstrapping, so we'll figure it out :)
14:53 RabidGravy Fedora 22 has 2015.07 - I'm sure they'll catch up to .09 before long
14:53 n0tjack PerlJam: check out "method numeric-atom". I want to make it a multi. P6 does not.
14:54 ShimmerFairy anyway, ♘ P6 o/  :)
14:54 n0tjack what's that little horse?
14:54 n0tjack .u ♘
14:54 yoleaux U+2658 WHITE CHESS KNIGHT [So] (♘)
14:55 [Coke] aka "good night, p6"
14:55 n0tjack haha
14:56 PerlJam n0tjack: random thought ... you renamed "decimal" as "val" and "alNUM" as "dig".  In the sig you used "val" and "alNUM".  Did you try "val" and "dig" /
14:56 PerlJam ?
14:57 n0tjack PerlJam: no, lemme try that
14:57 * PerlJam doesn't remember when you do  <foo=bar> if you get both a "foo" and "bar" keys in $/
14:57 n0tjack you do
14:58 n0tjack nope, that doesn't seem to improve the situation
14:59 n0tjack what's weird is I'm passing a simple '123' as the command line parameter
14:59 n0tjack so $<alNUM> / $<dig> / $<xtnd> shouldn't come in to play
14:59 n0tjack it should be simply $<val>
14:59 jdv79 what is the p6 equiv of "perl -MDateTime -e 'print $INC{"DateTime.pm"}'"
14:59 jdv79 something CURish maybe?
15:00 ugexe ComUnitRepo::Local::File.candidates("DateTime")[0].Str or something
15:00 PerlJam yikes.
15:00 PerlJam I'd hope it could be something simpler
15:01 ugexe you could use the short-ids
15:01 ugexe i think
15:01 n0tjack m: join "", ('0'..'9'),('A'..'Z');
15:01 camelia rakudo-moar 271e84: ( no output )
15:01 n0tjack m: join "", ('0'..'9'),('A'..'Z'); my @digits = map {$digits.index($_)}, $dig.com
15:02 camelia rakudo-moar 271e84: OUTPUT«5===SORRY!5=== Error while compiling /tmp/hUlBUvRcsH␤Variable '$digits' is not declared. Did you mean '@digits'?␤at /tmp/hUlBUvRcsH:1␤------> 3'0'..'9'),('A'..'Z'); my @digits = map {7⏏5$digits.index($_)}, $dig.com␤»
15:02 n0tjack argh, paste fail
15:02 ely-se joined #perl6
15:02 ugexe @*INC.grep( { .starts-with("inst#") } ).map: { CompUnitRepo::Local::Installation.new(PARSE-INCLUDE-SPEC($_).[*-1]) };
15:03 ugexe flat $.curlis.map: {.candidates($.name, :auth($.authority), :ver($version // '*')).grep(*)}
15:03 ugexe thats how the CURLI wrappers do it
15:03 ugexe bin wrappers
15:03 Ven m: my %a = a => 1, b => 2; say %a.invert{2};
15:03 camelia rakudo-moar 271e84: OUTPUT«Type Seq does not support associative indexing.␤  in block <unit> at /tmp/e3n5RnMKU2:1␤␤Actually thrown at:␤  in block <unit> at /tmp/e3n5RnMKU2:1␤␤»
15:03 Ven :[
15:04 PerlJam Ven: you can always turn the Seq into a Hash
15:04 PerlJam m: my %a = a => 1, b => 2; say %a.invert.hash{2}
15:04 camelia rakudo-moar 271e84: OUTPUT«b␤»
15:05 Ven I'd expect the inverse of a hash to be a hash, though
15:10 n0tjack Is it possible to write a proto which calls .made on all named parameters to a function, and also calls $/.make on the return value of any function?
15:11 n0tjack I'd like to be able to express method foo((:$a, :$b)) { ($a, $b) = $a.made, $b.made; ... $/.make( $blah )} as method foo((:$a, :$b)) { ...; $blah;}
15:12 jdv79 so do we have an equiv to Task::Kensho?
15:12 jdv79 there are 2 spots where metacpan points to it
15:12 jdv79 Task::Star has no docs so that's lame for this
15:14 rindolf jdv79: hi, sup?
15:14 jdv79 not much
15:14 jdv79 how's things with you?
15:16 FROGGS joined #perl6
15:18 PerlJam n0tjack: my guess right now is that none of the multis match because when you say <foo=bar> you get both foo and bar keys in the match.  try <val=.decimal> to only get a val key in $/
15:20 PerlJam (and i've realized there's bunches of details about P6  that I seem to have forgotten)
15:21 pmurias jdv79: you are working on a metacpan for perl6?
15:21 n0tjack PerlJam: cool, lemme give that a shot
15:21 jdv79 yes
15:22 n0tjack PerlJam: that definite improved things.
15:22 n0tjack s/definite/definitely/
15:27 pmurias jdv79: awesome, IMHO that's one of the most important things for Perl 6 right now
15:28 uruwi test
15:28 n0tjack hmm, but now my calls to $/.make seem to not get passed back upstack
15:28 n0tjack maybe I should prefix the $/ still
15:29 jdv79 what should the name be and the url?...
15:30 n0tjack PerlJam: Yes, so the answer is precisely that I have to suppress the extra hash keys with the ., as you say, but I also have to use the signature pattern method foo($/ (:$a, :$b)), with the explicit $/, or my .makes get swallowed
15:30 n0tjack PerlJam++ # thanks
15:34 pmurias_ joined #perl6
15:34 telex joined #perl6
15:36 tony-o_ HTTP::Server::Async works with the GLR stuff now
15:41 mrf jdv79: surely 'MetaPanda' :P
15:44 jdv79 in META6.json - authors - is the first entry "the" author and the rest contribs?
15:45 jdv79 in other words, what is used for the auth if there is a list of authors?  my guess is the first in the authors list.
15:45 japhb .tell timotimo When you're feeling better, please push your perl6-bench fixes.  :-)
15:45 yoleaux japhb: I'll pass your message to timotimo.
15:47 tony-o_ Zoffix: the module overtakes should eventually be a lot easier, once CUR obeys the supercedes or specifying author/version stuff
15:47 jdv79 except panda has nothing to do with cpan per se
15:48 jdv79 metacp6an or metacpan6 are more likely i think
15:48 tony-o_ jdv79: i assume that wasn't directed at me
15:48 jdv79 no, mrf
15:49 [Coke] FROGGS is now an rt perl 6 bug admin admin.
15:49 n0xff joined #perl6
15:50 tony-o_ getting froggy with the rt
15:50 jkva joined #perl6
15:53 tony-o_ .tell Zoffix the other thing to check out, one step more removed from hiker is HTTP::Server::Router - https://github.com/tony-o/perl6-http-server-router
15:53 yoleaux tony-o_: I'll pass your message to Zoffix.
15:56 psch okay, apparently there's literally no repossession towards CORE.setting SC happening
15:57 psch oh, no, that's wrong
15:57 psch there's two, for NQPArray
15:57 jkva joined #perl6
15:58 psch well, BOOTHash, Hash, NQPArray, NQPClassHOW, Perl6::Metamodel::ClassHOW, Perl6::Metamodel::NativeRef and Stash
15:59 psch that's all i see repossessed in scwbObject
15:59 psch when compiling rakudo
15:59 psch (most of them more than once, which i'm not sure makes sense or no...)
16:02 mrf jdv79: MetaCP6AN and MetaCPAN6 both seem cluncky. Though I can see the benifit of the continuity. As a newish perl dev I have always assciated MetaCPANs name as being such due to the CPAN tool. Whilst I am aware this isn't the case it is a nice connection.
16:05 vytas where can i find source code for perl6 REPL
16:06 psch vytas: https://github.com/perl6/nqp/blob/master/src/HLL/Compiler.nqp#L64
16:07 vytas thanks psch
16:07 psch vytas: note though that's the parent class of the Perl6::Compiler
16:07 jnthn Also that Perl6::Compiler overrides some REPL-related methods
16:07 n0tjack Wow, this MMD stuff *really* lets you declutter functions. This is something I've wanted in a language for years.
16:07 psch right, what jnthn++ says
16:07 n0tjack don't need branches and sentinels and ifs, ands, or buts everywhere
16:08 psch the core functionality is declared there, but some called methods are overriden
16:08 psch +d
16:09 TimToady m: sub infix:<~~~>(Str(Cool) \s, Regex $r) is equiv(&infix:<~~>) {  s ~~ / ^ <inner=$r> $ /; $/ := $<inner> }; say ("a" ~~~ /$<a>=a/)
16:09 camelia rakudo-moar 271e84: OUTPUT«「a」␤ a => 「a」␤»
16:09 TimToady cognominal: ^^^
16:11 cognominal thx TimToady++. Obvious... retrospectively  :)
16:16 wollmers_ joined #perl6
16:18 Ven joined #perl6
16:21 nine timotimo: thanks for the heads up! I'm glad it's not as dire as it sounded. Hope you're better soon!
16:21 ^elyse^ joined #perl6
16:26 Ven TimToady: can I make a point again for dynamically-named dynamical values? :-)
16:26 vytas can i modify my system Compiler.nqp inplace or do i have to recompile it ?
16:31 uruwi joined #perl6
16:32 n0tjack is there some way to use a proto or something to DRY this section of code: https://gist.github.com/anonymous/c0f7a60cfedcf1214c3a  ?
16:32 edehont joined #perl6
16:33 n0tjack hmm, maybe forget the numeric-atom method, that doesn't perfectly fit the pattern, has an extra optional param
16:35 psch n0tjack: you should be able to reach <val> from a method above e.g. rational, iirc
16:36 psch n0tjack: something like method TOP($/) { make $<rational><val> }
16:36 vytas recompile is the answer. Compiler.nqp was left by rakudobrew...
16:36 psch or method TOP($/) { $<rational><val>.made } # or somesuch
16:36 n0tjack psch: thanks, I'll poke around there
16:38 psch vytas: if you're fiddling with internals it's probably more convenient to not rely on rakudobrew and operate on a checkout of rakudo directly
16:38 n0tjack psch: on second thought, what I want is $val .made *before* any of the methods are invoked. I can't .make it in TOP, by then it's too late
16:38 psch n0tjack: well, is val a token with an action method?
16:39 n0tjack no, it's a cover name for a bunch of different patterns
16:39 n0tjack lemme find the other gist
16:39 vytas psch++
16:39 n0tjack psch: https://gist.github.com/anonymous/396f416800ffb4693fec
16:42 TimToady Ven: you mean, kinda like poking new entries into your parent process's env?  That sounds like a really great way to have magical action at a distance...so at best I would only allow such a thing if a given lexical scope allowed it explicitly
16:43 Ven TimToady: not at all – I meant what I evoked at SPW. $*Foo::Debug = True; – having the value be dynamically bound, but the name be namespaced
16:43 Ven so that "it could scale"
16:43 Ven (code-wise, obviously. it could get really confusing otherwise, or would need "manual" namespacing)
16:44 TimToady just put Foo_ or Foo- on the front then, since the :: doesn't buy you anything
16:47 TimToady and, in fact, if the :: has nothing to do with packages, people would find it more confusing than _ or -
16:47 tony-o_ HTTP::Server::Router (https://github.com/tony-o/perl6-http-server-router) is also running on HTTP::Server::Async and working with GLR now ..
16:48 psch n0tjack: i don't really see the same kind of duplication in the second gist as in the first, fwiw
16:49 n0tjack psch: yeah, thanks to PerlJam I was able to refactor it, which was a good improvement but led to some duplication
16:49 psch n0tjack: you could install a FALLBACK i guess, but that's a bit spooky for my tastes
16:50 psch n0tjack: as in, "any method that's unknown calls a method that does 'make $<val>'"
16:51 n0tjack psch: that's a little .. yuck.  What I'd like is the notional equivalent of multi method any(qw<numeric-atom decimal complx rational scientific j-int>) ($/ ($val) ) { $/.make(  $val ); }
16:51 n0tjack so I can be explicit about which names I'm defaulting, but not repeat the logic
16:52 psch n0tjack: right, but that's the method table that you want the Junction for.  your FALLBACK could have a condition that says "only those names fall back to this method here"
16:52 psch http://doc.perl6.org/routine/add_fallback
16:52 psch not sure where the "method FALLBACK" way is documented, though
16:53 tokuhirom joined #perl6
16:53 n0tjack psch: It's a lead either way, thanks.
16:53 n0tjack psch: Any thoughts about a method wrapper that lets me call .make on all named params, and calls $/.make( $return_value ) implicitly ?
16:53 psch m: class A { method FALLBACK($name where any(qw<numeric-atom decimal>)) { say "making \$val" } }; A.new.numeric-atom; A.new.magic
16:53 camelia rakudo-moar 271e84: OUTPUT«making $val␤Constraint type check failed for parameter '$name'␤  in method FALLBACK at /tmp/t4xn7d9tEY:1␤  in any  at gen/moar/m-Metamodel.nqp:2864␤  in block <unit> at /tmp/t4xn7d9tEY:1␤␤»
16:54 psch n0tjack: ^^^ like that (from roast)
16:54 psch n0tjack: i'd still say FALLBACK with the latest question... no idea if there's another solution
16:54 n0tjack psch: That is helpful, but as you say, also a little spooky for my taste. One day I'm going to forget to make a "special case" function and I won't notice that it's just returning $val and get confused
16:55 n0tjack I think what I'm wanting is macros, honestly
16:55 psch yeah, sounds a bit like it :)
16:55 psch n0tjack: the good bit is, the FALLBACK with a where on $name only ever works for names that you explicitly allow
16:55 psch so being surprised by returning $<val> probably wont happen
16:56 psch instead, not getting a "method not found" error will happen :)
16:56 jnthn n0tjack: You could write a routine trait that .wrap's the method
17:03 n0tjack psch: that sounds promising
17:04 firstdayonthejob joined #perl6
17:04 n0tjack do traits have access to the Capture objects (i.e. function signatures) of their methods?
17:04 psch jnthn: ooc, should CORE compilation repossess every BOOTSTRAP stub?
17:05 FROGGS n0tjack: traits on routines can have access to the params/args, yes
17:06 n0tjack FROGGS: So I could, theoretically, loop over all the args passed, callwith .make on them, and then $/.make ( ) the return value of the routine?
17:10 Kogurr joined #perl6
17:11 SuzieQueue joined #perl6
17:12 n0tjack what's the notation for "any and all arguments"
17:13 psch m: sub f(|) { say "ok" }; f 1,2,3; f :foo, 42; f [1,2,3]
17:13 camelia rakudo-moar 271e84: OUTPUT«ok␤ok␤ok␤»
17:14 n0tjack will this work?
17:14 n0tjack multi sub trait_mod:<is> (Routine $r, :$made) {  $/.make(  $r.wrap( { callsame() } ) }
17:15 n0tjack so that way what I want is to say  multi method foo($/ (:$a, :$b) ) is made {  ... } and have the result of &foo passed to $/.make
17:16 psch n0tjack: i think you want $r() instead of callsame()
17:16 psch oh no
17:16 psch that doesn't really make sense...
17:16 Peter_R joined #perl6
17:17 psch m: sub f { "foo" }; &f.wrap( { say callsame } ); f
17:17 camelia rakudo-moar 271e84: OUTPUT«foo␤»
17:17 psch yeah, i was wrong, should work as-is, from what i understand
17:17 n0tjack cool, so you don't even need the ()
17:19 uruwi joined #perl6
17:20 uruwi Connection is a bit spotty here; don't be surprised if something happens
17:22 FROGGS I'd be surprised if nothing happened :o)
17:22 n0tjack m: class boo {  multi sub trait_mod:<is> (Routine $r, :$made!) { say "Made man";  $r.wrap( callsame )  );  method foo($a) is made { say "Heyo!";} }
17:22 camelia rakudo-moar 271e84: OUTPUT«5===SORRY!5=== Error while compiling /tmp/7SYyGu6BY0␤Missing block␤at /tmp/7SYyGu6BY0:1␤------> 3{ say "Made man";  $r.wrap( callsame )  7⏏5);  method foo($a) is made { say "Heyo!"␤    expecting any of:␤        statement end␤        s…»
17:23 n0tjack when I try to add a trait "is made" locally, I get "Can't use unknown trait 'is made' in a method declaration."
17:23 n0tjack even though it's the first declaration in my class
17:25 FROGGS m: class boo {  multi sub trait_mod:<is> (Routine $r, :$made!) { say "Made man";  $r.wrap( callsame )  };  method foo($a) is made { say "Heyo!";} }
17:25 camelia rakudo-moar 271e84: OUTPUT«Made man␤5===SORRY!5=== Error while compiling /tmp/tFsYUFas8o␤Can't use unknown trait 'is made' in a method declaration.␤at /tmp/tFsYUFas8o:1␤    expecting any of:␤        rw raw hidden-from-backtrace hidden-from-USAGE␤        cached pure d…»
17:25 psch m: class boo {  multi sub trait_mod:<is> (Routine $r, :$made!) {  $r.wrap( { say "man made!";  callsame } ) };   method foo($a) is made { say "Heyo!";} }
17:25 camelia rakudo-moar 271e84: ( no output )
17:25 psch .wrap takes a block
17:25 psch m: class boo {  multi sub trait_mod:<is> (Routine $r, :$made!) {  $r.wrap( { say "man made!";  callsame } ) };   method foo($a) is made { say "Heyo!";} }; boo.new.foo
17:25 camelia rakudo-moar 271e84: OUTPUT«man made!␤Too few positionals passed; expected 2 arguments but got 1␤  in method foo at /tmp/t7LNXbq74Q:1␤  in any call_with_capture at gen/moar/m-Metamodel.nqp:3625␤  in block  at /tmp/t7LNXbq74Q:1␤  in any enter at gen/moar/m-Metamodel.nqp:3717…»
17:26 psch *that* i don't know how to deal with :)
17:27 n0tjack psch: thanks, that made some progress
17:27 n0tjack psch: though in my case I get "cnnot invoked object with invocation.."
17:27 n0tjack ".. handler in this context"
17:28 n0tjack so, in real-life grammars you guys write, you just pepper $<foo>.made and $/.make ( ... ) everhwere?
17:28 n0tjack doesn't that feel repetitive?
17:29 ofzyh__ joined #perl6
17:33 psch n0tjack: https://github.com/peschwa/H6809/blob/master/lib/ASM/H6809/Assembler.pm6 is the only somewhat-involved non-CORE grammar i wrote as of now
17:34 psch actions start at line 105
17:34 psch (also almost a year old and neglected for about 10 months or so...)
17:35 psch so it could probably be improved by a lot... :)
17:37 n0tjack psch: I see. A few makes in there, mostly at function endpoints, but not too many .mades
17:37 n0tjack maybe I'm overthinking this then.
17:40 timotimo hm, so much sleep, so much backlog
17:40 yoleaux 15:45Z <japhb> timotimo: When you're feeling better, please push your perl6-bench fixes.  :-)
17:41 psch m: class boo {  multi sub trait_mod:<is> (Routine $r, :$made!) {  $r.wrap( sub (|c) { say "man made!";  callsame } ) };   method foo($a) is made { say "Heyo, $a!";} }; boo.new.foo("bar") # correct invocation for the "Too few positionals..." a bit higher
17:41 camelia rakudo-moar 271e84: OUTPUT«man made!␤Heyo, bar!␤»
17:42 psch m: class boo {  multi sub trait_mod:<is> (Routine $r, :$made!) {  $r.wrap( -> |c { say "man made!";  callsame } ) };   method foo($a) is made { say "Heyo, $a!";} }; boo.new.foo("bar") # and different WTDI
17:42 camelia rakudo-moar 271e84: OUTPUT«man made!␤Heyo, bar!␤»
17:45 n0tjack psch: I'm glad you got it working, but I have no clue why that worked ;)
17:46 dalek perl6-bench: be0e4c1 | timotimo++ | bench:
17:46 dalek perl6-bench: recent rakudo changed .push's semantics; we need .append instead
17:46 dalek perl6-bench: review: https://github.com/japhb/perl6-bench/commit/be0e4c16af
17:46 dalek perl6-bench: 10a8649 | timotimo++ | lib/Bench/Handling.pm6:
17:46 dalek perl6-bench: work around a strange bug in rakudo
17:46 dalek perl6-bench:
17:46 dalek perl6-bench: regarding interpolation of vars in regex
17:46 dalek perl6-bench: review: https://github.com/japhb/perl6-bench/commit/10a8649e5e
17:46 timotimo japhb: ^
17:46 psch n0tjack: the routine as argument to .wrap has to have a signature compatible with the wrapped routine
17:46 psch (or supply correct arguments itself, but that doesn't work with {call,next}same)
17:47 timotimo right, if you have different arguments, you'll need callwith or nextwith
17:47 psch n0tjack: the "(|c)" as signature means "just capture the arguments"
17:47 n0tjack psch: I see
17:47 n0tjack psch: yeah, that does make sense
17:48 psch i guess another WTDI could be *@, *%?
17:48 psch although that probably doesn't work anymore due to the single arg rule..?
17:48 psch not sure :)
17:48 jnthn psch: (repossess) Yes, though note that it probably wouldn't repossess the type object 'cus that doesn't change, but ratehr the STable and meta-object
17:48 n0tjack Unfortunately, in my context, I'm still getting "Cannot invoke object with invocation handler in this context"
17:48 psch jnthn: oh.  so i should be looking at scwbSTable instead...
17:49 psch jnthn: ClassHOW does get repossessed, so that doesn't seem to be the problem, which is good i suppose... :)
17:50 ^elyse^ joined #perl6
17:50 EricMobiel joined #perl6
17:52 n0tjack it's funny, the trait does get invoked, I get my side-effects
17:52 n0tjack but when it tries to actually call the action method, it croaks "cannot invoked object with invocation handler"
17:53 tokuhirom joined #perl6
18:02 FROGGS jnthn: if .subst would not set the lexical $/, this would not work, right? "a".subst(/(.)/,{$0~$0}) # aa
18:02 FROGGS jnthn: which means, the subst method *needs* to have side effects...
18:03 jnthn FROGGS: That's been a sort-of-not-resolved design issue for a long while...
18:03 FROGGS aye
18:04 FROGGS jnthn: I fixed the subst-in-a-for-loop bug and also cleaned up stuff about setting $/... which now strikes back :S
18:05 FROGGS okay, seems I have no choice but to set $/ again...
18:06 FROGGS m: my @a = <a b c>; for @a { say s[(.)] = "<$0>" }; say @a
18:06 camelia rakudo-moar 271e84: OUTPUT«Use of Nil in string context  in code  at /tmp/iMSYfNc4IN:1␤「a」␤ 0 => 「a」␤「b」␤ 0 => 「b」␤「c」␤ 0 => 「c」␤[<> <a> <b>]␤»
18:06 FROGGS s[(.)] = "<$0>" itself now returns the changed string, rather than the match, but $_ ~~ s[(.)] = "<$0>" returns the match as usual
18:07 FROGGS feels more useful especially when it is about S[(.)] = "<$0>"
18:10 EricMobiel joined #perl6
18:13 spider-mario joined #perl6
18:13 FROGGS it's a pity...
18:14 sufrostico joined #perl6
18:17 andreoss joined #perl6
18:22 FROGGS m: my @a = <a b c>; for @a { say S[(.)] = "<$0>" }; say @a
18:22 camelia rakudo-moar 271e84: OUTPUT«Use of Nil in string context  in code  at /tmp/ooKGrT9rME:1␤<>␤<<>>␤<<<>>>␤[a b c]␤»
18:22 FROGGS heh
18:27 ^elyse^ m: 1 ~> 2
18:27 camelia rakudo-moar 271e84: OUTPUT«Cannot call infix:«~>»(Int, Int); none of these signatures match:␤    (Str:D \a, Int:D \b --> Str:D)␤    (str $a, int $b)␤  in block <unit> at /tmp/1k3SJE_mCU:1␤␤»
18:27 ^elyse^ no jizz operator :(
18:27 ^elyse^ oh wait there is one, just passed the wrong arguments
18:27 FROGGS aye
18:27 ^elyse^ m: "A" ~> 2
18:27 camelia rakudo-moar 271e84: OUTPUT«infix:«~>» not yet implemented. Sorry. ␤  in block <unit> at /tmp/WRgUk6y0Qj:1␤␤»
18:28 ^elyse^ :P
18:28 FROGGS :P
18:29 ^elyse^ gotta love the guillemets
18:30 psch hrm, the Attribute STable gets repossessed..?
18:30 rurban joined #perl6
18:30 psch unless i'm misinterpreting something
18:32 Hor|zon joined #perl6
18:32 FROGGS jnthn said it gets a new one, no?
18:33 Effilry joined #perl6
18:34 psch FROGGS: well, "System.err.println(" repossessing STable for " + typeName(st.WHAT, tc));" prints Attribute once in scwbSTable...
18:34 psch the list looks pretty comprehensive, too
18:35 psch https://gist.github.com/peschwa/514e27f17b8fadf006ba
18:35 psch oh
18:35 psch i still have the scwb{dis,en}able calls in Any-iterable-method.pm
18:35 FROGGS but IIRC compose installs a new st...
18:36 FROGGS and we call Attribute.^compose
18:36 psch yeah, i'll add a note at the compose call and recompile
18:36 ugexe why does the $_.say output differ when i switch grep and map at the end in this example:
18:36 ugexe m: class Foo { has @.a = (1,2,3),(4,5,6); }; my $x = Foo.new; my $y = Foo.new; my @z = $x, $y; say @z>>.a>>.grep({ say $_.perl })
18:36 camelia rakudo-moar 271e84: OUTPUT«$(1, 2, 3)␤$(4, 5, 6)␤$(1, 2, 3)␤$(4, 5, 6)␤(((1 2 3) (4 5 6)) ((1 2 3) (4 5 6)))␤»
18:37 ugexe m: class Foo { has @.a = (1,2,3),(4,5,6); }; my $x = Foo.new; my $y = Foo.new; my @z = $x, $y; say @z>>.a>>.map({ say $_.perl })
18:37 camelia rakudo-moar 271e84: OUTPUT«1␤2␤3␤4␤5␤6␤1␤2␤3␤4␤5␤6␤[[((True) (True) (True)) ((True) (True) (True))] [((True) (True) (True)) ((True) (True) (True))]]␤»
18:37 psch ugexe: &say returns True, so you grep all elements, but you return True when you map
18:37 ugexe i mean the say $_.perl inside the map and grep
18:37 ugexe the first part of the output
18:38 TimToady why are you using both >> and .map?
18:38 ugexe want to call map on a list of lists
18:40 TimToady looks like grep is paying attention to the itemization and not iterating the sublist
18:40 espadrine joined #perl6
18:43 rindolf joined #perl6
18:44 hoelzro o/ #perl6
18:44 hoelzro long time no see =)
18:44 FROGGS hi hoelzro :o)
18:45 espadrine_ joined #perl6
18:45 hoelzro o/ FROGGS
18:46 hoelzro ShimmerFairy: I was the one who added perl6 support for pygments, but GH has since switched linguist to use textmate bundles
18:47 hoelzro either way, POD rendering isn't linguist's purview
18:47 hoelzro we would have to add POD6 support to whichever GH gem renders POD5
18:47 hoelzro (if I understand your question correctly)
18:49 llfourn joined #perl6
18:50 PerlJam hoelzro: https://github.com/github/linguist/tree/master/samples has an entry for pod, why not also pod6?
18:50 hoelzro PerlJam: it's a matter of highlighting vs rendering
18:50 PerlJam (granted I don't know exactly what they do with the samples)
18:51 hoelzro the samples are used to train a naive bayesian classifier for guessing which language a file is
18:52 uruwi joined #perl6
18:52 uruwi nya
18:54 psch FROGGS: right, the recomposition of Attribute happens after repossession of the STable
18:54 psch FROGGS: and after that the classHandle still holds onto the BOOTSTRAP SC
18:54 psch FROGGS: which is why we die in resolveAttribute
18:55 FROGGS psch: that sounds like you understand it :o)
18:56 TimToady ugexe: actually, I suspect it's a difference in 'is nodal'
18:56 psch FROGGS: ...kind of?  i can read the signs, but i have no idea where i am - so to speak
18:56 * TimToady wonders why method map isn't marked nodal...
18:56 ugexe TimToady: are both the map and grep output expected?
18:58 ugexe im mostly using it to do instead of using a grep/map instead a grep/map, like  @array.grep: { @$_.grep(*.so).Slip }
18:58 ugexe grep/map inside a grep/map ^
18:59 TimToady I think the map is probably wrong, and you need .deepmap to ignore nodal-ness
18:59 TimToady but map is mismarked currently
18:59 TimToady testing to see what happens if we also mark method map as nodal...
19:01 uruwi https://gist.github.com/bluebear94/30ec8e8c3c10d7f80fc8
19:01 uruwi ^ this script currently reacts badly to arrow keys; it makes the keypresses become out of phase
19:01 uruwi how to solve this?
19:02 timotimo uruwi: i suggest you use "END shell 'stty cooked echo'" instead of just putting it at the end, so you'll also survive things like ctrl-c
19:02 uruwi thanks timotimo
19:03 uruwi Replacing getc with get just waits for a string input forever
19:03 ugexe i thought $*IN to read key presses was broke due to data crossing thread barriers or something
19:04 TimToady yes, putting 'is nodal' on map makes it behave the same as grep
19:05 uruwi ugexe what do you suggest?
19:06 timotimo "get" will read a full line, yeah
19:06 TimToady I currently use something like this: repeat { $buf ~= $TTY.read(1) } until try my $s = $buf.decode;
19:06 timotimo i think since "getc" is about reading string characters, it may be that it has to wait for a grapheme boundary so it can reliably give one to you
19:06 timotimo you probably want .read instead
19:07 uruwi It works perfectly, thanks timotimo
19:08 timotimo you're welcome :)
19:08 timotimo sometimes it's hard to appreciate our rightness when it comes to graphemes :P
19:11 TimToady if roast is to serve as a language spec, we need tests for every operator to lock down whether they are nodal or not
19:12 TimToady (he says, after noticing that changing 'nodal' on method map had No Effect on the test outcomes...)
19:13 TimToady doubtless there are are other similar things that are currently "specified" only by the current implementation
19:13 TimToady at Christmas, we'll have to put a big note on it saying "We reserve the right to break anything that isn't tested in the spec tests."
19:14 TimToady which means, currently, that you're not allowed to use map :P
19:15 timotimo you're not allowed to rely on map; big difference! :P
19:16 dalek rakudo/nom: f0d4820 | TimToady++ | src/core/Any-iterable-methods.pm:
19:16 dalek rakudo/nom: map should be nodal
19:16 dalek rakudo/nom:
19:16 dalek rakudo/nom: Indeed, map is very nearly almost the prototypical nodal operation.
19:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f0d48207b6
19:18 TimToady hah, there's a comment after the 3 (count 'em) nodal tests, that says: # XXX need to test all the things
19:19 jnthn ++TimToady ;)
19:19 TimToady who came up with this 'nodal' thing, anyway?!?
19:20 jnthn Somebody who wanted things to DWTM, probably... :P
19:21 danstoner joined #perl6
19:21 diana_olhovik joined #perl6
19:21 lucs joined #perl6
19:29 jkva joined #perl6
19:32 grondilu joined #perl6
19:33 Hor|zon joined #perl6
19:33 uruwi joined #perl6
19:33 uruwi did my message get through?
19:34 margeas joined #perl6
19:34 uruwi Can you specify a timeout for a read operation? I tried using promises but apparently you can read a socket only from its thread of origin.
19:34 uruwi Apologies for anyone who received this message 3 times.
19:35 jnthn uruwi: You may want to try using IO::Socket::Async
19:36 uruwi I might sound like a noob... but how do I create one from $*STDIN?
19:37 uruwi If at all, of course.
19:38 psch i don't really get it
19:38 psch the repossession for Attribute shows it being owned by CORE afterwards
19:39 psch then the ^compose call happens
19:39 psch and after that, the classHandle that arrives in bindattr_s still belongs to BOOTSTRAP
19:39 uruwi I messed up; I actually want to read $*STDIN with a timeout
19:40 * [Coke] wonders what psch is testing.
19:41 psch [Coke]: i want to be able to revert nqp/52e409ec because it's a bandaid
19:41 psch [Coke]: the underlying problem is "something with repossession is weird", as far as i can tell...
19:42 gtodd joined #perl6
19:44 retupmoca joined #perl6
19:45 psch [Coke]: and it's probably been weird for a long time, but never came to the surface until the GLR added an "BEGIN Attribute.^compose" in Any-iterable-methods.pm
19:45 uruwi So I'd like to read $*STDIN asynchronously
19:47 maziar joined #perl6
19:48 jnthn uruwi: Ah, that's not supported yet.
19:48 jnthn (On the pre-xmas todo list, though)
19:49 * jnthn did a progress report: https://6guts.wordpress.com/2015/10/15/last-week-unicode-case-fixes-and-much-more/
19:49 uruwi Wait, maybe I can read into a supply on the main thread and run other tasks on a scheduler
19:49 jnthn uruwi: Yes, true
19:49 * jnthn gotta go...bbl, or tomorrow...
19:49 uruwi But if that's so, then I'll wait for that.
19:50 uruwi See you
19:50 gfldex jnthn++ # for progress and report
19:50 [Coke] RT: 1030; nom: 8; glr: 4; weird: 11; lta: 87; tests: 9; xmas: 75
19:51 murre joined #perl6
19:54 [ptc] Does anyone else see Linenoise failing to install via rebootstrap in panda, whereas 'panda install Linenoise' works fine?
19:54 [ptc] I keep getting "Could not find file 'Build.pm' for module Build.pm" in the test step
19:54 [ptc] it's basically repeatable for me (Debian, jessie, amd64)
19:54 tadzik interesting
19:54 tadzik please report that as a github bug, I may get around to seeing what's going on in there :)
19:55 tokuhiro_ joined #perl6
19:55 [ptc] ok, will do :-)
19:57 Hor|zon joined #perl6
20:03 psch i suppose a different, more involved bandaid could be running the classHandles (which, afaiu, correspond to type object) through scwbObject or scwbSTable before calling obj.bind_attribute_* in all the bindattr_* on jvm, but i'm pretty sure that'll have horrible or weird consequences (or both)
20:05 dalek rakudo-star-daily: a73f8fd | coke++ | log/ (9 files):
20:05 dalek rakudo-star-daily: today (automated commit)
20:05 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/a73f8fd139
20:05 dalek rakudo-star-daily: fe3bf43 | coke++ | log/ (9 files):
20:05 dalek rakudo-star-daily: today (automated commit)
20:05 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/fe3bf43176
20:05 dalek rakudo-star-daily: c951d83 | coke++ | log/ (9 files):
20:05 dalek rakudo-star-daily: today (automated commit)
20:05 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/c951d83a90
20:05 dalek rakudo-star-daily: ca71b9c | coke++ | log/ (8 files):
20:05 dalek rakudo-star-daily: today (automated commit)
20:05 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/ca71b9c046
20:05 dalek rakudo-star-daily: edf9933 | coke++ | log/ (9 files):
20:05 dalek rakudo-star-daily: today (automated commit)
20:05 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/edf9933894
20:05 dalek rakudo-star-daily: 82b3db3 | coke++ | log/ (9 files):
20:05 dalek rakudo-star-daily: today (automated commit)
20:05 [Coke] oh, is panda working at all? it died horribly for me over the past few days.
20:05 dalek joined #perl6
20:05 [ptc] works for me atm
20:06 [Coke] \o/
20:06 [Coke] Wonder if it's a new manifestation of my old issue with http proxy.
20:06 [ptc] maybe I need to update and try again, to see if it fails :-)
20:06 [ptc] nope, was already up to date
20:07 rindolf joined #perl6
20:07 [ptc] which is authoritative?  http://smoke.perl6.org or http://testers.p6c.org?  (or both maybe?)
20:10 espadrine_ joined #perl6
20:10 jdv79 fatal: remote error: awwaiid/p6-lrep.git@master is not a valid repository name
20:11 jdv79 smooth move awwaid
20:11 jdv79 ;)
20:11 skids joined #perl6
20:11 * [Coke] is still getting about a dozen of:
20:11 [Coke] Calling make-default-ecosystem(Str) will never work with declared signature ()
20:11 [Coke] at bin/panda:16
20:12 [Coke] (with different line numbers)
20:12 flussence [ptc]: both are equally useful in different ways imo
20:13 jdv79 .tell awwaiid LREP's meta source-url is borked
20:13 yoleaux jdv79: I'll pass your message to awwaiid.
20:13 * [Coke] has a sad panda.
20:13 flussence (smoke.* seems to be bitrotting though; there's no author for half these modules...)
20:14 jdv79 oO( if someone would help perhaps we could get on cpan testers faster )
20:14 virtualsue joined #perl6
20:14 * [ptc] wonders if SAD PANDA is a unicode symbol...
20:14 [ptc] jdv79: what would need to be done?
20:15 jdv79 whatever it takes
20:15 jdv79 i don't know yet cause i'm bogged down in metacpan
20:15 jdv79 talk to xdg.  last i tried to raise him he was busy.
20:16 kmel joined #perl6
20:16 hoelzro @perl6-users.grep(*.involved-with-website-redesign)>>++ # don't know if that really works, but I just saw the redesign!
20:17 [Coke] tadzik: opened https://github.com/tadzik/panda/issues/237
20:17 jdv79 Zoffix++ # JFDI basically
20:17 stmuk Zoffix++ # should be put on perl6.org/about
20:17 stmuk cd
20:17 [ptc] agreed, Zoffix++ has been doing sterling work recently
20:18 Suzeanne joined #perl6
20:19 PsuzeannePsy joined #perl6
20:20 [Coke] tadzik: um, if panda is installed, which copy of Panda.pm is it using when you run bin/panda?
20:20 walfisch joined #perl6
20:20 tadzik [Coke]: well, the one that 'use Panda' picks up :|
20:21 tadzik which does cause weird problems sometimes
20:21 [Coke] in p5, I could dump %INC to see that. how in p6?
20:21 jdv79 ugexe pasted something about that earlier
20:21 [Coke] but it seems like panda bootstrap should be using everything locally before install.
20:23 [Coke] jdv79: his send from 15:00 yields a "cannot lookup up attributes in a type object" for me.
20:24 jdv79 oh
20:24 jdv79 that stuff seems underexplored
20:24 [Coke] and the one at 15:02 dies with a "cannot use . as string concat"
20:25 * [Coke] supposes he's going to have to add "destroy panda from orbit whenever upgrading". :|
20:25 flussence that's what I usually do... after copying the state file somewhere safe
20:26 ugexe you can to change it to use CompUnitRepo::Local::File
20:26 [Coke] destroy panda insufficient. adding "just nuke entire install directory". :|
20:27 ugexe you can also use RAKUDO_MODULE_DEBUG and see exactly what gets loaded
20:27 [Coke] ... too late now
20:27 * [Coke] will try to remember that for next time.
20:29 spider-mario joined #perl6
20:29 [Coke] a complete nuke of my install directory works.
20:29 ugexe sounds like the cwd gets changed somewhere during the rebootstrap so the relative path `lib` doesn't point at anything
20:29 [Coke] that shouldn't be required.
20:32 sufrostico joined #perl6
20:35 [Coke] did panda move from being installed in languages/ to not recently?
20:37 [Coke] any chance panda can add HTTP::UserAgent to the modules it ships with?
20:37 [Coke] because if you need it, you can't install it.
20:39 jdv79 moritz: i'm getting too many open files on hack
20:39 jdv79 can we up it to 32K or 64K?
20:39 jdv79 that's what googling says elasticsearch likes
20:40 jdv79 or anyone else with root on hack
20:41 [Coke] tadzik: even with HTTP::UserAgent installed, it's not respecting my http proxy setting.
20:42 [Coke] ... ah, because it's using git protocols. *sigh*
20:43 btyler_ I also had this problem
20:43 jdv79 you can around that
20:43 [Coke] People in big companies are just going to give up and switch to python at this point.
20:43 btyler_ yeah, GIT_PROTOCOL or something
20:43 btyler_ but default to https is way easier I think
20:43 dbron_ joined #perl6
20:43 jdv79 i have this in my .gitconfig:
20:43 jdv79 [url "ssh://git@github.com/"] insteadOf = "git://github.com/"
20:44 jdv79 maybe you can http that?...
20:50 llfourn joined #perl6
20:50 * n0tjack is pretty sure his cat is thinking about eating him
20:52 bjz joined #perl6
20:52 huf you must be about 20 cm tall...
20:53 huf unless by cat you mean your pet tiger
20:55 jkva joined #perl6
20:57 espadrine joined #perl6
21:02 japhb .tell timotimo Thank you for the perl6-bench push.  That second commit is a weird one.  Is there an RT for the bug it fixes already?  (I like to annotate workarounds with a comment pointing to an RT or irclog URL.)
21:02 yoleaux japhb: I'll pass your message to timotimo.
21:02 japhb s/fixes/works around/
21:02 bjz joined #perl6
21:06 espadrine joined #perl6
21:06 bjz_ joined #perl6
21:08 grondilu "unless by cat you mean pet tiger"
21:08 grondilu ^made me think of https://s-media-cache-ak0.pinimg.com/736x/5e/34/d8/5e34d8f3db91a429e8fb8c8be7e4bb5e.jpg
21:12 dwarring joined #perl6
21:17 dwarring r: my $x = 42; $x = :$x; say $x.perl
21:17 camelia rakudo-jvm 271e84: ( no output )
21:17 camelia ..rakudo-moar 271e84: OUTPUT«(my \Pair_140034859548832 = :x(Pair_140034859548832))␤»
21:18 * dwarring weird
21:20 japhb What's the most idiomatic way to save the return value of a function call, returning it if it's a Failure?  In other words, what's the best way to say: { my $result = foo(); return $result if $result ~~ Failure; # $result safe to use after this point... }
21:21 dwarring r: my $x = 42; $x = (:$x); say $x.perl
21:22 camelia rakudo-jvm 271e84: OUTPUT«(my \Pair_1677829811 = :x(Pair_1677829811))␤»
21:22 camelia ..rakudo-moar 271e84: OUTPUT«(my \Pair_139757510868552 = :x(Pair_139757510868552))␤»
21:22 japhb It's important that the calling function receive the Failure in *NON* defanged form
21:22 TimToady m: say [[2, [3,4]], [4, [5, 6]]]».[1;1]
21:22 camelia rakudo-moar 271e84: OUTPUT«Cannot call postcircumfix:<[; ]>(Array, Int, Int); none of these signatures match:␤    (\SELF, @indices)␤    (\SELF, @indices, :$exists!)␤    (\SELF, @indices, :$delete!)␤    (\SELF, @indices, :$BIND! is rw)␤  in block <unit> at /tmp/P_Lu9S_jyb:1…»
21:22 dwarring r: my $x = 42; my $y = (:$x); say $y.perl
21:22 camelia rakudo-{moar,jvm} 271e84: OUTPUT«:x(42)␤»
21:24 TimToady m: say [[2, [3,4]], [4, [5, 6]]]».[1]».[1]
21:24 camelia rakudo-moar 271e84: OUTPUT«(4 6)␤»
21:28 TimToady m: say [[2, [3,4]], [4, [5, 6]]].map: *.[1;1]
21:28 camelia rakudo-moar 271e84: OUTPUT«Earlier failures:␤ Index out of range. Is: 1, should be in 0..0␤  in block <unit> at /tmp/DoPDvKBb3e:1␤␤Final error:␤ Cannot call map(Array: Failure); none of these signatures match:␤    (\SELF: &block;; :$label, :$item, *%_)␤    (HyperIterab…»
21:28 TimToady m: say [[2, [3,4]], [4, [5, 6]]].map: *.[1]».[1]
21:28 camelia rakudo-moar 271e84: OUTPUT«Cannot call map(Array: List); none of these signatures match:␤    (\SELF: &block;; :$label, :$item, *%_)␤    (HyperIterable:D $: &block;; :$label, *%_)␤  in block <unit> at /tmp/aRKWOhea2j:1␤␤»
21:33 n0tjack joined #perl6
21:43 margeas joined #perl6
21:51 e1f joined #perl6
21:52 bjz joined #perl6
21:53 kid51 joined #perl6
21:55 e1f i was reading this pdf perl6 slideshow; the one with the bright green borders, and i have a question about hashes: to delete a hash element you use: %capitals<UK>:delete;
21:56 e1f (that : notation seems rather odd) so i was wondering whether i can do %capitals.delete<UK>;
21:56 tokuhiro_ joined #perl6
21:56 e1f or does that even make sense
21:59 s_kilk joined #perl6
22:00 dalek roast: a9a89b4 | (David Warring)++ | S02-types/pair.t:
22:00 dalek roast: adding fudged test for RT#126369 - pair assignment quirk
22:00 dalek roast: review: https://github.com/perl6/roast/commit/a9a89b4d0b
22:00 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=126369
22:04 ugexe well, theres this
22:04 ugexe m: my %x; %x<F> = 1; %x.DELETE-KEY('F'); say %x.perl
22:04 camelia rakudo-moar 271e84: OUTPUT«{}␤»
22:05 e1f ok, that's easier to remember, and i guess '.delete' is ambiguous hence '.delete-key'?
22:06 ugexe its in all caps because its meant for internal use for the most part
22:06 e1f oh
22:07 e1f i just found the colon-notation rather ... incongruous
22:08 e1f i suppose, there's probably a clever mnemonic to remember it
22:10 e1f thank you for the response
22:19 ugexe its easier to remember when you start using %h<x>:exists and :k :v etc
22:19 psch elf: http://irclog.perlgeek.de/perl6/2015-10-04#i_11316102 has some insightful discussion about why we use an adverb for deleting hash elements
22:21 jkva joined #perl6
22:21 dalek rakudo/nom: dd51f8a | TimToady++ | src/core/ (2 files):
22:21 dalek rakudo/nom: more nodal cleanup
22:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/dd51f8a292
22:21 dalek roast: 7ea9ae0 | TimToady++ | S03-metaops/hyper.t:
22:21 dalek roast: test most nodal functions
22:21 dalek roast: review: https://github.com/perl6/roast/commit/7ea9ae0fb1
22:23 leont joined #perl6
22:26 skids joined #perl6
22:26 e1f in this context, is "adverb" the colon-action that goes after the ... "thing" rather than before the "thing", like dot-notation?
22:26 TimToady elf: thing is, what if you want to delete a slice, how would you write that with a method?  what if you want to delete from a hash with multidimensional subscripts, how would you write that?  using a subscript modifier, these are both obvious
22:26 TimToady yes, an adverb modifies some previous operator
22:27 TimToady "please subscript this deletingly" :)
22:28 e1f oh i see, yes, with the multi-dimensional aspect, it makes more sense now
22:29 TimToady m: my %h = :a(1), :b(2), :c(3), :d(4); say %h<b c>:delete; say %h
22:29 camelia rakudo-moar 271e84: OUTPUT«(2 3)␤a => 1, d => 4␤»
22:29 TimToady especially since delete returns values exactly like a subscript does
22:34 timotimo .tell japhb i haven't taken the time yet to golf the exact thing, but it should be easy-ish to do. i'll do it at some point, or perhaps someone else will
22:34 yoleaux 21:02Z <japhb> timotimo: Thank you for the perl6-bench push.  That second commit is a weird one.  Is there an RT for the bug it fixes already?  (I like to annotate workarounds with a comment pointing to an RT or irclog URL.)
22:34 yoleaux timotimo: I'll pass your message to japhb.
22:36 dalek specs: 70209e8 | (Stéphane Payrard)++ | S04-control.pod:
22:36 dalek specs: tyop
22:36 dalek specs: review: https://github.com/perl6/specs/commit/70209e8cbb
22:38 edehont joined #perl6
22:42 japhb Thanks, timotimo
22:44 japhb Anyone have any better way of writing the return-failures-or-use-result snippet I brought up at http://irclog.perlgeek.de/perl6/2015-10-15#i_11382649 ?
22:48 TimToady something like: with foo() -> $result {...} else { .return }
22:48 khw joined #perl6
22:48 TimToady assuming you want to return on any undefined value
22:48 timotimo or perhaps "use fatal" :P
22:48 TimToady that's antisocial
22:49 timotimo even if just inside the routine?
22:49 TimToady the idea is to propagate the failure to your caller
22:50 tokuhiro_ joined #perl6
22:51 RabidGravy right beddy byes
22:51 TimToady m: with Failure.new("foo") -> $result {...} else { say $result }
22:51 camelia rakudo-moar 271e84: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tbmDSA9EDs␤Variable '$result' is not declared␤at /tmp/tbmDSA9EDs:1␤------> 3.new("foo") -> $result {...} else { say 7⏏5$result }␤»
22:51 yoleaux joined #perl6
22:51 TimToady m: with Failure.new("foo") -> $result {...} else -> $result { say $result }
22:51 camelia rakudo-moar 271e84: OUTPUT«foo␤␤»
22:52 TimToady I guess the else won't automatically bind the value yet
22:52 dpk joined #perl6
22:52 TimToady m: my $result = Failure.new("foo") orelse .say
22:52 camelia rakudo-moar 271e84: OUTPUT«foo␤␤»
22:52 TimToady you can use orelse, I guess
22:53 llfourn joined #perl6
22:53 TimToady m: sub foo() { my $result = Failure.new("foo") orelse .return }; say foo
22:53 camelia rakudo-moar 271e84: OUTPUT«foo␤  in block <unit> at /tmp/sglEAJeInu:1␤␤»
22:54 TimToady m: sub foo() { .return without my $result = Failure.new("foo"); }; say foo
22:54 camelia rakudo-moar 271e84: OUTPUT«foo␤  in block <unit> at /tmp/ZQXgFt92cj:1␤␤»
22:57 ugexe looks like jvm is broke
22:58 ugexe looks like it might be this:
22:58 ugexe https://github.com/rakudo/rakudo/commit/e1890f4fd91e6eee00afa9cd227e53d875c4666c#diff-5bf64efe534c917d9f2d06f7fdcaf59dR875
22:59 ugexe Error while constructing error object:Could not locate compile-time value for symbol X::Syntax::ConditionalOperator::PrecedenceTooLoose
23:02 SuzieQueue joined #perl6
23:03 japhb m: say Failure.new("foo");
23:03 yoleaux 22:34Z <timotimo> japhb: i haven't taken the time yet to golf the exact thing, but it should be easy-ish to do. i'll do it at some point, or perhaps someone else will
23:03 camelia rakudo-moar 271e84: OUTPUT«foo␤␤Actually thrown at:␤  in block <unit> at /tmp/Un9SSPMXkU:1␤␤»
23:05 japhb Why does the simple 'say Failure.new("foo")' output an "Actually thrown at:"?
23:06 japhb (And thank you, TimToady, for the 'orelse .return' and '.return without' constructions.)
23:30 diakopter joined #perl6
23:30 baest_ joined #perl6
23:30 raiph joined #perl6
23:30 ilbelkyr_ joined #perl6
23:30 jordman_ joined #perl6
23:30 Juerd_ joined #perl6
23:30 danstone1 joined #perl6
23:30 breinbaa1 joined #perl6
23:30 Gothmog__ joined #perl6
23:30 boegel|quassel joined #perl6
23:31 dalek joined #perl6
23:32 jevin joined #perl6
23:34 sergot_ joined #perl6
23:34 tony-o joined #perl6
23:35 Util joined #perl6
23:35 jdv79 joined #perl6
23:36 revdiablo joined #perl6
23:36 ssflying joined #perl6
23:36 zoosha joined #perl6
23:38 ilbelkyr_ joined #perl6
23:39 Zoffix joined #perl6
23:39 hohoho joined #perl6
23:39 woodruffw joined #perl6
23:42 agentzh joined #perl6

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

Perl 6 | Reference Documentation | Rakudo