Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2016-03-16

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:00 nadim joined #perl6
00:02 coreyperry words <LISP PASCAL APL ADA COBOL FORTH PERL PHP> should be group by distinct letters,  i.e [FORTH,ADA],[FORTH,APL],[ADA,COBOL,PHP] ...
00:29 kid51 joined #perl6
00:37 timotimo coreyperry: sorry, i don't think i understand
00:37 timotimo what does ADA have in common with FORTH, and with COBOL, but COBOL not with FORTH?
00:41 labster joined #perl6
00:47 timotimo coreyperry: can you explain how you want those lists to be built?
00:50 TEttinger timotimo: they share no letters
00:50 [particle] joined #perl6
00:50 TEttinger ADA uses a different group of 2 letters than any of the 5 in FORTH
00:50 TEttinger that's the distinct in the request, I think
00:50 Actualeyes joined #perl6
00:52 cdg joined #perl6
00:58 TimToady what is this ADA of which you speak?  I know of a language called Ada, but not language called ADA...
01:05 pochi joined #perl6
01:06 kid511 joined #perl6
01:06 TimToady .oO(Another Damn Acronym)  :)
01:08 timotimo oh, now i get it
01:08 timotimo so basically out of the powerset you want to filter out only those where bagging the combed combination of the names gives you a set with as many entries as there are letters in the combination
01:10 timotimo i would type it out
01:10 timotimo but cat got my hand
01:18 MadcapJake` any idea what node_text_set_with_charef might mean? seems like the doxygen docs are copied from node_text_set (in the library MyHTML)
01:19 timotimo http://t.h8.lv/andshare/IMG_20160316_021713.jpg - hand got by cat
01:20 MadcapJake` lol what kind of cat is that?
01:21 MadcapJake` what are the numbers in his ear? o_O
01:21 timotimo it's the regular kind of cat
01:22 MadcapJake` oh, nice :P
01:22 Hotkeys Yo
01:23 MadcapJake` very cool coloration, looks like savannah coat
01:24 timotimo https://en.wikipedia.org/wiki/European_Shorthair
01:25 MadcapJake` cool
01:25 yeahnoob joined #perl6
01:27 timotimo i'm told "european shorthair" is really just a catch-all term for all kinds of wild cats that aren't really bred selectively
01:27 Hotkeys Oh oops is this #cats
01:27 timotimo no, this is patrick!
01:28 MadcapJake` lol
01:28 lichtkind joined #perl6
01:28 MadcapJake` what would be the point of storing a strings length? Is that really only important in C or should I maintain the functionality in my wrapper?
01:31 justine_o joined #perl6
01:41 skids joined #perl6
01:58 lucs joined #perl6
02:06 kalkin-__ joined #perl6
02:07 AlexDaniel hmm, where is Tag module?
02:11 tweakism MadcapJake`: so that you don't run off the end of it if it fails to be null-terminated and thus commit and invalid memory access or worse.
02:11 AlexDaniel hmm there it is https://github.com/4d47/perl6-tag-helper but it is not in the module directory, hmmm
02:13 AlexDaniel tweakism: “fails to be null-terminated”? It is either null-terminated or it's not. Am I missing something?
02:13 tweakism AlexDaniel: the case where 'it's not' == when it 'fails to be'
02:13 AlexDaniel tweakism: that is, if you don't trust that it is null-terminated, then why would you trust its length?
02:14 tweakism AlexDaniel: I'm not looking at the API, so it depends.
02:14 tweakism maybe because you allocated a buffer yourself.
02:14 tweakism but you can operate on a C string just fine if it's not null-terminated and you know the length.
02:15 tweakism AlexDaniel: obviously you cannot strlen() it to find out
02:15 tweakism you know this though so why are you asking me?
02:16 AlexDaniel :)
02:17 jack_rabbit joined #perl6
02:18 AlexDaniel https://github.com/perl6/ecosystem/commit​/c1d58723cb69469555703d9102115ea61a2e8066
02:19 AlexDaniel Yeah. Thank you very much.
02:21 AlexDaniel I kinda like the fact that it was removed after Christmas… like of course nobody was using it, right?
02:21 AlexDaniel sorry for crying out loud
02:38 vendethiel joined #perl6
02:39 jameslenz joined #perl6
02:47 molaf_ joined #perl6
03:08 MadcapJake` wait so it is important to keep length? but it's only on return and I can gather length inside perl 6 if I need to send something back to the C api
03:12 Actualeyes left #perl6
03:24 sortiz m: my int32 $a = 1; say $a +& 0xfffffffe;
03:24 camelia rakudo-moar 8cbb1e: OUTPUT«0␤»
03:36 cognominal joined #perl6
03:37 noganex joined #perl6
04:08 hacst joined #perl6
04:17 wamba joined #perl6
04:18 daxim joined #perl6
04:46 cpage_ joined #perl6
04:49 quester joined #perl6
04:58 Actualeyes joined #perl6
05:14 cpage_ joined #perl6
05:16 cpage_ joined #perl6
05:17 cpage_ joined #perl6
05:22 perlawhirl joined #perl6
05:25 perlawhirl hi perlers
05:27 buharin joined #perl6
05:27 perlawhirl coreyperry asked earlier about grouping words by distinct letter (ie, no 2 words share a common letter)
05:27 perlawhirl best i could come up with for now: http://hastebin.com/rukobuziva.pl
05:28 perlawhirl i was thinking of trying to do it with .classify, but things got confusing.
05:52 skids m: (1,2,3,4).combinations(2..*).say # perlawhirl
05:52 camelia rakudo-moar 8cbb1e: OUTPUT«((1 2) (1 3) (1 4) (2 3) (2 4) (3 4) (1 2 3) (1 2 4) (1 3 4) (2 3 4) (1 2 3 4))␤»
05:58 perlawhirl golf'd!
05:58 Cabanossi joined #perl6
05:59 musiKk_ joined #perl6
06:08 pierrot joined #perl6
06:08 sno joined #perl6
06:09 perlawhirl m: for <LISP PASCAL APL ADA COBOL FORTH PERL PHP>.combinations(2..*) -> @w { @w.say if 1 == all @w.join.comb.unique.map:{@w.grep(*.contains: $_)}; }
06:09 camelia rakudo-moar 8cbb1e: OUTPUT«(LISP ADA)␤(LISP FORTH)␤(PASCAL FORTH)␤(APL FORTH)␤(ADA COBOL)␤(ADA FORTH)␤(ADA PERL)␤(ADA PHP)␤(COBOL PHP)␤(LISP ADA FORTH)␤(ADA COBOL PHP)␤»
06:09 perlawhirl does 'all' exit early on first False?
06:09 perlawhirl just out of curiosity
06:11 aindilis joined #perl6
06:12 skids not necessarily it might thread.
06:18 jolts joined #perl6
06:19 jolts joined #perl6
06:20 sjoshi joined #perl6
06:24 skids m: say (<LISP PASCAL APL ADA COBOL FORTH PERL PHP>».comb».unique».join).combinations(2..*).grep: { +.join.comb.unique == +.join.comb} # just need to map them back.
06:24 camelia rakudo-moar 8cbb1e: OUTPUT«((LISP AD) (LISP FORTH) (PASCL FORTH) (APL FORTH) (AD COBL) (AD FORTH) (AD PERL) (AD PH) (COBL PH) (LISP AD FORTH) (AD COBL PH))␤»
06:34 sortiz m: dd Map.new(:a<1); dd Map.new((:b<2)); # First fails, seems that Map.new is ignoring its documented *%args :-(
06:34 camelia rakudo-moar 8cbb1e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/JO31cCHPQ7␤Unable to parse expression in quote words; couldn't find final '>'␤        ␤at /tmp/JO31cCHPQ7:1␤------> 3ew is ignoring its documented *%args :-(7⏏5<EOL>␤    expecting any of:␤    …»
06:34 sortiz m: dd Map.new(:a<1); dd Map.new((:b<2)); # First fails, seems that Map.new is ignoring its documented *%args
06:34 camelia rakudo-moar 8cbb1e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/QwRaQuO33W␤Unable to parse expression in quote words; couldn't find final '>'␤        ␤at /tmp/QwRaQuO33W:1␤------> 3ap.new is ignoring its documented *%args7⏏5<EOL>␤    expecting any of:␤    …»
06:35 sortiz m: dd Map.new(:a<1); dd Map.new((:b<2));
06:35 camelia rakudo-moar 8cbb1e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Q_Yo8PQ92F␤Unable to parse expression in quote words; couldn't find final '>'␤        ␤at /tmp/Q_Yo8PQ92F:1␤------> 3dd Map.new(:a<1); dd Map.new((:b<2));7⏏5<EOL>␤    expecting any of:␤       …»
06:35 sortiz m: dd Map.new(:a<1); dd Map.new((:b<2>)); # First fails, seems that Map.new is ignoring its documented *%args
06:35 camelia rakudo-moar 8cbb1e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Ky7L6VI6MS␤Unable to parse expression in quote words; couldn't find final '>'␤        ␤at /tmp/Ky7L6VI6MS:1␤------> 3ap.new is ignoring its documented *%args7⏏5<EOL>␤    expecting any of:␤    …»
06:35 sortiz m: dd Map.new(:a<1>); dd Map.new((:b<2>)); # First fails, seems that Map.new is ignoring its documented *%args
06:35 camelia rakudo-moar 8cbb1e: OUTPUT«Map.new(())␤Map.new((:b(IntStr.new(2, "2"))))␤»
06:37 * sortiz uff, the third attempt
06:37 bjz joined #perl6
06:40 skids m: say <LISP PASCAL APL ADA COBOL FORTH PERL PHP>.combinations(2..*).grep: { .join.comb.unique.sort eqv $_».comb».unique.flat.sort }
06:40 camelia rakudo-moar 8cbb1e: OUTPUT«((LISP ADA) (LISP FORTH) (PASCAL FORTH) (APL FORTH) (ADA COBOL) (ADA FORTH) (ADA PERL) (ADA PHP) (COBOL PHP) (LISP ADA FORTH) (ADA COBOL PHP))␤»
06:45 domidumont joined #perl6
06:49 domidumont joined #perl6
07:07 bjz joined #perl6
07:15 buharin joined #perl6
07:17 ufobat joined #perl6
07:22 CIAvash joined #perl6
07:26 domidumont joined #perl6
07:30 nakiro joined #perl6
07:30 bjz_ joined #perl6
07:31 FROGGS joined #perl6
07:38 firstdayonthejob joined #perl6
07:39 domidumont1 joined #perl6
07:43 Upasaka joined #perl6
07:53 darutoko joined #perl6
07:55 RabidGravy joined #perl6
07:59 domidumont joined #perl6
07:59 Ulti hoelzro just tried out your fancy REPL branch, if you press tab on a blank line you get some unhappy errors followed by a completion to "Any" https://gist.github.com/Mat​tOates/b80350376b3ba02c8ac7
08:04 domidumont joined #perl6
08:24 avalenn joined #perl6
08:36 wamba joined #perl6
08:37 RabidGravy boom!
08:38 DrForr My "Intro to Prancer" talk is accepted for YAPC::NA.
08:39 zakharyas joined #perl6
08:39 moritz \o
08:40 sortiz \o
08:41 sortiz DrForr, congrats!
08:42 sortiz m: dd Map.new(:a<1>); dd Map.new((:b<2>)); # First fails, seems that Map.new is ignoring its documented *%args, Bug?
08:42 camelia rakudo-moar 8cbb1e: OUTPUT«Map.new(())␤Map.new((:b(IntStr.new(2, "2"))))␤»
08:44 DrForr Thanks.
08:46 nine sortiz: documentation bug. Map.new is: method new(*@args) { @args ?? nqp::create(self).STORE(@args) !! nqp::create(self) }
08:47 rindolf joined #perl6
08:48 fireartist joined #perl6
08:50 sortiz nine, yep, I see the source, but IMO the documented behavior makes sense.
08:51 sortiz Why force the user to double the parenthesis?
08:52 jkramer joined #perl6
08:52 jkramer Ahoy
08:55 DrForr Speaking on this subject - I'm calling routes via '$route.(|@args)', and I need to add optional arguments to the @args list. I can include them explicitly via '$route.(|@args, :option("al"))' but I'm having trouble figuring out what to push onto the @arg array.
08:58 nine sortiz: because that's the only way for a subclass of Map to have attributes that can be initialized via constructor
09:10 sortiz nine, I see. :-(
09:10 dakkar joined #perl6
09:12 nadim joined #perl6
09:23 RabidGravy DrForr, a Pair
09:23 mkz_ joined #perl6
09:25 DrForr Ah, so 'Pair $x = ( option => 'al' ); @args.push($x); $route.(|@args);' - I'll test that later.
09:25 RabidGravy yaw
09:25 DrForr Thought I tried that but I was just rambling and needed to get to bed.
09:26 RabidGravy you could probably do it directly
09:27 * Ulti is compiling Rakudo on a Raspberry Pi 3
09:28 RabidGravy I ought to get one to go with the rest of the family
09:28 jkramer What's the equivalent of my $conf = do 'some-file-with-a-hash.conf'; in P6?
09:28 RabidGravy EVALFILE
09:29 jkramer Thanks!
09:29 DrForr I know that (|@args, :option('al')) works as I tried it, but I wanted to add it in a loop rather than one off, so I wanted to ahve something to push onto an array rather than do it as a one-off.
09:29 sortiz m: my %h; %h.push(:a<foo>); %h.push((:b<bar>)); dd %h; # The same problem RabidGravy, Pairs are tricky to pass.
09:29 camelia rakudo-moar 8cbb1e: OUTPUT«Hash %h = {:b("bar")}␤»
09:29 RabidGravy no, I meant @args.push: (Foo => bar);
09:30 sortiz m: my %h; %h.push(A => 'foo'); %h.push((Foo => 'bar')); dd %h;
09:30 camelia rakudo-moar 8cbb1e: OUTPUT«Hash %h = {:Foo("bar")}␤»
09:31 sortiz Yep, need a List of pairs.
09:31 DrForr Ah, that form. Fiddling now.
09:31 labster joined #perl6
09:32 RabidGravy sortiz, you're missing a crucial detail in the requirement
09:32 RabidGravy m: my @a = (Foo => "bar"); say @a.perl; @a.push: (Baz => "zub"); say @a.perl
09:32 camelia rakudo-moar 8cbb1e: OUTPUT«[:Foo("bar")]␤[:Foo("bar"), :Baz("zub")]␤»
09:32 RabidGravy not a Hash
09:33 DrForr foo(|@args); # <-- @args, not hash.
09:34 DrForr Hrm. I'm getting "Too many positionals passed", same error as when I was working on it last night. Let me pack the code into one line.
09:35 RabidGravy oh wait, your sub foo() is expecting named args?
09:36 * sortiz I need sleep
09:36 perlawhirl joined #perl6
09:36 RabidGravy the |@args flattens it to a list of positionals
09:38 RabidGravy foo(|%(@args)) if that is the case
09:41 perlawhirl .tell skids one character shorter... <LISP PASCAL APL ADA COBOL FORTH PERL PHP>.combinations(2..*).grep({1==all .join.comb.map(->$l {.grep(*.contains: $l)})}) # though arguably less readable
09:41 yoleaux perlawhirl: I'll pass your message to skids.
09:43 RabidGravy sortiz, or more coffee
09:46 sortiz RabidGravy, Sure (and a less ugly API to bind, ODBC is baroque)
09:47 virtualsue joined #perl6
09:53 zhmylove joined #perl6
10:10 labster1 joined #perl6
10:13 |Tux| test            20.861
10:13 |Tux| test-t          13.702
10:13 |Tux| csv-parser      47.597
10:15 rindolf Hi all.
10:15 rindolf moritz: here?
10:16 moritz rindolf: kinda
10:16 rindolf moritz: can I PM You?
10:16 moritz rindolf: sure
10:16 rindolf moritz: OK.
10:16 abraxxa joined #perl6
10:18 espadrine joined #perl6
10:22 perlawhirl joined #perl6
10:25 perlawhirl joined #perl6
10:26 dalek joined #perl6
10:27 kanishka joined #perl6
10:31 luis joined #perl6
10:33 frithnanth joined #perl6
10:39 kalkin- joined #perl6
10:42 domidumont1 joined #perl6
10:43 zakharyas joined #perl6
10:45 lizmat [Tux]: you probably want to post those numbers on #p6dev  :-)
10:45 virtualsue joined #perl6
10:46 jnthn lizmat: Something caused a notable slowdown a few days ago...wants hunting down at some point. I'll do it if nobody else gets there first, though want to try and get the heart of the heap snapshot thingy hammered out today
10:46 jnthn (Notable slowdown in those numbers, I mean)
10:47 lizmat jnthn: yeah, we all noticed... I think heap snapshot tool is a better investment at this point  :-)
10:49 domidumont joined #perl6
10:52 jnthn lizmat: Well, today is the last day for several where I can have the peace and quiet I need to get it in :)
10:56 pmurias joined #perl6
11:00 sjoshi joined #perl6
11:00 lizmat jnthn: fwiw, I feel the slowdown is (also) in parsing, at least of the core settings
11:20 molaf joined #perl6
11:25 kaare__ joined #perl6
11:35 kid51 joined #perl6
11:38 sortiz joined #perl6
11:45 pmurias joined #perl6
11:49 pmurias any particularly interesting pior work about data flow analysis I should look into (besides the Hoopl library)?
12:01 sjoshi joined #perl6
12:03 Woodi jnthn: do heap shapshot can be (someday) used for backup, or freeze/unfreeze of process ?
12:06 lizmat Woodi: afaik, jnthn intends it as a debugging tool
12:06 Skarsnik joined #perl6
12:06 Skarsnik Hello
12:07 jnthn Woodi: No
12:08 jnthn Woodi: It's for memory use profiling, understanding why things don't get collected, etc.
12:12 pmurias isn't serialization something that could be used for freeze/unfreeze?
12:16 jkramer left #perl6
12:20 RabidGravy So I said yesterday that I would look at PortMIDI after PortAudio, which is all cool and groovy, it's actually quite a simple binding, however making the messages in a somewhat usable way is a proper PITA
12:21 RabidGravy I must have seen into the future when I wrote Util::BitField ;-)
12:30 ely-se joined #perl6
12:38 CurtisOvidPoe joined #perl6
12:39 CurtisOvidPoe Anyone interested in writing a Perl 6 interface for https://geocoder.opencagedata.com/code? A guy affiliated with it is willing to pay $100 for that. He doesn’t have any user demand or real need, but he’d like to say that they support Perl 6.
12:40 FROGGS joined #perl6
12:40 dalek ecosystem: 8797fcd | kuerbis++ | META.list:
12:40 dalek ecosystem: Add Term::Choose::Util to ecosystem
12:40 dalek ecosystem:
12:40 dalek ecosystem: See https://github.com/kuerbis/Term-Choose-Util-p6
12:40 dalek ecosystem:
12:40 dalek ecosystem: Add Term::TablePrint to ecosystem
12:40 dalek ecosystem:
12:40 dalek ecosystem: See https://github.com/kuerbis/Term-TablePrint-p6
12:40 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/8797fcddbb
12:40 dalek ecosystem: 54b17f9 | RabidGravy++ | META.list:
12:40 dalek ecosystem: Merge pull request #171 from kuerbis/master
12:40 dalek ecosystem:
12:40 dalek ecosystem: Add Term::Choose::Util to ecosystem
12:40 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/54b17f9c52
12:40 FROGGS o/
12:41 tadzik CurtisOvidPoe: sounds interesting to me
12:41 skids joined #perl6
12:42 CurtisOvidPoe Can you drop me an email? I’ll put you in touch with him. He’s a nice guy and like I said, he doesn’t need this, but he think it would be cool to support us.
12:42 jnthn Nice
12:42 jnthn CurtisOvidPoe++ tadzik++
12:42 CurtisOvidPoe That last line was for your, tadzik :)
12:42 tadzik CurtisOvidPoe: sure, can you PM it to me?
12:43 CurtisOvidPoe tadzik: done.
12:44 RabidGravy cool, looks really, really easy: doesn't need anything that isn't there already
12:44 tadzik yeah
12:44 tadzik I bet there'll be some surprises on the way; aren't there always? :P
12:45 RabidGravy software's like that
12:47 masak tadzik: it'd be a real surprise if there were no surprises!
12:47 tadzik indeed!
12:47 RabidGravy tadzik, BTW I may have the portmidi binding in a somewhat usable state sometime today, sugaring the creation of the MIDI messages may take a little longer
12:47 perlawhirl There's already a perl5 module, dump it in a pm6 with Inline::Perl5... collect your $100 and dust your hands of :D
12:47 tadzik RabidGravy: oh, awesome
12:48 perlawhirl or you know... just port it
12:48 tadzik perlawhirl (IRC): hahaha, that'd be such a cheat though :D
12:48 tadzik that said, think how awesome would it be if Inline::Perl5 supported pulling POD from the modules and exposed it with .WHY and friends
12:48 RabidGravy I'd actually "black box" it from the spec
12:49 tadzik the api looks really nice
12:49 tadzik I waited for the page to load, repeating the mantra "pleasedon'tbeoauth" over and over
12:49 perlawhirl yeah... that reminds me. the precomp stuff nine and FROGGS sorted out for Inline::Perl5 is so great. it's now a perfectly reasonable option to use Inline::Perl5 even for short running scripts
12:49 perlawhirl so
12:49 perlawhirl FROGGS++
12:50 perlawhirl thanks
12:51 RabidGravy I've sortakinda implemented enough of OAuth for Webservice::Soundcloud to work
12:52 RabidGravy I ought to whip it out and make it generally usable as a separate module
12:52 RabidGravy or, y'know, someone else could
12:53 RabidGravy I'm also in the market for Digest auth if anyone's bored
12:53 domm_ joined #perl6
13:18 Actualeyes joined #perl6
13:26 psch RabidGravy: fwiw, i think publishing the fork would've been fine.  i'd have done the same i did just now then, which is add a README that links your fork
13:26 psch on the off-chance that someone stumbles on my repo somehow... :)
13:27 RabidGravy :) Hope it meets your expectations
13:27 psch prior experience with build scripts made me dislike disappearing git repo
13:29 psch well, if a precomputed sine barely works i think i'll have to wait for a few more opts :)
13:30 psch but yeah, short on time and brain space anyway, soo...
13:31 RabidGravy it may be possible that at some point in the near future the array operations may be fast enough
13:35 RabidGravy for instance some cursory benchmarks indicate that the CArray constructor is 20% faster with nums
13:35 domidumont joined #perl6
13:37 RabidGravy and the https://github.com/rakudo/rakudo/commit/e8bc151d27 promises some more good things
13:39 pmurias joined #perl6
13:56 psch m: printf "%d", Mu.new
13:56 camelia rakudo-moar e8bc15: OUTPUT«X::TypeCheck::Binding exception produced no message␤␤»
13:56 psch m: sub f(*@a) { }; f Mu.new
13:56 camelia rakudo-moar e8bc15: ( no output )
13:56 psch m: sub f($, *@a) { }; f 1, Mu.new
13:56 camelia rakudo-moar e8bc15: ( no output )
13:58 psch m: sprintf "%d", Mu
13:58 camelia rakudo-moar e8bc15: OUTPUT«Type check failed in binding $x; expected Any but got Mu (Mu)␤␤»
13:58 psch m: sprintf "%d", Mu.new
13:58 camelia rakudo-moar e8bc15: OUTPUT«X::TypeCheck::Binding exception produced no message␤␤»
13:58 psch yeah i don't get that
13:58 psch m: use nqp; nqp::p6box_s(Mu)
13:58 camelia rakudo-moar e8bc15: OUTPUT«Cannot unbox a type object␤  in block <unit> at /tmp/tv7FWpor8w line 1␤␤»
13:59 psch m: use nqp; nqp::p6box_s(Mu.new)
13:59 camelia rakudo-moar e8bc15: OUTPUT«This type cannot unbox to a native string␤  in block <unit> at /tmp/4q8Tut3vG_ line 1␤␤»
13:59 CurtisOvidPoe For those who didn’t see my Perl 6 “Why People Are So Excited” talk at FOSDEM, it’s online now: https://www.youtube.com/watch?v=hR9UdvxMAbo First three minutes of audio are rather messed up, but then get fixed.
14:01 perlpilot CurtisOvidPoe++ watched it this morning while eating breakfast.  Good talk!
14:01 psch hrm.  probably something about how it gets passed down to the NQP-level impl through QASTOperationsMAST...
14:02 perlpilot CurtisOvidPoe: now if you could give that talk at a *bunch* of events, that would be awesome  ;)
14:02 El_Che it's a great talk
14:04 psch CurtisOvidPoe: ooc, who was the target of the finger-pointing and "shut up" at the start? :)
14:04 CurtisOvidPoe psch: I don’t remember, sorry.
14:05 skids joined #perl6
14:05 psch heh, no worries :)
14:07 lucs joined #perl6
14:08 Azry is there a reason why on every module i read on modules.perl6.org, noone uses "BUILD" and "BUILDALL". everyone uses "multi method new" for object construction
14:08 RabidGravy sound like 32 bit foldover at the beginning, no getting back from that
14:08 wisti joined #perl6
14:08 Azry i'm struggling to find good examples
14:09 RabidGravy Azry, you didn't look hard enough
14:09 moritz Azry: because the module authors all hate subclassing, presumably
14:10 Azry okay =) i'll continue searching there x) thanks
14:10 RabidGravy https://github.com/jonathanstowe/Audio-PortA​udio/blob/master/lib/Audio/PortAudio.pm#L887
14:11 moritz Azry: pro tip: git clone https://github.com/moritz/perl6-all-modules; cd perl6-all-modules; git grep 'method BUILD'
14:12 masak moritz++ # perl6-all-modules
14:12 RabidGravy https://github.com/jonathanstowe/Audio-Encode-Lame​MP3/blob/master/lib/Audio/Encode/LameMP3.pm#L1301
14:12 spintronic joined #perl6
14:13 Azry hanks =) i'll try these
14:13 RabidGravy but you're probably better off just asking the question rather than guessing by looking at other peoples code
14:13 moritz .tell DrForr your module perl6-ANTLR4 has .precomp files under version control. Please git rm -r --fached .precomp && echo .precomp >> .gitignore
14:13 yoleaux moritz: I'll pass your message to DrForr.
14:14 RabidGravy oh, I've so done that before
14:14 moritz also, if you have feedback on how to improve http://doc.perl6.org/language​/objects#Object_Construction that would be appreciated :-)
14:15 moritz BUILDALL seems not to be in much use
14:16 moritz just two usages in perl6-all-modules
14:16 RabidGravy I've never used it
14:18 Azry I'm trying to figure out how to create an inherited class with a different constructor for different arguments
14:18 salva_ joined #perl6
14:19 Azry i don't quite yet see how to do it =( if you want a gist, i'll be happy to provide =)
14:19 moritz Azry: please do
14:19 moritz Azry: and please use named arguments only, that'll make your life much easier
14:19 moritz Azry: and that of anybody who wants to subclass your classes
14:20 diakopter .u CHEESE
14:20 yoleaux No characters found
14:21 RabidGravy Azry, in summary:
14:22 RabidGravy m: class Foo { multi submethod BUILD() { say "no args"; } multi submethod BUILD(:$foo!) { say "args"; } } Foo.new; Foo.new(foo => 1);
14:22 camelia rakudo-moar e8bc15: OUTPUT«5===SORRY!5=== Error while compiling /tmp/PSveIfr8mI␤Strange text after block (missing semicolon or comma?)␤at /tmp/PSveIfr8mI:1␤------> 3lti submethod BUILD() { say "no args"; }7⏏5 multi submethod BUILD(:$foo!) { say "ar␤    expecting an…»
14:22 TimToady .oO("No cheese, Grommit. Not a bit in the house!")
14:22 RabidGravy m: class Foo { multi submethod BUILD() { say "no args"; } multi submethod BUILD(:$foo!) { say "args"; } }; Foo.new; Foo.new(foo => 1);
14:22 camelia rakudo-moar e8bc15: OUTPUT«5===SORRY!5=== Error while compiling /tmp/UNDg2K9OYK␤Strange text after block (missing semicolon or comma?)␤at /tmp/UNDg2K9OYK:1␤------> 3lti submethod BUILD() { say "no args"; }7⏏5 multi submethod BUILD(:$foo!) { say "ar␤    expecting an…»
14:22 RabidGravy m: class Foo { multi submethod BUILD() { say "no args"; }; multi submethod BUILD(:$foo!) { say "args"; } }; Foo.new; Foo.new(foo => 1);
14:22 camelia rakudo-moar e8bc15: OUTPUT«no args␤args␤»
14:22 RabidGravy I hate that
14:22 RabidGravy (the forgetting the semicolon that is, not BUILD)
14:27 Azry i was gonna send this : https://gist.github.com/ano​nymous/6e111a1914dfc938c644 but i might rethink it to use name arguments only =)
14:30 Azry RabidGravy: is your class Foo is inherited, how do you pass arguments to the inherited function from the build method (like you would with callwith from buildall) ?
14:30 Azry *if your [...] sorry
14:32 moritz Azry: if you use named arguments for new, they are passed to BUILD too
14:36 spintronic joined #perl6
14:38 nakiro joined #perl6
14:41 nadim joined #perl6
14:44 RabidGravy and passed to the BUILD of all the sub-classes
14:44 Azry shouldnt this code work then ? class IO::Pty is IO::Handle { multi submethod BUILD() { say "no args"; } }; say IO::Pty.new.gist; say IO::Pty.new(path => '/dev/null').gist;
14:45 Azry path should be passed for initialization to the inherited method and the cas without argument should be caught by the local build ? i don't know x)
14:46 moritz what do you mean by "caught"?
14:46 lapieh joined #perl6
14:46 moritz methods ignore extra named arguments, so nothing in there would cause an exception
14:47 RabidGravy it appears to "work"
14:47 moritz if you want to enforce the presence of that argument in a subclass, you can make it mandatory: submethod BUILD(:$path!) { }
14:49 spintronic joined #perl6
14:50 maybekoo2 joined #perl6
15:00 Azry alright i think i understand now the root of what confused me : IO::Handle.new.gist; gives me a warning wheras IO::Handle.new.perl; doesn't
15:00 hoelzro o/ #perl6
15:00 RabidGravy yeah, LTA but it's when it tries to print the path
15:01 hoelzro Ulti: thanks for trying it, I'll have a look!
15:03 RabidGravy also if you add attributes to your subclass and you want to see them with .gist or .perl and the super-class provides its own .perl or .gist then you will have to over-ride
15:03 RabidGravy which is what happens in this case
15:04 Azry OK. I understand that now. But maybe the cas in which $!path is empty in method gist/perl in Handle.pm should be considered ?
15:04 masak fun fact gleaned from perl6-all-modules: there are exactly 2 uses of `CHECK { ... }` in the ecosystem
15:07 moritz Tux/CSV/lib/Text/CSV.pm and grondilu/openssl/lib/SSL/Digest.pm
15:08 psch $ ./perl6-m -e'printf "%d", 0^1'|& less
15:08 psch Cannot sprintf type (Junction)
15:08 psch as X::AdHoc, currently
15:08 psch note sure we want that typed specifically, but i could see X::TypeCheck::Argument
15:08 psch s/note/not/
15:09 psch well, and minus the parenthesis for the type object :)
15:09 RabidGravy well it's better than the previously quite confusing error
15:09 RabidGravy :)
15:14 psch ...now for all the other directives
15:14 psch unfortunately i don't really see a way to make that DRYer :/
15:14 psch m: printf "%f", 0^1
15:14 camelia rakudo-moar e8bc15: OUTPUT«cannot numify this␤␤»
15:14 psch ah, that's something i suppose
15:14 psch m: printf "%d", 0^1
15:14 camelia rakudo-moar e8bc15: OUTPUT«P6opaque: get_boxed_ref could not unbox for the representation '20'␤␤»
15:18 woodruffw joined #perl6
15:20 Juerd In my Perl 5 work I keep running into what I could have solved with an 'except' operator in Perl 6. Frustrating.
15:20 Juerd sub infix:<except>(@list, $exception) { @list.grep: * !~~ $exception }
15:20 Juerd m: sub infix:<except>(@list, $exception) { @list.grep: * !~~ $exception }; say ^10 except 5
15:20 camelia rakudo-moar e8bc15: OUTPUT«(0 1 2 3 4 6 7 8 9)␤»
15:21 moritz Juerd: it's often the small things that annoy me the most in p5; like having to repeat the name of named arguments (name => $name instead of :$name)
15:22 Juerd Of course, I can have my  sub except { my ($aref, $exception) = @_; ... }
15:22 Juerd But passing a reference, etc, it all seems like so much work once you've used Perl 6 a bit.
15:26 brabo joined #perl6
15:26 moritz aye
15:27 Khisanth joined #perl6
15:30 cdg joined #perl6
15:32 nemo wow. no zoffix still
15:34 tadzik hmm, I wonder how feasible would it be to make everything in JSON::Unmarshal lazy
15:35 tadzik it takes 0.17 seconds to unpack an example API resopnse from OpenCageData
15:35 tadzik which is not that bad, since there is also latency from actually downloading it too, which mask this a bit :P
15:40 itaipu joined #perl6
15:42 tweakism joined #perl6
15:45 khw joined #perl6
15:46 |Tux| moritz that CHECK is essential in CSV
15:47 masak |Tux|: yes, I gathered
15:51 psch RabidGravy: https://gist.github.com/pe​schwa/b7449b286f5beb194a5e how's that look to you?
15:52 RabidGravy works for me :)
15:53 psch that should work for everything that can't be unboxed (or *ified) to the type matching the directive as well
15:53 psch m: class A { }; printf "%d", A.new
15:53 camelia rakudo-moar e8bc15: OUTPUT«Method 'Int' not found for invocant of class 'A'␤␤»
15:53 psch ah, those work there already, hmm
15:53 * psch checks how that looks locally
15:55 psch yeah, that'd also get caught in my changes...
15:55 psch that actually makes this a tad more complicated :/
15:56 psch ah, no, it still tries e.g. .Int, but fails differently
15:56 psch i think i like that
15:57 psch m: sprintf "%d", 1..* # this throws "Cannot (s)printf a lazy list", too
15:57 camelia rakudo-moar e8bc15: OUTPUT«Cannot .elems a lazy list␤  in block <unit> at /tmp/CgLfsnMvAe line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/CgLfsnMvAe line 1␤␤»
15:57 psch well, instead of what it does in nom right now
16:02 ufobat FROGGS, are the slides from your perl6 einführungs talk online somewhere?
16:05 FROGGS ufobat: can you read odf files?
16:06 ufobat odf is libreoffice? i can
16:06 FROGGS aye
16:07 FROGGS ohh, it is odp actually
16:07 ufobat yeah, odf would be awesome! i missed the talk and i cant wait for Steffen getting the videos done :)
16:07 FROGGS I misremembered
16:07 FROGGS dunno if the slides help that much :o)
16:08 ufobat oh :-(
16:08 FROGGS http://act.yapc.eu/gpw2016/talk/6502
16:09 ufobat did you just upload them? i could swear i didnt see then this morning
16:09 ufobat thanks!
16:09 FROGGS I just did, yes
16:14 ufobat thank you :)
16:15 Begi joined #perl6
16:27 stmuk_ 6502!
16:30 geekosaur somehow I do not expect to see rakudo on apple ][ :p
16:30 masak m: sub postfix:<!>(Int $n) { $n ~ "!" }; say 6502!
16:30 camelia rakudo-moar ad1928: OUTPUT«6502!␤»
16:31 stmuk_ ah it uses the "sweet64" API
16:34 stmuk_ more seriousily there appears to be a real java port VM02 :O
16:36 yqt joined #perl6
16:38 masak m: from-json("42")
16:38 camelia rakudo-moar ad1928: OUTPUT«Invalid JSON: 42␤  in block <unit> at /tmp/KpQHqHBsVB line 1␤␤»
16:39 masak this seems to be counter to ECMA-404: "A JSON text is a sequence of tokens formed from Unicode code points that conforms to the JSON value grammar."
16:39 masak http://www.ecma-international.org/pub​lications/files/ECMA-ST/ECMA-404.pdf
16:40 masak in other words, it's not just about objects and arrays; numbers, strings, `true`, `false`, and `null` are also valid JSON documents
16:40 * masak submits rakudobug
16:43 tadzik masak++
16:44 masak classical rookie mistake #42: rewarding masak's nitpicking :P
16:45 * masak .oO( first sign of madness: referring to yourself in the third person... )
16:45 cfedde that' #42?
16:46 cfedde ah contextual. in other contexts rule 42 is "bring a towel."
16:47 masak :)
16:48 masak no, actually Rule 42 is "No one shall speak to the Man at the Helm"
16:49 ufobat how do i get a array from a list? I've got an @array and when do a my @p = @array.permutations; how "work" with the different permutations in @p, e.g. i want to append something on each permutation
16:50 masak m: my @a = 1, 2, 3; .say for @a.permutations
16:50 camelia rakudo-moar ad1928: OUTPUT«(1 2 3)␤(1 3 2)␤(2 1 3)␤(2 3 1)␤(3 1 2)␤(3 2 1)␤»
16:50 pmurias joined #perl6
16:51 masak m: my @a = 1, 2, 3; for @a.permutations -> $p { say [$p.Slip, "!"] }
16:51 camelia rakudo-moar ad1928: OUTPUT«[1 2 3 !]␤[1 3 2 !]␤[2 1 3 !]␤[2 3 1 !]␤[3 1 2 !]␤[3 2 1 !]␤»
16:51 masak ufobat: like that?
16:52 psch m: my @a = (1,2,3).permutations. map: { [$_] }; @a[0].push: "foo"; say @a.perl
16:52 camelia rakudo-moar ad1928: OUTPUT«[[1, 2, 3, "foo"], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2], [3, 2, 1]]␤»
16:53 masak m: my @a = (1,2,3).permutations>>.Array; @a[0].push: "foo"; say @a.perl
16:53 camelia rakudo-moar ad1928: OUTPUT«[[1, 2, 3, "foo"], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2], [3, 2, 1]]␤»
16:53 psch right, that's cleaner
16:54 masak I blame tadzik for rewarding my nitpicking :P
16:54 cfedde nitpicking in language design is a virtue
16:55 tadzik wait for my reaction gif!
16:55 * masak .oO( ain't nobody got time for that )
16:55 tadzik http://gifrific.com/wp-content/uploads/2​012/09/oh-god-what-have-i-done-panda.gif
16:55 masak just the URL is funny :D
16:55 perl6newbee joined #perl6
16:56 tadzik it serves as both a spoiler and a time-saver for those who've seen it
16:56 masak haha
16:57 ufobat thanks both of you :)
16:58 ufobat is .Array something like a cast?
16:58 woodruffw joined #perl6
16:58 masak yes
16:58 masak there's lots of such methods -- they're usually the easiest way to convert values
16:59 woodruffw joined #perl6
17:00 tadzik ...I'm finding a dir called "FakeDir" in my projects
17:00 tadzik .precomp is inside
17:00 tadzik but it's actually a real dir!
17:01 ufobat where is the documentation about those casts?
17:04 masak probably not in a single place
17:04 masak I also suspect that we could have more of those methods than we currently do
17:05 psch note that they're not casts like typecasts in C or Java.  as in, not an explicit language feature, but part of the CORE library and in the end normal methods
17:05 masak aye -- suggestively named methods
17:06 FROGGS some of these methods are implemented on type Any some on type Cool
17:06 FROGGS and that's where these are documented I guess
17:06 FROGGS bbl
17:07 * masak tries to do a conversion which fails, and fails -- and is reluctantly impressed :)
17:09 ufobat the reason why i didnt find it was on docs.perl6.org when you for example type down "recv" you find "Method: recv" and then you get IO::Socket.recv but when you type down "Array" you dont get any method. the class Array and other stuff though
17:11 maybekoo2 joined #perl6
17:11 stmuk_ tadzik: maybe related to https://github.com/perl6/doc/commit/f3​06dfc3010876b00c95d19238fc2f0af347eb0c or similar elsewhere?
17:12 vendethiel joined #perl6
17:18 RabidGravy can anyone think of a succinct way of doing:
17:18 RabidGravy m: sub mask(*@a) { my int $a = 0; for @a -> $i { $a +|= ( 1 +< $i ) }; $a }; say mask(2,3)
17:18 camelia rakudo-moar ad1928: OUTPUT«12␤»
17:18 RabidGravy given the @a will be values 0 .. 15
17:19 psch m: sub mask(*@a) { [+|] @a.map( 1 +< * ) }; say mask(2,3)
17:19 camelia rakudo-moar ad1928: OUTPUT«12␤»
17:20 RabidGravy oook!
17:22 RabidGravy cheers that's better
17:24 psch alternatively it might read nicer as '@a.map( 1 +< * ).reduce( &[+|] )', if you don't want to front-load the reduce op
17:25 stmuk_ actually bin/p6doc is a script and won't get precomped anyway
17:26 stmuk_ not sure what happens with perl6 --doc however
17:28 shadowpaste joined #perl6
17:28 Azry Is there a perl6 alternative to perl5 IO::Handle->new_from_fd ?
17:29 Azry don't see any in IO::Handle class
17:31 ugexe look at nqp's ops
17:32 Azry i was afraid i would have to dive in that =) is there some kind of documentation on nqp (i don't even really know what it is yet)
17:33 psch m: sub mask(*@a) { [+|] do (1 +< $_) for @a }; say mask(2,3) # not sure why this doesn't work...
17:33 camelia rakudo-moar ad1928: OUTPUT«WARNINGS for /tmp/0oTyjnuRxx:␤Useless use of "+<" in expression "1 +< $_" in sink context (line 1)␤12␤»
17:33 psch i mean, it does apparently
17:33 ugexe https://github.com/perl6/nqp/​blob/master/docs/ops.markdown
17:33 psch but why does it complain about the sinkage?
17:34 psch false positive?
17:34 Azry ugexe: thanks ;)
17:34 ugexe is it `do`ing the result of the (xxx for @a) or each item of @a?
17:35 wamba joined #perl6
17:35 psch m: sub mask(*@a) { [+|] 1 +< $_ for @a }; say mask(2,3)
17:35 camelia rakudo-moar ad1928: OUTPUT«Nil␤»
17:35 psch "do" makes statement mods fit in statement
17:35 Hotkeys ?p6> m: sub mask (*@a) { [+|] (1 +< $_ for @a) }; say mask(2, 3)
17:36 psch (which is clearly a botchy and Perl6::Grammar-reliant explanation)
17:36 Hotkeys Er
17:36 Hotkeys Wrong command
17:36 Hotkeys Can someone do that with m:
17:36 Hotkeys Its a pain on mobile
17:36 psch m: sub mask (*@a) { [+|] (1 +< $_ for @a) }; say mask(2, 3)
17:36 camelia rakudo-moar ad1928: OUTPUT«WARNINGS for /tmp/Af1LYgZLYv:␤Useless use of "+<" in expression "1 +< $_" in sink context (line 1)␤12␤»
17:36 Hotkeys Weird
17:36 Hotkeys Why does it sink
17:36 ugexe m: sub mask(*@a) { do [+|] do { (1 +< $_) } for @a }; say mask(2,3)
17:36 camelia rakudo-moar ad1928: OUTPUT«(4 8)␤»
17:37 RabidGravy I'm going with the explicit .map ... .reduce one
17:37 ugexe hmm
17:38 psch fwiw, it looks like a false positive to me
17:38 psch m: my @a = ^5; say do 1 +< $_ for @a
17:38 camelia rakudo-moar ad1928: OUTPUT«(1 2 4 8 16)␤»
17:38 psch m: my @a = ^5; [+|] do 1 +< $_ for @a
17:38 camelia rakudo-moar ad1928: OUTPUT«WARNINGS for /tmp/VcLqX11IFE:␤Useless use of "+<" in expression "1 +< $_" in sink context (line 1)␤»
17:39 psch m: &[+|].signature.perl.say
17:39 camelia rakudo-moar ad1928: OUTPUT«:(Mu $?, Mu $?)␤»
17:39 psch hrm
17:39 psch m: &prefix:<[+|]>.signature.perl.say
17:39 camelia rakudo-moar ad1928: OUTPUT«:(+ is raw)␤»
17:39 psch m: &say.signature.perl.say
17:39 camelia rakudo-moar ad1928: OUTPUT«:(| is raw)␤»
17:40 psch m: sub f(+ is raw) { }; f do $_ for ^5
17:40 camelia rakudo-moar ad1928: ( no output )
17:40 psch so not single arg rule, apparently
17:40 SCHAAP137 joined #perl6
17:45 bitmap joined #perl6
17:45 zakharyas joined #perl6
18:03 woodruffw joined #perl6
18:03 woodruffw joined #perl6
18:03 woodruffw joined #perl6
18:05 Azry There is no method to manipulate file descriptors, even in nqp ops
18:07 Azry and implementing one seems like i would have to work on moarvm/jvm is that right ? looks one step harder :o
18:08 firstdayonthejob joined #perl6
18:12 ugexe manipulate how
18:13 Azry i have a file descriptor, i want to create a IO::Handle
18:14 tadzik stmuk: ah, might be! So that'd be p6doc's fault for not cleaning it up
18:20 labster joined #perl6
18:23 ugexe yeah im not seeing a way to go from descriptor to handle from a cursory glance, although handle to descriptor appears to be doable
18:25 labster joined #perl6
18:25 perlpilot fdopen should be in libc, just figure out how to get from a FILE* to an IO::Handle and with a dash of NativeCall, you're all set.  :)
18:26 spider-mario joined #perl6
18:27 Azry yeah it thought about it, but it doesn't look clean =) is there any way to make a request for such things looks like cross project : MoarVM/JVM/NQP/Rakudo
18:28 Azry i can proably do the rakudo implementation but nqp/VMs is still out of reach to me
18:29 ufobat how do i flat the thing.. i want list of list, whereas the inner list is a e.g. 1,1,x perl6 -e 'my @foo = [(1,1), [2,2]]; my @bar = <x y>; my @cross = @foo X @bar; for @cross { say .Array.flat }'
18:30 RabidGravy linenoise anyone?
18:31 RabidGravy grep '#define' /usr/include/portmidi.h  | grep FILT | sed -e 's/#define PM_FILT_//' | perl6 -pe '$_ ~~ s/^(\w+)/{ $0.lc.tc }/; $_ ~~ s:g/\<\</+</; $_ ~~ s/_(.)/{$0.tc }/; $_ ~~ s/^(\w+)\s+\(/$0 => (/; $_ ~~ s:g/\|/+|/; $_ ~~ s/$/,/'
18:31 tadzik :D
18:32 psch ufobat: you have [[1,1],[2,2]] and <x y> and want to turn that in [[1,1,"x"],[2,2,"y"]]?
18:33 RabidGravy I probably could have typed it quicker than that
18:33 skids m: my @foo = [(1,1), [2,2]]; my @bar = <x y>; my @cross = @foo X @bar; for @cross { say $_».list.flat }
18:33 camelia rakudo-moar ad1928: OUTPUT«(1 1 x)␤(1 1 y)␤(2 2 x)␤(2 2 y)␤»
18:33 yoleaux 09:41Z <perlawhirl> skids: one character shorter... <LISP PASCAL APL ADA COBOL FORTH PERL PHP>.combinations(2..*).grep({1==all .join.comb.map(->$l {.grep(*.contains: $l)})}) # though arguably less readable
18:34 ufobat psch, no, i want [[1,1,y] [1,1,y], [2,2,x], [2,2,y]]
18:35 Ven joined #perl6
18:36 salva joined #perl6
18:36 skids m: my @foo = [(1,1), [2,2]]; my @bar = <x y>; my @cross = @foo X @bar; say [ $_».list.flat.Array for @cross ]
18:36 camelia rakudo-moar ad1928: OUTPUT«[[1 1 x] [1 1 y] [2 2 x] [2 2 y]]␤»
18:37 psch m: my @foo = [(1,1), [2,2]]; my @bar = <x y>; my @cross = @foo X @bar; for @cross { $_ = $_».list.flat.Array }; say @cross.perl # and with assignment
18:37 camelia rakudo-moar ad1928: OUTPUT«[[1, 1, "x"], [1, 1, "y"], [2, 2, "x"], [2, 2, "y"]]␤»
18:37 psch i'm pretty sure that's somewhat the long way around, though...
18:39 ufobat whe do i need to use the » on the $_ inside the loop? the $_ is just a List, when when i loop over the elements (thats what i think » is doing) and bring them to a list to flat it? *confused*
18:39 ufobat or why is simply .flat not working?
18:39 skids $_ is a list of (Array, item)
18:40 skids Array.flat does not "work" by design.
18:40 skids Because Arrays pretect their internal elements from being flattened.
18:40 skids (Lists do not)
18:41 Woodi damn, soon compilers will need to emit FPGA programs  https://www.embeddedrelated​.com/showarticle/195.php?1  ;)
18:42 DrForr RabidGravy: Got the optional stuff working, there's a possible issue in the URI module.
18:42 yoleaux 14:13Z <moritz> DrForr: your module perl6-ANTLR4 has .precomp files under version control. Please git rm -r --fached .precomp && echo .precomp >> .gitignore
18:42 ugexe augment class Array { method flatter-damnit(*@_) { @_.flatmap(*.flat) }; };
18:42 psch m: sub f(@a is copy, $b) { @a.push: $b }; my @a = [1,1],[2,2]; my @b = <x y>; my @cross = @a X[&f] @b; say @cross.perl # somewhat cheating... :S
18:42 camelia rakudo-moar ad1928: OUTPUT«[[1, 1, "x"], [1, 1, "y"], [2, 2, "x"], [2, 2, "y"]]␤»
18:42 DrForr Ah, thanks.
18:43 RabidGravy Harr!
18:43 masak Woodi: you say that as if it's a bad thing
18:44 ufobat skids, but in this example perl6 -e 'my @foo = [(1,1), [2,2]]; my @bar = <x y>; my @cross = @foo X @bar; for @cross { say $_.WHAT; say $_[0].WHAT; say "...." }' the first iteration in the for @cross, everything is a list
18:44 ufobat shouldnt $_.flat be the same like in perl6 -e 'say ((1,1), 2).flat'
18:45 skids my @foo = [(1,1), [2,2]]; my @bar = <x y>; my @cross = @foo X @bar; for @cross { say $_.perl  }
18:45 skids m: my @foo = [(1,1), [2,2]]; my @bar = <x y>; my @cross = @foo X @bar; for @cross { say $_.perl  }
18:45 camelia rakudo-moar ad1928: OUTPUT«$($(1, 1), "x")␤$($(1, 1), "y")␤$($[2, 2], "x")␤$($[2, 2], "y")␤»
18:45 ufobat istn that a list with a list in it plus a "x"
18:45 psch m: say ([1,1],2).flat; say ((1,1),2).flat
18:45 camelia rakudo-moar ad1928: OUTPUT«(1 1 2)␤(1 1 2)␤»
18:46 psch m: say [[1,1],2].flat; say [(1,1),2].flat;
18:46 camelia rakudo-moar ad1928: OUTPUT«([1 1] 2)␤((1 1) 2)␤»
18:46 skids The first two are the second two are lists with Array, Str
18:46 DrForr multi GET('/post', Int $y, Int $m, Str :$format ) is route {} # matches '/post/2015/02?format=JSON'.
18:47 RabidGravy DrForr++
18:47 skids (And also note that the list in the first two is prtected itself by a scalar)
18:47 ufobat Array, Str? why? say $_[0].WHAT; sais (List)
18:47 psch m: say ([1,1],"x")[0].WHAT
18:47 camelia rakudo-moar ad1928: OUTPUT«(Array)␤»
18:48 skids m: say ($(1,1),2).flat
18:48 camelia rakudo-moar ad1928: OUTPUT«((1 1) 2)␤»
18:48 ufobat its the scalar then!?
18:48 skids It's always Scalars.
18:48 psch m: say ([(1,2), 3], ((1,2),3)).flat
18:48 camelia rakudo-moar ad1928: OUTPUT«((1 2) 3 1 2 3)␤»
18:48 skids Just with Array, the Scalars are automatic (and sometimes invisible when you print them)
18:49 n1cky is anyone still working on Perl6 -> LLVM?
18:49 ufobat but i ment the ((1,2), 3) vs ($(1,2), 3) is because the $() protects them as Arrays would protect them?
18:50 skids Yes, you are getting it.
18:50 ufobat does this only apply to .flat or .. what kind of modifications are not working?
18:51 Ven_ joined #perl6
18:51 skids .flat, and single-argument-rule, and binding operations are affected.
18:53 ufobat thank you very much. i am going to dig deeper into the documentation now ;)
18:53 skids http://doc.perl6.org/type/Scalar may help
18:53 ufobat :)
18:57 CIAvash joined #perl6
19:03 masak n1cky: things people have been saying on this channel over the years make me suspect Perl 6 -> LLVM would be Very Hard to pull off
19:03 woodruffw joined #perl6
19:04 skids Mostly because the "VM" part of LLVM is a bit of an exageration, from what I glean.
19:04 Ven joined #perl6
19:06 geekosaur it's a VM but not in the sense that people use the term these days
19:09 tadzik also because the LL part indicates that LLVM may be not suited for Perl 6 too much :)
19:15 perlpilot LLVM is a toolkit for building a VM for your project :)
19:16 MadcapJake joined #perl6
19:16 MadcapJake` joined #perl6
19:17 bakedb joined #perl6
19:17 moritz LLVM is also a compiler backend and a compiler target
19:19 perlpilot I think Perl 6 -> LLVM just need someone with the right kind of stubbornness and love .... perhaps similar to Perl 6 -> CLR
19:21 tmch joined #perl6
19:21 yqt joined #perl6
19:21 RabidGravy all sorts of crack
19:22 moritz more like Perl 6 -> C
19:23 FROGGS joined #perl6
19:24 n1cky i've never worked with compilers for functinoal languages
19:24 perlpilot yeah, my compilers have never worked either.   ;-)
19:24 n1cky I've been sitting here for a couple minutes thinking about how the hell first-class functions would even work
19:24 n1cky haha :s
19:29 Hotkeys Why is there a bare 'get' routine that takes lines from $*IN
19:29 Hotkeys but there's no bare 'read($n)' routine for reading bytes from $*IN
19:30 Hotkeys (I know I can just do $*IN.read($n) but still)
19:31 buharin joined #perl6
19:31 lizmat Hotkeys: I think hysterical raisins
19:31 ugexe so you can do `while <> { }` or whatever
19:31 perlpilot Hotkeys: I think there's a getc() routine for that
19:31 patrickz joined #perl6
19:32 perlpilot Hotkeys: well ... for characters, not bytes
19:32 psch m: say getc $*IN
19:32 camelia rakudo-moar ad1928: OUTPUT«C␤»
19:32 lizmat Hotkeys: same applies e.g. for a "words" sub
19:32 Hotkeys right
19:32 cpage_ joined #perl6
19:32 psch still needs the handle
19:32 Hotkeys I was thinking for bytes
19:32 lizmat m: .say for words
19:32 camelia rakudo-moar ad1928: OUTPUT«5===SORRY!5=== Error while compiling /tmp/WYp02duUiR␤Calling words() will never work with any of these multi signatures:␤    ($what, $limit = Inf, *%named)␤at /tmp/WYp02duUiR:1␤------> 3.say for 7⏏5words␤»
19:32 lizmat m: .say for words($*IN)   # expected this
19:32 camelia rakudo-moar ad1928: OUTPUT«Céad␤slán␤ag␤sléibhte␤maorga␤Chontae␤Dhú​n␤na␤nGall␤Agus␤dhá␤chéad␤slán␤ag␤an␤Eireagal␤a​rd␤ina␤stua␤os␤cionn␤caor␤is␤coll;␤Nuair␤a␤ghlu​ais␤mise␤thart␤le␤Loch␤Dhún␤Lúich’␤go␤ciúi…»
19:32 perlpilot Hotkeys: eagerly awaiting your patch to add a read sub  :)
19:32 Hotkeys oh
19:33 Hotkeys did I just rope myself into that
19:33 silug joined #perl6
19:33 lizmat perlpilot: would that not need to be part of 6.d ?
19:33 rubio_terra joined #perl6
19:33 Hotkeys ^^^
19:33 * Hotkeys unropes
19:33 lizmat it would not be an additional method
19:33 perlpilot aye, it would steal that sub from the users
19:33 Hotkeys m: say getc
19:33 camelia rakudo-moar ad1928: OUTPUT«read string requires an object with REPR MVMOSHandle␤  in block <unit> at /tmp/TyY0i1fBMN line 1␤␤»
19:33 Hotkeys m: say getc()
19:33 camelia rakudo-moar ad1928: OUTPUT«read string requires an object with REPR MVMOSHandle␤  in block <unit> at /tmp/gXYCrV2P6k line 1␤␤»
19:33 * lizmat is facing a similar dilemma with native str arrays
19:33 Hotkeys m: say get()
19:33 camelia rakudo-moar ad1928: OUTPUT«Céad slán ag sléibhte maorga Chontae Dhún na nGall␤»
19:34 Hotkeys why is get so special
19:34 lizmat Hotkeys: basically, because it was in p5 ?
19:34 Hotkeys ah
19:34 masak p6: say ("0" x 3 ~ "1").substr(2)
19:34 camelia rakudo-moar ad1928: OUTPUT«00␤»
19:34 masak :/
19:34 lichtkind_ joined #perl6
19:34 wisti joined #perl6
19:34 masak https://rt.perl.org/Ticket/Display.html?id=123602
19:34 Hotkeys I think at minimum there should be get, getc, and read
19:35 masak open for more than one year now... :/
19:35 masak someone^WI should totally track down what's up with that one
19:35 Hotkeys weird
19:36 lizmat masak: fwiw, it seems MoarVM specific:
19:36 lizmat $ ./perl6-j -e 'say ("0" x 3 ~ "1").substr(2)'
19:36 lizmat 01
19:37 perlpilot m: say ("0" x 3 ~ "1").substr($_) for ^4;  # also this
19:37 camelia rakudo-moar ad1928: OUTPUT«0001␤001␤00␤1␤»
19:38 lizmat m: use nqp; say nqp::substr("0" x 3 ~ "1",2)   # oddly enough nqp seems ok ?
19:38 camelia rakudo-moar ad1928: OUTPUT«01␤»
19:38 psch nqp-m: my $x := nqp::x("0", 3) ~ "1"; nqp::say(nqp::substr($x, 2))
19:38 camelia nqp-moarvm: OUTPUT«00␤»
19:40 perlpilot nqp-j: my $x := nqp::x("0", 3) ~ "1"; nqp::say(nqp::substr($x, 2))
19:40 camelia nqp-jvm: OUTPUT«(signal ABRT)#␤# There is insufficient memory for the Java Runtime Environment to continue.␤# pthread_getattr_np␤# An error report file with more information is saved as:␤# /tmp/jvm-29419/hs_error.log␤»
19:40 perlpilot heh
19:40 psch m: use nqp; say nqp::substr(nqp::x("0", 3) ~ "1",2)
19:40 camelia rakudo-moar ad1928: OUTPUT«00␤»
19:40 masak lizmat: it is MoarVM-specific, as the issue points out :)
19:40 lizmat m: use nqp; my $x := nqp::concat(nqp::x("0", 3),"1"); nqp::say(nqp::substr($x, 2))
19:40 camelia rakudo-moar ad1928: OUTPUT«00␤»
19:40 masak (back then we had Parrot to compare with)
19:40 masak so likely MoarVM gets "roped" into doing it wrong ;)
19:41 lizmat m: use nqp; my $x := nqp::concat(nqp::x("0", 3),"12"); nqp::say(nqp::substr($x, 2))  # feels like an off-by-one error somewhere
19:41 camelia rakudo-moar ad1928: OUTPUT«001␤»
19:41 masak aye
19:41 * masak .oO( just enough rope to shoot yourself in the foot... plus one )
19:42 lizmat m: use nqp; my $x := nqp::concat(nqp::x("0", 3),"12"); nqp::say(nqp::substr($x,1))  # definitely off-by-one
19:42 camelia rakudo-moar ad1928: OUTPUT«0012␤»
19:42 perlpilot seems highly specific to the number 2 though
19:42 lizmat .oO( which is off by one :-)
19:42 perlpilot (I bet lizmat's last will work well with 3 instead of 1 too)
19:43 * masak .oO( well, you see, 2 is off by 1 by 1 )
19:43 lizmat m: use nqp; my $x := nqp::concat(nqp::x("0", 3),"12"); nqp::say(nqp::substr($x,3))  # indeed
19:43 camelia rakudo-moar ad1928: OUTPUT«12␤»
19:45 patrickz Hey! How can I compile a .p6 file to a .moarvm file?
19:46 lizmat technically, you can, but support is still very sketchy
19:47 lizmat you're probably better of putting the code in a module, and loading that in a script / one liner
19:48 patrickz I'd like to have the .moarvm file for debugging purposes...
19:48 rubio_terra joined #perl6
19:49 wisti joined #perl6
19:49 brrt joined #perl6
19:55 musiKk_ joined #perl6
19:57 moritz last I tried, you could compile a script to .moarvm. You just couldn't start that bytecode file :-)
19:58 patrickz moritz: I don't want to run it, but dump the bytecode. So, how would I do that?
19:58 diakopter you can, you just gotta supply all the right paths for libs
19:59 diakopter patrickz: there once was a --dump for the moar executable
19:59 psch patrickz: --target=moarvm --output="$file" from the p6-level
19:59 ugexe perl6 --target=mbc --output=filename.moar file-to-precomp
19:59 psch ah, mbc it is
20:00 psch ...it was moarvm once though, wasn't it?
20:00 patrickz psch: already tried mbc,moar but only get "Cannot dump this object; no dump method"
20:00 psch patrickz: that's when you leave out output
20:00 psch patrickz: without --output it tries to print it via a dump method
20:01 patrickz ah!
20:01 patrickz that was my mistake, thank you!
20:02 patrickz only tried -o not --output= ...sticking to the docs I should do...
20:02 itaipu joined #perl6
20:04 woodruffw joined #perl6
20:04 woodruffw joined #perl6
20:05 woodruffw joined #perl6
20:06 dha joined #perl6
20:18 Azry lizmat: sorry about issue #726 i have some habits to train =(
20:19 lizmat Well, the idea was nice, but it's very much appreciated if you test the patch, and also run a spectest before you do a PR  :-)
20:20 Azry first commit ever, i guess i was a little too hasty x)
20:21 lizmat well, we've all been too hasty at some time...
20:21 lizmat so keep them coming, but a little less hasty, please  :-)
20:24 Ven joined #perl6
20:25 perlpilot lizmat++  Azry++
20:26 cdg joined #perl6
20:40 laz78 joined #perl6
20:46 dha joined #perl6
21:00 patrickz How can I rebuild nqp + perl6 when I made changes to nqp? Neither in rakudo/ nor in rakudo/nqp/ does 'make realclean' seem to remove enough nqp stuff to actually cause a rebuild...
21:01 hoelzro patrickz: I usually just remove the directory I install nqp to
21:01 dha joined #perl6
21:01 hoelzro I build rakudo with `perl Configure --prefix=/tmp/nom --gen-moar && make install`, so for me, that looks like `rm -rf /tmp/nom`
21:01 skids rakudo build will happily use an nqp it finds pre-built, you have rm the binary.
21:02 TimToady I usually just a 'make install && (cd ..; make install)' from the nqp directory
21:02 patrickz ah so if I use the default install/ folder I would just remove that one
21:03 hoelzro correct
21:04 woodruffw joined #perl6
21:06 RabidGravy I really don't like it when stuff segfaults reliably UNTIL YOU RUN IT WITH A DEBUGGER
21:07 laz_78 joined #perl6
21:11 patrickz Development is so much easier when you actually manage to build the code you want to try. :-P
21:16 patrickz :ratchet is meant to cling to the input and not the regex, right?
21:16 psch i find that unlikely, given :ratchet is a regex adverb
21:16 moritz :ratchet is lexically scoped within the regex
21:17 moritz so it very much sticks to the regex, not the string
21:19 patrickz Hm, I think I wanted to ask something different. :ratchet prevents backtracking in the input, not in the regex. So going back in the regex is fine as long as one does not release already consumed input, correct?
21:19 psch well, backtracking means "if you can't match anything at the current position, discard successful matches before the current position and try alternatives"
21:20 psch so, you backtrack over the string, discarding the tokens that matched
21:20 TEttinger joined #perl6
21:20 patrickz Ok. I think I understood correctly then.
21:22 cpage_ joined #perl6
21:22 psch m: grammar G { regex TOP { { say "start of TOP" } ^ <a> <b> $ { say "end of TOP" } }; regex a { { say "start of a" } 'a' 'a' { say "end of a" } }; token b { { say "start of b" } 'a' { say "end of b" } } }; G.parse("aa")
21:22 camelia rakudo-moar 9eb1fb: OUTPUT«start of TOP␤start of a␤end of a␤start of b␤»
21:22 psch ...i maybe should've gisted that
21:22 psch ehh
21:23 psch also sequence points mess with backtracking i think?
21:23 psch so nevermind that anyway >_>
21:23 patrickz m: say "asdfEnd" ~~ / :ratchet ^ [ .+? | z ] End $ /;
21:23 camelia rakudo-moar 9eb1fb: OUTPUT«Nil␤»
21:23 patrickz That should match I think
21:23 Hotkeys is anyone else having trouble building panda on windows?
21:23 Hotkeys specifically Shell::Command
21:24 Hotkeys which hasn't changed in a while so I'm not sure why it's breaking
21:24 RabidGravy "trouble"?
21:25 psch patrickz: i don't think so.  it tries to match "" or z, then tries to match End, fails, and stops
21:26 psch mind, i'm not great with regex though vOv
21:26 Hotkeys Here's the err https://gist.github.com/joh​nspurr/d1f85c4e7bcd8beb848c
21:26 Hotkeys sorry for weird wrapping
21:26 patrickz but if ratchet only means its forbidden to release consumed input, it should go back and consume more input in .+?
21:26 Hotkeys powershell doesn't really do multiline copying well
21:26 timotimo i think patrickz misunderstood the function of "ratchet"
21:26 Hotkeys RabidGravy:
21:27 timotimo and it's likely that the documentation is worded in a misleading way
21:27 psch maybe "don't retry" fits better for what :ratchet does?
21:28 psch well, in this informal context here at least
21:28 labster joined #perl6
21:28 timotimo m: say "asdfEnd" ~~ / :ratchet ^ [ End | .+? | z ] <?after End> $ /;
21:28 camelia rakudo-moar 9eb1fb: OUTPUT«Nil␤»
21:29 timotimo m: say "asdfEnd" ~~ / :ratchet ^ [ End | .+? | z ] <?before End> $ /;
21:29 camelia rakudo-moar 9eb1fb: OUTPUT«Nil␤»
21:29 timotimo oh?
21:29 patrickz say "asdfEnd" ~~ / :ratchet ^ [ .+? || z ] End $ /;
21:29 patrickz m: say "asdfEnd" ~~ / :ratchet ^ [ .+? || z ] End $ /;
21:29 camelia rakudo-moar 9eb1fb: OUTPUT«「asdfEnd」␤»
21:29 timotimo oh, of course, the group isn't quantified at all
21:29 timotimo m: say "asdfEnd" ~~ / :ratchet ^ [ End | .+? | z ]+ <?after End> $ /;
21:29 camelia rakudo-moar 9eb1fb: OUTPUT«「asdfEnd」␤»
21:30 psch m: say "ab" ~~ / a | ab /; say "ab" ~~ / a || ab /
21:30 camelia rakudo-moar 9eb1fb: OUTPUT«「ab」␤「a」␤»
21:31 psch hm, that interaction i don't quite see through, i have to say :)
21:32 patrickz Non LTM grouping does seem backtrack in that particular sense.
21:33 psch m: say "asdfEnd" ~~ / :ratchet ^ [ .+? | z ] { say $/ } End $ /;
21:33 camelia rakudo-moar 9eb1fb: OUTPUT«「a」␤Nil␤»
21:33 psch m: say "asdfEnd" ~~ / :ratchet ^ [ .+? || z ] { say $/.CURSOR } End $ /;
21:33 camelia rakudo-moar 9eb1fb: OUTPUT«Cursor.new␤Cursor.new␤Cu​rsor.new␤Cursor.new␤「asdfEnd」␤»
21:33 psch err
21:33 psch m: say "asdfEnd" ~~ / :ratchet ^ [ .+? || z ] { say $/ } End $ /;
21:33 camelia rakudo-moar 9eb1fb: OUTPUT«「a」␤「a」␤「a」␤「a」␤「asdfEnd」␤»
21:33 psch 'a', 'as', 'asd', 'asdf' would have made a bit more sense to me, but still looked wrong
21:34 rudi_s Hi. Can I create random numbers with a fixed seed?
21:34 moritz note that frugal quantifiers force backtracking
21:34 psch moritz++
21:34 psch that's the kind of detail i'm likely to forget :)
21:34 psch m: say "asdfEnd" ~~ / :ratchet ^ [ .+ || z ] { say $/ } End $ /;
21:34 camelia rakudo-moar 9eb1fb: OUTPUT«「asdfEnd」␤Nil␤»
21:35 moritz otherwise a frugal quantifier within :ratchtet would only ever match the minimal number that the quantifier allows, making it very much useless
21:35 patrickz m: say "asdfEnd" ~~ / :ratchet ^ [ .+? || z ] {say $/} End $ /;
21:35 camelia rakudo-moar 9eb1fb: OUTPUT«「a」␤「a」␤「a」␤「a」␤「asdfEnd」␤»
21:36 patrickz m: say "asdfEnd" ~~ / :ratchet ^ [ .+? | z ] {say $/} End $ /;
21:36 camelia rakudo-moar 9eb1fb: OUTPUT«「a」␤Nil␤»
21:37 patrickz LTM alternations allow backtracking into left-to-right alternations don't. Is that the correct interpretation?
21:37 [Coke] m: srand 1234; say rand
21:37 camelia rakudo-moar 9eb1fb: OUTPUT«0.652006306578386␤»
21:37 [Coke] m: srand 1234; say rand
21:37 camelia rakudo-moar 9eb1fb: OUTPUT«0.652006306578386␤»
21:37 [Coke] rudi_s: ^^
21:37 * moritz hates that API
21:37 [Coke] doc.perl6.org mentions srand, but doesn't actually describe it.
21:38 moritz I'd much rather have (^(2**32)).pick(*, :seed(1234))
21:38 moritz or something like that
21:38 psch m: say "aab" ~~ / ^ [ $<a>=a | ab ]+ $ /;
21:38 camelia rakudo-moar 9eb1fb: OUTPUT«「aab」␤ a => 「a」␤»
21:38 psch m: say "aab" ~~ / ^ [ $<a>=a || ab ]+ $ /;
21:38 camelia rakudo-moar 9eb1fb: OUTPUT«「aab」␤ a => 「a」␤»
21:38 moritz or maybe a dynamic variable $*SEED or so
21:38 [Coke] moritz: your api implies that the seed is a one shot, no?
21:38 rudi_s [Coke]: Thanks.
21:39 moritz [Coke]: yes; hence the second suggestion with the dynamic variable
21:39 rudi_s Hm.
21:39 rudi_s I guess that's global .. so I'll destroy any other random decision in perl if I force srand, right?
21:39 rudi_s I'd like to get a "local" forced seed.
21:39 moritz rudi_s: right. Which is why I don't like that API
21:39 rudi_s *for just one rand call.
21:45 espadrine joined #perl6
21:46 psch m: say 1 !=3 # oh wow this is still around :/
21:46 camelia rakudo-moar 9eb1fb: OUTPUT«Cannot modify an immutable Int␤  in block <unit> at /tmp/kYWiThl9lv line 1␤␤»
21:47 psch well, it is RT'd at least :S
21:53 AlexDaniel joined #perl6
21:54 patrickz I think I still don't understand it. [ || ] allows to be backtracked into in ratchet mode, while [ | ] does not. My gut feeling tells me the two should behave the same.
21:56 lizmat m: my $a = 1; dd $a !=3; dd $a
21:56 camelia rakudo-moar 92c17e: OUTPUT«Bool::False␤Int $a = 3␤»
21:57 lizmat weird
21:58 psch patrickz: if you remove the ? quantifier the behavior changes
21:58 psch patrickz: so it's clearly an interaction between ratchet, the two alternations, and ?
21:59 psch m: say "aab" ~~ / :ratchet ^ [ $<a>=a || ab ]+ $ /; # this also seems weird
21:59 camelia rakudo-moar 92c17e: OUTPUT«Nil␤»
22:00 psch ah, nvm, that's correct
22:00 patrickz the ? is needed, otherwise .+ would eat all input and leave none for 'End'
22:00 psch patrickz: is :ratchet needed?  'cause without it works for both
22:00 psch patrickz: and ? disables :ratchet locally
22:01 psch patrickz: i'd suspect that for LTM, +? means "0 chars" (because it can) and that means the longer token is the literal
22:01 psch that's with really shallow knowledge of the regex engine, though
22:02 psch err, "amount of literal chars before the quantifier", which with .+? is 1, actually...
22:02 psch hm
22:02 psch m: say "a" ~~ / [ $<a>=. | $<b>=.] /
22:02 camelia rakudo-moar 92c17e: OUTPUT«「a」␤ a => 「a」␤»
22:03 psch m: say "a" ~~ / [ $<a>=. | $<b>=a] /
22:03 camelia rakudo-moar 92c17e: OUTPUT«「a」␤ a => 「a」␤»
22:03 psch ...not sure that actually gives a hint vOv
22:03 psch lizmat: the ticket is #121108, fyi
22:05 patrickz I'm trying to fix a bug I reported about this behaviour a long time ago. I think I found the piece of code that is responsible. LTM alternations clear the backtrack stack in ratchet mode when they are done, normal alternations don't. But before thinking about a fix I thought I'd make sure I understood what the correct behaviour should be.
22:06 patrickz So my questions are not about "How to get this to work?" but about "How is this meant to work?"
22:06 psch patrickz: i'd say in ratchet mode neither should be allowed to clear the backtrack stack
22:07 psch patrickz: note that, in turn, a ?-quantified token under either alternation is still allowed to clear the backtrack stack
22:07 patrickz you mean ::, do you?
22:08 psch 21:34 < moritz> note that frugal quantifiers force backtracking
22:08 psch so, no, i mean ?
22:08 psch but i might have confused "clearing the backtrack stack" with "allow backtracking" :)
22:09 patrickz true
22:09 woodruffw joined #perl6
22:09 patrickz :-)
22:09 patrickz clear the backtrack stack == do not backtrack past this point
22:09 woodruffw joined #perl6
22:09 psch yeah, that's what i gathered on the second read
22:09 psch the reference to :: helped :)
22:10 patrickz So to get your fist statement clear, you think neither | nor || should allow backtracking into in ratchet mode.
22:10 psch not on their own, yes
22:17 ilbot3 joined #perl6
22:17 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
22:18 psch i'd agree
22:18 psch the bits seem to fit together well enough, but to me at least it happened before that some information i wasn't aware of changed the interpretation completely
22:19 psch if it's already RT'd maybe just try and poke jnthn or TimToady about it when they're around.  if it's not RT'd, RT it and do the same :)
22:20 patrickz Will do. Thanks so far!
22:21 espadrine joined #perl6
22:23 AlexDaniel “APL does this to make Perl 5 easy to read” hahaha
22:24 AlexDaniel CurtisOvidPoe: your talks are awesome. Thank you
22:25 CurtisOvidPoe AlexDaniel: thanks. And I was disappointed that the APL joke didn’t get the laughs I hoped for :)
22:25 TEttinger what's this about APL?
22:26 TEttinger I like a lot of stuff in the language, and I wish multi-dimensional data had better support in more languages/platforms
22:26 CurtisOvidPoe I was talking about punctuation characters. APL uses them to make Perl easy to read :)
22:26 TEttinger oh yeah
22:26 AlexDaniel TEttinger: https://youtu.be/hR9UdvxMAbo?t=702
22:27 AlexDaniel CurtisOvidPoe: this silence in response just makes it even funnier :)
22:27 TEttinger oddly enough, if you're coding on a tablet, APL could use a switchable keyboard to enter the special symbols. making it better suited as a language for the 2020s than the 1960s
22:27 AlexDaniel Coding on a tablet? Hmmm…
22:28 TEttinger so could perl6 for unicode
22:28 AlexDaniel CurtisOvidPoe: I think that “Perl 6 for Mere Mortals” was the talk that got me seriously into Perl 6. Thanks for that too.
22:29 CurtisOvidPoe You’re quite welcome. Share it with others, please!
22:29 TEttinger imagine the emoji as sigils
22:35 AlexDaniel UInt? Whoa…
22:40 kid51 joined #perl6
22:43 cosimo joined #perl6
22:49 kid511 joined #perl6
22:52 donaldh joined #perl6
22:55 timotimo UInt tests?
22:57 kid51 joined #perl6
22:59 pecastro joined #perl6
23:09 cpage_ joined #perl6
23:10 woodruffw joined #perl6
23:17 TEttinger joined #perl6
23:22 AlexDaniel timotimo: I see nothing
23:24 timotimo ?
23:26 perlawhirl joined #perl6
23:31 woodruffw joined #perl6
23:34 perlawhirl TEttinger: there are several languages where the entire syntax is emojo... emojicode and emoji-lang... plus various others floating around
23:35 AlexDaniel timotimo: I don't see any tests in roast for UInt
23:38 timotimo oh
23:38 timotimo i was just making a pun
23:38 timotimo sorry about the confusion
23:42 Hotkeys I spent way too long explaining (poorly) polymod in a codegolf answer just now
23:45 AlexDaniel timotimo: actually, it turned out to be a good observation
23:46 AlexDaniel what to do in such cases? Just create an issue in roast repo? (I don't feel like writing any tests today)
23:47 chienjo joined #perl6
23:49 timotimo polymod is quite lovely, isn't it
23:49 jack_rabbit joined #perl6
23:57 geekosaur joined #perl6
23:58 Hotkeys yeah it's pretty cool
23:58 Hotkeys here is my trainwreck of an explanation http://codegolf.stackexchange.com/a/75659/46687
23:58 Hotkeys timotimo:

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

Perl 6 | Reference Documentation | Rakudo