»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
babydrop So that leaves you with the postfix (...).Mix form, which sucks too, because on anything but a trivial Mix the 00:00
postfix is too far from the start for you to instantly parse the entire list as a mix
00:01 rburkholder joined 00:07 TimToady joined 00:08 wamba left, Actualeyes joined 00:10 girafe left 00:13 Actualeyes left
dalek : 7d28ceb | (Zoffix Znet)++ | misc/perl6advent-2016/schedule:
Claim zofspot

  "When a Rat Got Too Fat: Perl 6 For Accountants"
00:15
00:23 pierre__ joined
babydrop my $m1 = (:weight(10.85), :speed(73.3 ), :lanes-filled(3)).Mix; my $m2 = (:weight(9.75 ), :speed(79.3 ), :lanes-filled(3)).Mix; say $m1 ∖ $m2; 00:24
m: my $m1 = (:weight(10.85), :speed(73.3 ), :lanes-filled(3)).Mix; my $m2 = (:weight(9.75 ), :speed(79.3 ), :lanes-filled(3)).Mix; say $m1 ∖ $m2;
camelia rakudo-moar 7ad4a8: OUTPUT«mix(weight(1.1))␤»
babydrop doesn't follow that one at all...
Now I totally see why abstract wanted those changes to sym diff ops 00:30
:(
babydrop is struggling to come up with a good use for Mixes :\ 00:32
00:33 Actualeyes joined 00:35 canopus_ left
babydrop never mind, got a good one :P 00:36
00:38 aborazmeh joined, aborazmeh left, aborazmeh joined 00:43 canopus joined 00:50 telex left 00:51 _28_ria joined 00:56 cdg left 00:58 BenGoldberg joined
vcv_ Anyone doing www.adventofcode.com, specifically in Perl 6? 00:58
00:58 telex joined
babydrop vcv_: hahainternet 00:59
is
vcv_ Cool, posting solutions anywhere?
babydrop So far, I think they were struggling coming up with one :P
vcv_ darn, hoping to find others doing it so i can compare solutions in terms of Perl 6 features used 01:00
01:08 BenGoldberg left 01:11 pierre__ left 01:12 BenGoldberg joined 01:13 telex left 01:18 pierre__ joined, Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 01:21 seatek joined 01:28 telex joined
babydrop New Perl 6 Advent Post: "Day 6 – Perl 6 Books — the Time is Ripe" perl6advent.wordpress.com/2016/12/...e-is-ripe/ 01:40
01:41 skaji joined, lighttrr joined
BenGoldberg babydrop, Have you tried using MixHash instead of Mix? Unlike Mix, it's mutable. 01:42
babydrop BenGoldberg: that doesn't help our poor mix routine ;) 01:44
or the method... which on MixHash is just as flimsy
01:49 telex left, pyrimidine left, cibs left 01:50 cibs joined
BenGoldberg m: if 42 -> $_ { .say }; 01:51
camelia rakudo-moar 7ad4a8: OUTPUT«42␤»
BenGoldberg m: if defined 42 -> $_ { .say };
camelia rakudo-moar 7ad4a8: OUTPUT«True␤»
BenGoldberg wonders how hard it would be to create a syntactical wossname such as ifdef, which would act like 'if defined', *except* that the value passed to the block wouldn't be the True returned by defined. 01:53
01:53 pierre__ left
BenGoldberg wonders if he's making any sense. 01:53
babydrop BenGoldberg: with 42 { ... }
No need to creat anything :) 01:54
BenGoldberg m: with 0 { .say }
camelia rakudo-moar 7ad4a8: OUTPUT«0␤»
BenGoldberg m: with Any { .say }
camelia ( no output )
BenGoldberg m: with Any { .say } else { say 'nope' }
camelia rakudo-moar 7ad4a8: OUTPUT«nope␤»
BenGoldberg Huh.
babydrop++
BenGoldberg will probably think better after dinner. 01:56
lucasb__ m: without Any {} else {} 01:57
camelia rakudo-moar 7ad4a8: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤"unless" does not take "else", please rewrite using "if"␤at <tmp>:1␤------> 3without Any {} 7⏏5else {}␤»
01:57 telex joined
lucasb__ "unless" does not take "else" 01:57
and it seems that neither does 'without'
babydrop That's by design. 01:58
lucasb__ I was trying to draw attention to the message mentioning "unless" when I actually typed "without"
babydrop Oh, didn't notice :) 01:59
01:59 pyrimidine joined
babydrop Would you report that as a bug, please? 01:59
lucasb__ well, it's not a serious one :)
babydrop I'd say a pretty serious one :) 02:00
02:00 pierre__ joined
babydrop It references the thing that's not in code and suggest usage for a operationally different construct. 02:01
lucasb__ that's code reuse
babydrop haha
lucasb__ TT reused a grammar production :)
02:03 pierre__ left, pierre__ joined
AlexDaniel lucasb__: that's a bug, please report 02:11
02:12 skids joined 02:13 kalkin- joined
babydrop damn wordpress... my lines are too long for that narrow strip 02:14
02:16 lucasb__ left
vcv_ my %hash = a => 5, b => 3, z => 1, y => 1, x => 1; <<-- how can i get the keys from this hash in sorted order, where the sort is first by value, then by key if value is equal? so i want to end up with a list (a b x y z) 02:20
i know how to do it with a custom sort, but curious if there any sort of shorthand for sorting a hash by value, then key 02:21
AlexDaniel vcv_: may I ask why? :) 02:22
mspo sounds like a nice memory optimization
vcv_ trying to learn new tricks for advent of code
Something like... %hash.sort: *.value, *.key; 02:25
AlexDaniel m: my %hash = a => 5, b => 3, z => 1, y => 1, x => 1; .say for %hash.pairs.sort({ ($^a.key cmp $^b.key) || $a.value cmp $b.value })
camelia rakudo-moar 7ad4a8: OUTPUT«a => 5␤b => 3␤x => 1␤y => 1␤z => 1␤»
japhb Absolutely honest question: Why are we still serving with Wordpress, given that everyone seems to hate it? Just hysterical raisins? 02:26
AlexDaniel japhb: what else would you recommend?
japhb AlexDaniel: That depends on what we want from it. There's a part of me that says "Just use Github Pages", but I have no idea how hard it would be to put commenting on there. And if we still want it to be blog-like, there are other general blogging platforms that would work. And as a base, there's always the option of serving static pages that we generate however we want. 02:28
AlexDaniel well, I think switching is not justified unless we switch to dogfood 02:29
japhb AlexDaniel: the last option I listed above was one variant of the dogfood branch 02:30
(I realize that wasn't obvious.)
mspo you have mustache and pod6/markdown :)
Juerd The world needs a blog/cms that doesn't suck, and we need it to be written in Perl 6. Problem is, it'd be a huge project.
mspo how many lines would that take?
Juerd: yes
babydrop What do I schedule my advent post as? 02:31
Oh
Never mind... got confused by dates.
AlexDaniel Juerd: right now I am starting a wiki engine, it will work nicely for blogs too
Juerd: but it will take quite some time… :)
02:31 lighttrr left
Juerd Publishing documents by itself is easy. Some templates, done. But to make it enduser friendly, you need user accounts, wysiwyg, scheduling, draft status, categories. And to make it nice for visitors, you need comments. And then you need moderation. Argh. 02:32
mspo maybe nailing down binary-based networking would be a good first sttep
Juerd: then you also need tons of javascript
babydrop mspo++
mspo (binary networking for H2, you know) 02:33
Juerd And since Perl 6 doesn't quite perform well yet, most of it needs to be static generated content.
AlexDaniel Juerd: or just cached
babydrop For Advent writers: wrote a little script to convert a markdown rendered Gist to HTML stuff you can stick into Wordpress: gist.github.com/zoffixznet/bea4474...c36524d828
Juerd AlexDaniel: Believe me, caching really doesn't suffice if your platform is as heavy as Perl 6.
AlexDaniel: One little mistake (e.g. not normalizing urls in your caching mechanism) and you end up with a dead server. 02:34
AlexDaniel Juerd: what kind of data is this based upon?
02:34 labster left
AlexDaniel Juerd: like, what website did you have? 02:35
Juerd AlexDaniel: Experience with similar things, written in Java.
And Perl 6 now is much heavier than Java then.
Caching is hard, generating static content is easy. At least, if you make the design choice early. That's another reason for not going with caching.
mspo it's always a level 02:36
should your perl6 server be listening on 80? 443? doing its own TLS? 02:37
it no, which protocl should apache use to talk to you, over what?
etc
too bad the mojo guys left :)
Juerd For most of the content, the web server should not be talking to your application at all. 02:38
The thing is, if you have caching, the hard part is invalidating the cache. And if you're doing cache invalidation right, you might as well just generate pages at that point. The easier solution is expiry based caching, but that tends to kill servers when everything expires together. 02:40
mspo smarter CDN know how to handle that (fastly) 02:43
using a lot of tricks
docs.fastly.com/guides/performance...collapsing 02:44
02:48 ilbot3 joined
Juerd I don't think a CMS that depends on those tricks has a good chance of becoming popular. 02:49
mspo wordpress is popular because it's "easy"
or like gui-driven
I don't see an opportunity to repeat the wordpress magic
Juerd Oh, a lot of people are looking for alternatives for wordpress 02:50
mspo because the world is different now
you say that and I think it sometimes too
but go look at a job board :)
Juerd Different people are switching for different reasons. And yes, the majority is staying with wordpress.
mspo wordpress + RoR = tons of jobs
Juerd But for example Ghost is gaining popularity. 02:51
And Ghost's main feature seems to be simplicity.
We can do simple :)
If job boards are your guide, I wonder why you'd bother with Perl 6 at all :D
mspo it's some kind of mental illness I have 02:52
Juerd :)
Don't get better :)
mspo every part of wordpress except for actual wordpress is pretty amazing
the jobs situation, the plugins and themes marketplaces 02:53
those two things are very impressive
Juerd Well, wordpress itself is pretty amazing too. As in: it continues to amaze me.
mspo it fails to amaze me since I run it on a moderately popular site ;)
scaling out is tricky
Juerd I wonder what moderately popular means :) 02:54
In terms of hits per second during peak hours, how much does it endure?
mspo well on moderately small aws instances I was having issues around 30 req/s if I remember correctly 02:56
Juerd Eek, 4 o'clock... Sorry, bed time for me.
30 r/s is quite a lot! 02:57
mspo anyway if you have a NAS and memcache you can scale out
and amazon has EFS now, which is a good enough (albeit slow) NAS
Juerd Good night! 02:58
mspo so now it's pretty easy to scale out (single region) ;)
'night
03:06 labster joined, pyrimidine left 03:09 eliasr left 03:19 noganex_ joined 03:21 pyrimidine joined 03:38 pierre__ left, bjz joined 03:46 pierre__ joined 03:51 labster left 03:57 bjz left 04:07 _28_ria left 04:08 _28_ria joined 04:11 bpmedley joined
samcv do words like `deeply` `rw` `raw` `copy` they HAVE to come after `is` right? like `is export` etc 04:11
AlexDaniel right? 04:12
samcv pretty sure they must
wanted to ask before i update the syntax highlight
AlexDaniel
.oO( sub immerse deeply { } )
04:14
geekosaur yes, they must. it's trait_mod:<is> in the grammar
samcv yeah looking at traits.pm 04:15
yeah. seems to be they have to
geekosaur "is" is how the grammar knows to look for a trait_mod:<is> 04:18
04:24 cooper_ joined
Xliff_ZZzzZZZzzz samcv: Syntax highlight for what editor, if you don't mind? 04:25
04:25 Xliff_ZZzzZZZzzz is now known as Xliff
samcv Atom. also the one github uses for syntax highlighting 04:26
Xliff Hmm... may want to try that. 04:27
samcv i'm probably not going to change it for now.. should be mostly fine, at least made any of those things that comes before => not highlight, in case somebody uses a key
err as a key for pairs
Xliff Sublime Text used to have decent perl highlighting, but that was Perl5. 04:28
With Perl6 there are... issues.
04:28 khw left
samcv the atom highlighting is the best i think. Install "Perl 6 FE" 04:28
well at least since i added fancy quotation marks and lots of quoting constructs :)
Xliff, my changelog is here github.com/samcv/language-perl6fe/...ANGELOG.md just started working on it a week ago 04:29
Xliff Yeah. That's what's getting the Sublime Highlighting confused.
samcv so got a ton of things working that hadn't worked
Xliff samcv++
Now let's see if it installs on debian vm
samcv heh
v1.9 isn't out yet. will be when MadCapJake gets out of hibernation again 04:30
he needs to just give me commit access ;P 04:31
Xliff feck 04:35
Atom is x64 only. The VM is i386
samcv it's x64 only?
Xliff So back to sublime it is.
Yup
samcv you can't just compile it yourself???
Xliff Aparently not.
samcv i am sure you can though 04:36
even if they don't provide packages for it
what distro?
oh Xliff you can use atom grammars in sublime 04:37
Xliff Debian
Oh really? 04:38
samcv just clone this into your packages folder for sublime
git clone -b testing github.com/samcv/language-perl6fe.git
04:38 pierre__ left
samcv i think that should magically work maybe 04:38
Xliff Will try. 04:41
samcv hmm i don't use it but idk how to enable packages or anything so 04:42
but i think it should work
Xliff Nope. Not seeing it. Will check.
04:45 pierre__ joined 04:46 pyrimidine left 04:49 TimToady left, pierre__ left 04:51 TimToady joined
samcv hmm i know atom uses similar to textmate and sublime can use textmate 04:54
there must be a way but all i'm seeing are how to use a normal textmate thing in sublime and there must be some other package data it needs
hmm 04:55
Xliff, i will investigate ok
Xliff Yeah. ST3 switched to a custom package thingy. 04:56
So I am trying to build atom from src
samcv ah ok
Xliff Finally got the right version of nodejs and npm on the VM so things look like they are working.
04:57 pyrimidine joined
samcv cool 04:57
so looks like textmate are xml files and atom ones are the same, but they use basically JSON (technically CSON) 04:59
but CSON is just JSON with less brackets
i might look into figuring that out, because they we would have perl 6 highlighting on sublime, textmate and atom
that would be sick 05:01
05:02 pyrimidine left
samcv gonna get a textmate bundle. then use atom to convert it to atoms package format. then get some way to automate converting them 05:02
05:05 rburkholder left 05:09 labster joined 05:11 aborazmeh left 05:15 inokenty left 05:16 BenGoldberg left 05:18 arnsholt joined 05:29 inokenty joined 05:30 pyrimidine joined 05:34 pierre__ joined, mohae_ joined, pyrimidine left 05:39 pierre__ left 05:50 AlexDaniel left 05:56 Cabanossi joined 06:08 pyrimidine joined 06:11 pyrimidine left, pyrimidine joined 06:16 pyrimidine left 06:19 domidumont joined
timotimo babydrop: give me your wordpress account name or whatever i need and i'll give you access 06:21
06:24 pierre__ joined 06:25 domidumont left, domidumont joined
baest_ masak: wheee, at least my 2 secs of fame :D 06:29
06:29 baest_ is now known as baest
timotimo i'm not quite sure why calling $sum = $sum + $_ over and over spends 18.7% in mp_mul_2d 06:30
06:38 Actualeyes left
timotimo ah, it comes from MVM_bigint_add via mp_set_long and set_int via MVM_bigint_mp_set_uint64 06:43
Xliff Wheee! 06:45
I can't get Atom to start.... and converting "cson" to something usable looks to be non-trivial. :/
timotimo m: say 1 << 32
camelia rakudo-moar 7ad4a8: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unsupported use of << to do left shift; in Perl 6 please use +< or ~<␤at <tmp>:1␤------> 3say 1 <<7⏏5 32␤»
Xliff I will bug samcv tomorrow.
timotimo m: say 1 +< 32
camelia rakudo-moar 7ad4a8: OUTPUT«4294967296␤»
samcv what, hi
Xliff Oh, hi.
I built atom. Started it. No GUI. EVAR 06:46
timotimo m: say (1 +< 32) - 1000000
camelia rakudo-moar 7ad4a8: OUTPUT«4293967296␤»
samcv you're on debian?
timotimo this shouldn't even reach bigint territory ...
Xliff So now I am looking at the grammar files and "TextMate support" covers a wide bit of real-estate.
06:46 bjz joined
Xliff The problem here is that the language-perl6fe is not directly usable by ST3 06:46
06:47 darutoko joined
Xliff m: say 1 +< 16 06:47
camelia rakudo-moar 7ad4a8: OUTPUT«65536␤»
Xliff m: say 1 +< 32
camelia rakudo-moar 7ad4a8: OUTPUT«4294967296␤»
Xliff m: say 1 +< 64
camelia rakudo-moar 7ad4a8: OUTPUT«18446744073709551616␤»
samcv i'm working on getting cson converted to xml now
Xliff samcv++ -- got bless you!
You have your first guinea pig right here.
samcv u: crying face
unicodable6 samcv, U+1F622 CRYING FACE [So] (😢)
samcv, U+1F62D LOUDLY CRYING FACE [So] (😭)
samcv, U+1F63F CRYING CAT FACE [So] (😿)
Xliff I have to add some nice smileys to wincompose 06:48
:(
samcv would be nice if unicodable6 stored all the stuff in a datastructure instead of havig to search all of them
Xliff Hrm.
samcv i wrote my own for my ircbot, and was a like 4x speed improvement from unicodable
after deciding it was too slow
why so hard to have a json2xml converter that works 06:50
goddamit
06:50 RabidGravy joined
samcv it's like nobody has had this problem before 06:50
xi did it though 06:51
now to see if the datastructure is correct. had to first convert from cson to json, then find some json converter. actually had to download `xmlsh` which is... like some shell for xml? 06:52
i couldn't find a standalone program that actually worked
06:54 telex left
timotimo oh, of course, the sum quickly reaches bigint territory because reasons 06:54
samcv tho textmate is actually plist type xml so goddamit
timotimo never mind, move along ...
06:55 domidumont left 06:57 Actualeyes joined, skids left 07:03 Tonik joined 07:05 domidumont joined
Xliff Dammit!~ 07:05
VirtualBox doesn't support glx 1.3?!?
*sigh* 07:06
samcv m: my $str = '<member name="thing">'; $str ~~ s| ‘<member name="’ (.*?) ‘">’ |<key>$0</key>|; say $str; 07:08
camelia rakudo-moar 7ad4a8: OUTPUT«Use of Nil in string context␤ in code at <tmp> line 1␤<key>␤»
samcv why does this not work?
m: my $str = '<member name="thing">'; $str ~~ s| ‘<member name="’ (.*?) ‘">’ |<key>$0</key>|; say $str; say $0; 07:09
camelia rakudo-moar 7ad4a8: OUTPUT«Use of Nil in string context␤ in code at <tmp> line 1␤<key>␤「thing」␤»
samcv m: my $str = '<member name="thing">'; $str ~~ s| ‘<member name="’ (.*?) ‘">’ |<key>$0</key>|; say $str; say $0.Str;
camelia rakudo-moar 7ad4a8: OUTPUT«Use of Nil in string context␤ in code at <tmp> line 1␤<key>␤thing␤»
samcv it gets the match...
07:15 kurahaupo_ left 07:17 Actualeyes left 07:18 kurahaupo left 07:19 kurahaupo__ joined 07:21 Tonik left 07:23 kurahaupo__ left
dalek : 7ceee0e | ugexe++ | misc/perl6advent-2016/schedule:
Update schedule
07:25
Xliff That's odd, coz this works: m: my $str = '<member name="thing">'; $str ~~ s| '<member name="' (.*?) '">' | <key> $0 </key> |; say $str 07:26
m: my $str = '<member name="thing">'; $str ~~ s| '<member name="' (.*?) '">' | <key> $0 </key> |; say $str
camelia rakudo-moar 7ad4a8: OUTPUT« <key> thing </key> ␤»
07:26 firstdayonthejob joined
Xliff m: my $str = '<member name="thing">'; say $str; $str ~~ s| '<member name="' (.*?) '">' | <key> $0 </key> |; say $str 07:26
camelia rakudo-moar 7ad4a8: OUTPUT«<member name="thing">␤ <key> thing </key> ␤»
07:26 inokenty left
Xliff It's a metachar issue. 07:27
m: my $str = '<member name="thing">'; $str ~~ s| '<member name="' (.*?) '">' | \<key\>$0\<\/key\> |; say $str
camelia rakudo-moar 7ad4a8: OUTPUT« <key>thing</key> ␤»
Xliff m: my $str = '<member name="thing">'; $str ~~ s| '<member name="' (.*?) '">' |\<key\>$0\<\/key\>|; say $str
camelia rakudo-moar 7ad4a8: OUTPUT«<key>thing</key>␤»
Xliff samcv: ^^
07:27 inokenty joined 07:28 ribasushi left 07:29 wamba joined 07:30 pyrimidine joined 07:31 telex joined
samcv ah 07:31
i thought the after section was literal
07:31 ribasushi joined
samcv i know it allows ' marks at least 07:31
without quoting
07:32 breinbaas joined 07:34 CIAvash joined, pyrimidine left 07:35 Actualeyes joined 07:36 zgrep joined 07:37 firstdayonthejob left, pyrimidine joined
zgrep Question... perl6 regexes / grammars are very left-to-right oriented, right? Is there a way that I could convince them to be more right-to-left parsing? 07:41
masak zgrep: reverse the string before parsing? :) 07:42
zgrep I was indeed thinking of that, but that seems... not like the best solution. :P
07:42 pyrimidine left
masak could possibly also do something cool with the MOP to allow you to write the regexes in the natural direction 07:42
timotimo we already have magical string flipping for lookbehinds 07:46
zgrep Ooh... hmm... 07:47
07:48 ribasushi left
masak when I last investigated lookbehinds, I concluded that it needed three different strategies to work in general -- one default and two increasingly worse fallbacks 07:48
but that was around 2011 so my memory is very fuzzy, and I might very well be wrong, too
timotimo so if you do something like .* <?after my whole regex> maybe that works? though perhaps it'll refuse to do a variable-width lookbehind??
samcv Xliff, wow sublime sucks. the file looks mostly correct but 07:49
sublime says Error loading syntax file: Unrecognized plist element
10/10 helpful. doesn't tell me what line or even what key
zgrep Reversing the string is looking more alluring by the second. :P 07:50
samcv yeah just reverse the string haha
07:51 pyrimidine joined
samcv does perl 6 support variable width lookbehinds? 07:52
07:52 brillenfux joined, ribasushi joined
Xliff samcv: I've not been impressed with the internals, myself. 07:52
However I haven't been able to complain about the editor itself.
I'm still trying to get atom to work.
Sucks-but-works will beat Awesome-but-broken everytime. :/ 07:53
samcv why do you need to use a vm?
zgrep Reversing the string seems like it might work for me... except some parts of my string *are* parsed left to right... :/
samcv what's the regex zgrep ?
zgrep It's not a regex in particular, I'm trying to make a grammar to parse k (kparc.com/k.txt). 07:54
samcv ah
07:56 pyrimidine left
zgrep In particular, the crucial line would probably be «grammar: E:E;e|e e:nve|te| t:n|v v:tA|V n:t[E]|(E)|{E}|N». Implementing that in a grammar causes perl 6 to go in an infinite loop, because n:t... t:n... and similar. 07:57
samcv infinite? or just really really slow?
:P
zgrep Infinite, because t tries checking for n, then n tries checking for t, then t tries checking for n, etc.
Reordering things helps... but not by much... 07:58
zgrep tries some more
samcv hmm
can i see the file
i see what you're trying to parse but the rest of the program? 07:59
zgrep Err, lemme try something out and see if that works.
The rest of the program is nonexistent, I'm just trying to get it to parse. :P
samcv oh 08:00
what's the full grammar though 08:01
zgrep www.irccloud.com/pastebin/cN0CjWop/parse.p6 08:02
samcv thanks :) 08:03
08:03 ufobat joined, jonas1 joined
zgrep Maybe... 08:07
samcv well zgrep it looks like it's recursive.. 08:09
08:09 pierre__ left
zgrep samcv: Yes. 08:10
08:10 pierre__ joined, kurahaupo__ joined
zgrep tries to remove the left-recursion 08:10
samcv like really recursive
<expression> has <expression> in it 08:11
it's gonna keep going
zgrep No, not that one.
That's right recursive, I think that for the way it's parsed, it's okay.
Assuming <nounish> and <verbish> aren't recursive, it'll be fine.
I think.
And aren't blank.
08:12 abraxxa joined
zgrep But I could probably remove that particular recursion with a few carefully places brackets and a +. 08:12
s/places/placed/
samcv expression is what's causing the problem 08:14
08:14 pierre__ left
samcv but yeah. make it not infinetely recursive 08:14
zgrep expression's causing the problem? I see the left-recursion as being what's causing the problem, in particular through callable with regards to nounish and verbish. 08:15
samcv i mean it might help to make two tokens
zgrep At least, that's what Grammar::Tracer shows repeating a bunch of times. :P
Yeah, I think that'd do it... 08:16
08:19 _ramix_ joined 08:20 pierre__ joined 08:23 _ramix_ left 08:25 zakharyas joined
Xliff Aannnnd.... 08:35
Atom STILL blows up in the VM because I can't get server glx to 1.3 *sigh*
Calling it a night.
08:35 Xliff is now known as Xliff-ZZzzZZ
zgrep samcv: Yeah, that'll do it. To quote some random thing on the internet «Again, the solution is simple. Rewrite at least one of the rules so that the first condition it tries to match is not itself a recursive situation». 08:40
samcv yeah you need more tokens or whatever
so you can do what you want to do
zgrep This seems like a simple enough task that I *could* make it automatically figure out what to do... if I knew perl6 well enough to mangle regexen properly. 08:42
arnsholt The rule for recursive descent parsers is: You need to consume at least *one more character* before calling back into a rule you're already inside 08:43
zgrep Well, now that I know what I need to do, I'll sleep because I'm not awake enough to actually do it.
Thanks for helping. 08:44
arnsholt Although if you're parsing expressions, implementing an Operator Precedence layer a la HLL::Grammar.EXPR (from NQP) is probably more robust
zgrep takes a look 08:45
08:45 pyrimidine joined
arnsholt The code is moderately hairy, but it's grokkable if you know how the algorithm works 08:45
It's basically a shunting yard algorithm: en.wikipedia.org/wiki/Shunting-yard_algorithm
lizmat clickbaits p6weekly.wordpress.com/2016/12/05/...log-posts/ 08:46
zgrep arnsholt: Oh, that... hmm... 08:47
DrForr What's this about grammars? :)
08:48 g4 joined
arnsholt is actually working on something blog-posty on how to do it in Perl 6 08:48
Was hoping I'd get it ready in time for the calendar, but doesn't look terribly promising, sadly =( 08:49
moritz lizmat++
08:49 dakkar joined 08:50 pyrimidine left
zgrep Not sure if precedence would help me with what I'm doing tremendously, because everything has the same precedence in what I'm parsing. It's right to left, pretty much always: 2*2+2 is 8. 08:52
moritz same precedence, right associativity 08:55
08:57 pyrimidine joined
arnsholt OPP can handle associativity too =) 08:58
09:02 pyrimidine left
arnsholt I'm a bit confused why you want to parse expressions with right-associativity though? That's kind of esoteric 09:06
09:09 bjz_ joined 09:11 bjz left 09:15 wamba left
TEttinger arnsholt: exponentiation? 09:18
arnsholt Well that's one of the few operators that usually are rassoc. But he did say he wanted 2*2+2 to evaluate to 8 09:20
Which is less usual =)
DrForr Well, I know of at least one language (that I recently mentioned at a talk) that uses strictly r-to-l evaluation :) APL :) 09:21
abraxxa has anyone checked the segfault I've discovered last week? 09:22
arnsholt DrForr: Oh, that's interesting!
Smalltalk is the opposite; all infixes are evaluated from left to right
DrForr (it could be l-to-r, I don't offhand remember but I kmow that it doesn't use precedence beyond parens.) 09:23
09:23 TEttinger left
DrForr Indeed. Simplified the parsing, but it makes it hard to integrate with languages with multiple precedence levels. 09:31
09:42 sufrostico left, sufrostico joined
arnsholt Yeah, Smalltalk has everything at the same precedence with the same associativity because it's just a different kind of method-call syntax 09:42
"a + b" being just a send of the message "+" with the argument b to object a 09:43
El_Che DrForr: did you do a perl6 talk at the Lwp? If yes, how was the public?
09:46 AlexDaniel joined
DrForr Two, actually. 09:47
The first was a workshop, 2 hours long but due to the fact that it was over lunch I lost a few people after break. We started with ... counting... 15 people. 09:48
El_Che sounds nice. What subject? 09:50
DrForr 2-hour intro; I got a late start because I'd managed to lose my HDMI -> VGA adapter and had to rush around finding one. 09:51
El_Che DrForr: I have one on my laptopbag for fosdem :)
too bad I don't have mac cables
09:51 labster left
DrForr I need to get one when I'm back in the States; I keep forgetting the damn things. 09:53
El_Che no convertor in romania? :) 09:54
09:55 AlexDaniel left, pyrimidine joined
dalek : a3ad9fa | drforr++ | misc/perl6advent-2016/schedule:
Adding Roman Numerals

I'll just reprise a blog post because I'm going to be somewhat pressed for time. I *really* want to do Babylonian but that'd mean rewriting the Perl 6 core a bit. The other reason is that the cuneiform numbers aren't exactly common in Unicode fonts, so it won't play as well. But I *will* do it, damnit.
09:59
09:59 notbenh left 10:00 pyrimidine left
DrForr sighs. At least I know what I'm doing tonight. 10:00
10:01 bjz joined 10:02 bjz_ left 10:03 grondilu joined
arnsholt DrForr: Maybe Noto has cuneiform numerals? 10:09
IIRC it does have cuneiform
Indeed it does 10:10
DrForr Well, it's not going to go live until the 10th, so I've got time...
El_Che brian d foy's book is almost finance. $680 left for 10 days. Nice 10:11
arnsholt Nice!
arnsholt is looking forward to looking at early versions 10:12
DrForr I already have :) *very* early :)
arnsholt Oooh! I'm jealous =) 10:13
10:14 Technaton joined
El_Che DrForr: is it a translation of the perl 5 (e.g. variable names in examples) or not related at all? 10:14
DrForr We're still doing outline work at this stage. (yes, I say 'we'.)
El_Che DrForr: mmm 10:15
10:17 notbenh joined 10:20 wamba joined 10:30 lucasb joined
lucasb how can I infinitely cycle an list of values? 10:32
I have <a b c> and want '( ... )[^10]' to give me back 'a,b,c,a,b,c,a,b,c,a'
what goes into the '...' there ? :) 10:33
sorry, it's a lazy question. I keep forgeting how to code the simple things
DrForr I see what you did there :) 10:34
lucasb double loaded lazy? :) 10:35
DrForr El_Che: Re: variable names, no, it's not going to be .. well, to be honest, what Will Braswell did with his "Learning RPerl."
10:35 rindolf joined
jnthn m: say (|<a b c> xx *)[^10] 10:35
camelia rakudo-moar b67c1e: OUTPUT«(a b c a b c a b c a)␤»
lucasb jnthn: exactly! thanks!
I have already asked this same question before and forgot the idiom... 10:36
10:38 bjz left
El_Che DrForr: do you use synonimes for "slow" as variable names? 10:38
10:41 bjz joined
DrForr The only new variable I've used in the last week is $q, actually. 10:41
That's mpstly because the only module I've been working on in the last week or so has been Perl6::Parser, and it's mostly the remaining bug fixes before release to the ecosystem. 10:42
lucasb
.oO( my $q = CGI->new )
10:44
DrForr No, I originally named the parsed tree $p, so I'm doing 'for $p.list -> $q { }' it was just a rational step. 10:45
El_Che I tend to avoid single char vars execpt in small loops (e.g. k,v) 10:46
lucasb yeah, I like sequenced variable names too
El_Che but that's not handy in a book with limited space of course
DrForr The file is over 7000 lines long, I just don't want to retype cr*pt.
This isn't for the book, although it'll probably get mentioned there. 10:47
lucasb m: say (|('__\\|/'.comb Xx 2) xx *)[^27].join 10:51
camelia rakudo-moar b67c1e: OUTPUT«____\\||//____\\||//____\\||//____\\||//____\\||//____␤»
lucasb I don't know, think of it as a little christmas decoration 10:52
10:58 pierre__ left, pierre__ joined 10:59 pmurias joined
dalek : 3731994 | (Zoffix Znet)++ | misc/perl6advent-2016/schedule:
Clear out zofspots to make the schedule look more empty
11:02
11:03 pierre__ left
Ulti is there something a bit like categorize which is for folding an array into a hash? 11:03
m: say "hi 1 boo 2 fart 3".split(" ").rotor(2).categorize: *[0]
camelia rakudo-moar b67c1e: OUTPUT«{boo => [(boo 2)], fart => [(fart 3)], hi => [(hi 1)]}␤»
Ulti so you dont have the key in the value list and you don't assume there will be many you just overwrite 11:04
babydrop m: "hi 1 boo 2 fart 3".words.Hash.say
camelia rakudo-moar b67c1e: OUTPUT«{boo => 2, fart => 3, hi => 1}␤»
Ulti that doesnt do what I want though because there could be a whole list of values
not just one
its more like .rotor(6) 11:05
babydrop I've no idea what you mean then... 11:06
How does it know which ones are values?
Ulti its not just key value pairs
its a key with a lot of values as a list
babydrop thats what the categorize does 11:07
I tell it just the first value is the key
jnthn I think the bit I'm missing is how categorize doesn't do what you wish? 11:10
Hash.push may be on interest though
*of
Oh, categorize leaves the key part in the value 11:11
11:11 sena_kun joined
jnthn m: my %h; %h.push("hi 1 boo 2 fart 3".split(" ")); dd %h 11:12
camelia rakudo-moar b67c1e: OUTPUT«Hash %h = {:boo("2"), :fart("3"), :hi("1")}␤»
jnthn m: my %h; %h.push("hi 1 boo 2 fart 3 hi 4".split(" ")); dd %h
camelia rakudo-moar b67c1e: OUTPUT«Hash %h = {:boo("2"), :fart("3"), :hi($["1", "4"])}␤»
jnthn Is that more like it?
babydrop m: say "hi 1 2 boo 2 3 fart 3 4".split(" ").rotor(3).categorize(*[0]).Hash.map: { .key => [|.value.[0][1..*]] } 11:13
camelia rakudo-moar b67c1e: OUTPUT«(boo => [2 3] fart => [3 4] hi => [1 2])␤»
psch "it's more like .rotor(6)" sounds like the input data plainly isn't consistent..?
babydrop Not sure what happened to my Advent Highlighter URL. Here's anoither copy: gist.github.com/zoffixznet/93f338e...4e4125bbc9 11:15
11:16 pyrimidine joined
DrForr Mmhmm, on the FB posting I mentioned the way to fix the URL. 11:16
babydrop I don't see any % after the zoffix and it was broken in #perl6 log too 11:17
11:20 xin0x joined 11:21 pyrimidine left
babydrop .seen [Coke] 11:29
11:30 pyrimidine joined
babydrop I guess the reign of ownerless yoleaux is over? or what happened? :) 11:30
11:30 pyrimidine left, pyrimidine joined 11:35 pyrimidine left 11:36 lukaramu joined 11:37 yoleaux2 joined
babydrop All hail the New Emperor of messaging! 11:37
.tell timotimo I think it's just zoffix (RE: wordpress account for weekly perms) 11:38
yoleaux2 babydrop: I'll pass your message to timotimo.
babydrop .tell [Coke] Your post is up soon. I have one already-written stashed away, I could schedule if you need more time. Lemme know
yoleaux2 babydrop: I'll pass your message to [Coke].
Ulti m: say "hi 1 2 3 boo 2 3 4 fart 3 4 5 fart 4 5 6".split(" ").rotor(4).categorize: *[0] 11:40
camelia rakudo-moar b67c1e: OUTPUT«{boo => [(boo 2 3 4)], fart => [(fart 3 4 5) (fart 4 5 6)], hi => [(hi 1 2 3)]}␤»
Ulti I only want one entry for fart and yeah the key doesn't need to be in the values
(I should have given a better example)
but hash.push is good to know!
babydrop m: say "hi 1 2 boo 2 3 fart 3 4 boo 5 6".split(" ").rotor(3).categorize(*[0]).Hash.map: { .key => [|.value».[1..*]] } 11:41
camelia rakudo-moar b67c1e: OUTPUT«(boo => [(2 3) (5 6)] fart => [(3 4)] hi => [(1 2)])␤»
Ulti right but thats doing a lot of work 11:42
I know I can transform what I ahve
you dont really need the categorize there
its more is there some options for categorize or a method I'm missing
not sure why but the verb fold constantly keeps coming to mind 11:43
psch m: say "hi 1 2 3 boo 2 3 4 fart 3 4 5 fart 4 5 6".split(" ").rotor([1,3]).Hash
camelia rakudo-moar b67c1e: OUTPUT«{boo => (2 3 4), fart => (4 5 6), hi => (1 2 3)}␤»
psch ah, but that still needs the .push
Ulti aha
that is a cool feature of rotor!
psch m: my %h; say %h.push("hi 1 2 3 boo 2 3 4 fart 3 4 5 fart 4 5 6".split(" ").rotor([1,3]))
camelia rakudo-moar b67c1e: OUTPUT«{boo => (2 3 4), fart => [(3 4 5) (4 5 6)], hi => (1 2 3)}␤»
lucasb Ulti: the number of values are fixed? for example, for every key, there will always be 2, or 3, etc. values?
Ulti yup 11:44
lucasb in this case, it's always 3, then?
Ulti its basically just a TSV with an ID I want to index on
lucasb well the constant will be different given what I'm working with
I mean the whole thing is just an intellectual exercise, I can get what I want with some combo I'm just looking for the most elegant.... rotor taking a spec like that is something I wasn't aware of 11:45
11:46 wamba left
babydrop It can also backtrack 11:46
Ulti rotor++
11:46 brrt joined
Ulti though it does assume the key is the first column :D 11:47
babydrop perl6.party/post/Perl-6-.rotor-The-...nipulation
Ulti which isnt going to always be true for some reason lots of bioinformatics formats decided the 3rd or worse column is the ID 11:48
I hate bioinformaticians they just don't think much about anything they're doing and all formats evolve from human readable stuff
its a dream field for Perl 6 11:49
psch oh
m: <a b c>.rotor(-1) 11:50
camelia rakudo-moar b67c1e: OUTPUT«Cannot have elems < 1, did you mean to specify a Pair with => -1?␤ in block <unit> at <tmp> line 1␤␤»
psch m: <a b c>.rotor(1 => -1)
Ulti we should probably make m: act more like the REPL with an implied say
camelia rakudo-moar b67c1e: OUTPUT«(timeout)»
psch ah, misread one error in my /msg with camelia
m: <a b c>.rotor(1 => -2)
camelia rakudo-moar b67c1e: OUTPUT«.rotor position is out of range. Is: -1, should be in 0..Inf; (ensure the negative gap is not larger than the length of the sublist)␤ in block <unit> at <tmp> line 1␤␤»
psch but it's there, in the parens, so yeah, nothing to see :) 11:51
babydrop Ulti: that's been brought up many times and the answer is no. We need sinkage
Ulti sure but could just make another command :P
say:
psch which might behave differently in important cases..?
babydrop Ulti: well-volunteered! github.com/perl6/evalbot 11:52
Ulti happy to
thats easier than me learning NQP and all the ops
psch maybe just fork whateverable and make sayable6 :P
babydrop lol
11:52 Ven joined
Ven o/ 11:52
Ulti I should get emobot back up and running
pmurias Ven: \o 11:53
Ven masak: do you have any idea for a 6advent blog post? I'm considering continuing my blogpost from last year (on quickcheck/6check), but I'd gladly take another topic.....
babydrop It should be easy enough. Just add an alias github.com/perl6/evalbot/blob/mast...ot.pl#L101 11:54
Ven pmurias: debug me! :p github.com/perl6/nqp/compare/642f1...a69b24R239
babydrop And change %program to -e 'put EVALFILE q|%program|' or something or other
pmurias Ven: thank you, fixed 11:56
dalek : c55d04f | (Zoffix Znet)++ | misc/perl6advent-2016/schedule:
Toss core hacking post

This is a poor place for it and stuff for it ain't ready.
11:57
Technaton Hello, world! :) I am still on that A*-inspired dive into p6. Now, I am trying to make sense of the different list and hash types that are new in p6. What is, e.g., the difference between a MixHash and a simple hash that maps objects to real numbers? Or, what is faster: Finding the element with the lowest weight in a MixHash or finding and removing a particular item from an array? Hm. I am not even sure 11:59
how to do the latter. :)
moritz with a loop to find the index
Technaton Could somebody please point me at a piece of documentation? I haven't found anything wrt to finding and removing an element from any position in the array.
moritz and then call .splice to remove it
babydrop Technaton: if you wait 14 hours there'll be a detailed Advent Post about them :)
Technaton babydrop: Woohoo! :) 12:00
moritz but if you want to select by weight, a MixHash isn't optimized for that either
it's optimized for access by key
psch m: my @a = ^6; say @a[@a.first(3, :k)]:delete; say @a
camelia rakudo-moar b67c1e: OUTPUT«3␤[0 1 2 (Any) 4 5]␤»
Technaton Is there something like an ordered set in p6?
babydrop As for the latter you want splice: docs.perl6.org/routine/splice
moritz what you seem to want is an ordered queue or something like
and afaict there's no built-in data type for that in Perl 6 12:01
psch m: my @a = < a b c >; @a[@a.first('a', :k)]:delete; say @a.perl
camelia rakudo-moar b67c1e: OUTPUT«[Any, "b", "c"]␤»
moritz or a heap, maybe
psch but yes, that's just unsetting the container, not removing it
if you want e.g. ['b', 'c'] as the result in the latter example, splice is the right thing
arnsholt For A* the key data structure is a heap, IIRC. I don't think our standard library has one of those 12:02
OTOH, implementing a binary min-heap should be pretty straightforward
Technaton Yeah, a heap would be very fitting for A*. I am happy to have chosen that algorithm, because it offers quite a number of points to deep-dive into p6. :) 12:03
Okay, thanks for the hints. 12:04
Technaton whistles and begins to implement a binary heap in p6. :) 12:05
Oh no, there's already one in the modules directory! :( 12:06
Ulti always room to take a look and see if you can make a nicer one 12:07
moritz using other's code: where's the fun in that?
12:07 wamba joined
Technaton moritz: Yeah, that's true, and probably the funniest way of approaching any subject. But whenever I start learning something with that attitude, I never arrive at something finished, because its clear from the beginning that I do it only to learn things, so I stop when I learnt what I wanted to learn. This time, I am set to contribute Algorithm::AStar to the p6 modules directory, so I need more 12:09
discipline. And adding my own MinMaxHeap implementation is not really good style then. :)
12:11 brillenfux left
moritz Technaton: agreed 12:12
12:24 brillenfux joined
kalkin- so I patched src/core/REPL.pm to support history file with Readline, but I don't know how to test it, because I don't know how to install with rakudobrew rakudo from custom source location 12:26
psch kalkin-: just install it with Configure.pl?
kalkin- psch: won't it mess up everything?
psch kalkin-: if you don't supply an explicit prefix it will install in $rakudo-repo/install 12:27
kalkin-: i don't know what rakudobrew does, but if you have your repo somewhere distinct from rakudobrew Configure.pl shouldn't mess anything up
kalkin- psch: but then I need to build zef which will use the custom rakudo-repo to pull in Readline
psch kalkin-: right, so you just adjust your PATH to point at the custom rakudo before rakudobrew rakudo vOv 12:28
kalkin- yes this makes sense
will try that, thanks
12:32 rindolf left, pierre__ joined 12:35 user9 left 12:38 rindolf joined 12:39 canopus left 12:40 amalia_ left 12:41 amalia__ joined 12:42 dwarring left 12:45 canopus joined 12:51 noganex joined
pmurias is copy & pasting stuff from the synopsis into the docs.perl6.org ok? 12:51
psch i'd say so, if it still works as described
i mean, much of what's in the synopses is in roast too
lucasb how do I use these bots to try a snippet in rakudo from, say, middle of 2015 ? 12:52
psch committable6: help 12:53
committable6 psch, Like this: committable6: f583f22,HEAD say ‘hello’; say ‘world’
psch committable6: 2015.06 say "hello"
committable6 psch, ¦«2015.06»: hello
lucasb psch: thank you!
12:53 noganex_ left
lucasb hmm, committable6 doesn't like private conversations. I'll have to use it in public 12:54
psch pmurias: fwiw, both perl6/doc and perl6/specs are (c) TPF under the artistic liccense 2.0
-c
12:56 prammer joined
lucasb committable6: 2015.09 say (0..9).rotor((3 => -1) xx *) 12:57
committable6 lucasb, ¦«2015.09»: «timed out after 10 seconds, output»: «exit signal = SIGHUP (1)»
12:58 user9 joined 12:59 bjz left, bjz_ joined
lucasb m: say (0..9).rotor(3 xx 100) 12:59
camelia rakudo-moar b67c1e: OUTPUT«((0 1 2) (3 4 5) (6 7 8))␤»
12:59 eliasr joined
lucasb m: say (0..9).rotor(3 xx *) 12:59
camelia rakudo-moar b67c1e: OUTPUT«(timeout)» 13:00
lucasb anyway, I thought I had some memory of rotor working with a lazy infinity list
but I may be mistaken 13:01
moritz m: say say (0..9).rotor(3 xx *).head(5)
lucasb: it might work with an infinite list as base:
m: say (0..9).rotor(3)
camelia rakudo-moar b67c1e: OUTPUT«(timeout)»
rakudo-moar b67c1e: OUTPUT«((0 1 2) (3 4 5) (6 7 8))␤»
moritz m: say (0..*).rotor(3 => -1).head(5) 13:02
camelia rakudo-moar b67c1e: OUTPUT«((0 1 2) (2 3 4) (4 5 6) (6 7 8) (8 9 10))␤»
lucasb moritz: right. I meant specifically as argument list
babydrop lucasb: you can use committable6 in #zofbot
lucasb babydrop: thanks, I might use it there 13:03
dalek c: 9de42a4 | (Pawel Murias)++ | doc/Language/operators.pod6:
Borrow parts of the description of ^^ from the synopsis to describe how it really behaves when all the arguments are false.
13:06
lucasb nevermind, my memory is at fault. I think .rotor never worked with lazy infinity lists in the argument list
pmurias I'm not a technical writer so I appologise if I did anything incorrectly with my doc fix ;) 13:07
lucasb but it would be a reasonable feature, no? dunno if there's something that prevents it, technically
moritz pmurias: none of us are, to the best of my knowledge :-)
babydrop .ask AlexDaniel why not finish off your ticket and submit tests too? rt.perl.org/Ticket/Display.html?id...et-history 13:08
yoleaux2 babydrop: I'll pass your message to AlexDaniel.
babydrop I do notice more spam in RT since the Great Mobile URL Reveal
DrForr That's Google's reweighting towards mobile devices? 13:09
pmurias moritz: when are the docs regenerated? 13:10
moritz pmurias: every five minutes, unless there's already a job running, iirc 13:12
docs.perl6.org/build-log/?C=M;O=D has the logs 13:13
currently takes about 6 minutes run time, so in ~15min the HTML should be up-to-date
pmurias
.oO(pointing the user to a doc page explaining what the thing that the compiler is expecting would be awesome)
13:15
13:18 pyrimidine joined
babydrop
.oO(we already have a mechanism for custom exception output, so that stuff can be done in module space...)
13:19
13:19 kurahaupo__ left
babydrop RAKUDO_EXCEPTIONS_HANDLER=WithDocLinks 13:19
RAKUDO_EXCEPTIONS_HANDLER=WithDocLinks::Chinese 13:20
???
Profit!
pmurias afk&
13:22 espadrine joined
babydrop What would you call the `else` in if () else {}? 13:23
What noun is it?
If you wanted to tell someone "wrong $noun `else`...."
psch keyword?
babydrop good nuf. thnaks
DrForr token? Though 'keyword' is probably better.
jnthn "unexpected" may also be clearer than "wrong" 13:24
yoleaux2 5 Dec 2016 22:47Z <japhb> jnthn: You mentioned that concurrency was going to remain on your brain for at least the first half of 2017. Do you have any idea how much remains in the "make it work reliably" category, and when you'll be able to work on "make it fast/scalable/efficient"? I'm starting to write code that seems to be hitting non-linearities in the scheduler.
5 Dec 2016 22:49Z <japhb> jnthn: Also, is it possible to reserve a single real thread for the main app thread? I've got some high-concurrency code where the main thread (which actually does the I/O in this case) gets very janky, and I'm guessing that user-visible task is getting starved for CPU resources by lots of background tasks.
jnthn o.O 13:25
dalek c/consistent-return-types: 1308514 | Altai-man++ | doc/Type/ (124 files):
Big signature return type unification.

This commit affects all signatures that exist in the type documentation: it replaces "returns " occurences with "-->" form.
See github.com/perl6/doc/issues/1024#i...-264660360 for explanations.
c/consistent-return-types: f8448f2 | Altai-man++ | doc/Type/ (2 files):
Two typo fixes
c/consistent-return-types: 88c2f5f | Altai-man++ | t/return-type.t:
Test for return type in signatures
babydrop weee, bot spam \o/
13:26 xin0x left
lucasb 'returns' is discouraged? 13:26
sena_kun lucasb, see the original discussion. :)
lucasb, in general: no.
lucasb sena_kun: oh, I missed the link, I'll follow it. thanks 13:27
babydrop lucasb: there are plans to toss it in 6.d
m: say 'foobar' ~~ / 'foo' [<!before $<foo>='bar'> || <&die: ~$<foo>>]/;
camelia rakudo-moar 0ee6bc: OUTPUT«Use of Nil in string context␤ in block <unit> at <tmp> line 1␤Cursor<66359552>␤ in block <unit> at <tmp> line 1␤␤»
jnthn .tell japhb The current scheduler is decidedly over-simplistic; it's not far off being "the simplest thing that could possibly work". Scalability is also a little bit limited by `await` not yet being non-blocking, which in turn makes us need a lot more real threads than we should.
yoleaux2 jnthn: I'll pass your message to japhb.
babydrop Can't capture a lookahead?
psch where "toss" means "deprecate", fwiw
babydrop Oh yeah, sorry 13:28
jnthn ...deprecate "returns"? o.O
I...uh...might be arguing against that. :P
psch jnthn: TimToady apparently wanted to do so for 6.c already
13:28 xin0x joined
psch jnthn: in part because it can only parse types 13:28
jnthn There's other forms for when you want more than that, no? :) 13:29
sena_kun jnthn, it is not deprecated(yet), but we(I and AlexDaniel at least) just plan to change the default signature style in the docs, since they are non-consistent.
I'll open the discussion now.
psch well, the only other form that can do more than parse types is --> in the signature
another argument was "if it's in the signature it's clearly visible as part of the contract with the caller"
mind, i'm just repeating the arguments as i understood them :) 13:30
jnthn sena_kun: Yes, documentation consistency is certainly good; I've no problem with the docs settling on one form.
psch the actual discussion was a bit more involved iirc, but that's the two main things i took away from it
jnthn "returns" just reads very nicely :)
.tell japhb Also, we never actually put stuff on the main application thread; it's not part of the pooling mechanism. Any jank you're seeing is probably due to plain old contention with other threads to get scheduled, or possibly GC stop-the-world leading to long pauses (though profiles I've looked at suggested the world-stopping ain't all that costly). 13:34
yoleaux2 jnthn: I'll pass your message to japhb.
jnthn .tell japhb Also be clear, when I say "contention with other threads to get scheduled", these are real kernel threads, so it's the OS scheduler, not something in Rakudo. Rakudo's job is more to pick a smarter number of such threads to do CPU-bound stuff. 13:35
yoleaux2 jnthn: I'll pass your message to japhb.
13:35 travis-ci joined
travis-ci Doc build failed. Altai-man 'Test for return type in signatures' 13:35
travis-ci.org/perl6/doc/builds/181651969 github.com/perl6/doc/compare/138cd...c2f5fcfdaf
13:35 travis-ci left
sena_kun github.com/perl6/doc/pull/1035 - opinions/agrees/disagrees are very welcome. 13:36
babydrop sena_kun: my two cents is a lot of those aren't accurate 13:37
m: say &sum.returns
camelia rakudo-moar 0ee6bc: OUTPUT«(Mu)␤»
babydrop Docs say it's Numeric:D
And what it really returns are Numeric and Junctions
sena_kun babydrop, didn't check the types yet, it's another big(I mean, BIG) issue to solve. 13:38
babydrop :)
psch m: say ([1,2,3].unshift).WHAT
camelia rakudo-moar 0ee6bc: OUTPUT«(Array)␤»
sena_kun We don't have return types everywhere and in some places they are broken. :/ 13:39
But it is still a different issue.
psch broken how?
sena_kun psch, s/broken/wrong/
psch wrt "should everything in CORE nominally declare its return type"... well, patch rakudo, profile it, see if we can take that 13:40
babydrop japhb: :o you didn't report the unless thing!
oh wait
lucasb: :o you didn't report the unless thing!
psch as for "should we doc *expected* return types" i'm inclined to say "no"
as in, if it doesn't show um in &funcname.returns, it shouldn't be in the docs 13:41
s/um/up/
moritz I take the opposite stance
if we know what it returns, document it
even if it's not enforced by the compiler
psch mind, roast is most likely not very vocal about that, so maybe we want to add that to roast iff we can have it like that in rakudo
babydrop psch: for patch rakudo, I already can say it's a "no". Most things return either something *or a Junction* and it's that Junction will render most return types inaccurate
moritz because it helps the reader to know what type is returned
babydrop In fact, that's why sum was broken at one point, it thought it could only handle Numerics 13:42
psch right, let me backpedal in so far that documenting it with actual syntax seems weird to me if that's not what the compiler says
moritz we also don't always show the same combinations of signatures in case of multis 13:43
SmokeMachine____ hi there! I saw here (github.com/perl6/mu/blob/master/mi.../schedule) that theres a few day without people to write...
psch 'cause if i see 'sub foo(--> BarType) { }' and the compiler says '&foo.returns == Mu' i'm confused
moritz sometimes there are more candidates for optimization that we don't show in the docs
SmokeMachine____: yes. Want to claim a spot? 13:44
SmokeMachine____ I'd like to know if I could try to write something for any of these days...
psch moritz: right, which is why i'd say "if we can roast it we can doc it". i've no idea how Junction plays in there though
babydrop SmokeMachine____: yes
psch m: sub f(--> Int) { (1|2) }; f()
camelia rakudo-moar 0ee6bc: OUTPUT«Type check failed for return value; expected Int but got Junction (any(1, 2))␤ in sub f at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
psch j: sub f(--> Int) { (1|2) }; f()
babydrop SmokeMachine____: submit a PR (or commit directly), claiming a day
camelia rakudo-jvm 8ca367: OUTPUT«Type check failed for return value; expected Int but got Junction (any(1, 2))␤ in method throw at gen/jvm/CORE.setting line 27529␤ in sub at gen/jvm/CORE.setting line 29880␤ in sub f at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
moritz SmokeMachine____: and /msg me your email address so that I can give you write access to the blog 13:45
SmokeMachine____ My english isn't very good, so I'd need someone to review it..
babydrop SmokeMachine____: that's fine. We can help out :)
psch committable6: 2015.11 sub f(--> Int) { (1|2) }; f()
committable6 psch, ¦«2015.11»: Type check failed for return value; expected Int but got Junction␤ in sub f at /tmp/uqtvHCSLtS:1␤ in block <unit> at /tmp/uqtvHCSLtS:1␤ «exit code = 1»
psch well
if that never worked...
jnthn It's not meant to work
moritz m: sub f($x) { 1 + $x); say f(1|2)
camelia rakudo-moar 0ee6bc: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing block␤at <tmp>:1␤------> 3sub f($x) { 1 + $x7⏏5); say f(1|2)␤ expecting any of:␤ statement end␤ statement modifier␤ statement modifier loop␤»
moritz m: sub f(Int $x --> Int) { 1 + $x}; say f(1|2) 13:46
camelia rakudo-moar 0ee6bc: OUTPUT«any(2, 3)␤»
jnthn m: sub f($x --> Int) { 1 + $x }; say f(1|2)
camelia rakudo-moar 0ee6bc: OUTPUT«any(2, 3)␤»
moritz the autothreader does the extra work
babydrop dammit
I was wrong :o
jnthn And that works because autothreading happens "outside", if you like
psch yeah, before binding to the sig
moritz babydrop: you might not be entirely wrong, because if sum takes a slurpy, that might be handled differently
psch or, well, during maybe
jnthn Well, it's a failover during binding
babydrop m: sub f(@x --> Int) { [+] @x }; say f(1|2, 5, 3|5) 13:47
camelia rakudo-moar 0ee6bc: OUTPUT«Too many positionals passed; expected 1 argument but got 3␤ in sub f at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
babydrop m: sub f(*@x --> Int) { [+] @x }; say f(1|2, 5, 3|5)
camelia rakudo-moar 0ee6bc: OUTPUT«Type check failed for return value; expected Int but got Junction (any(any(9, 11), any(1...)␤ in sub f at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
babydrop oh *phew* :)
psch m: say [+] (1|2)
camelia rakudo-moar 0ee6bc: OUTPUT«any(1, 2)␤»
SmokeMachine____ ok! so Im doing that! :) (I'm a little nervous...)
babydrop SmokeMachine____: I think the trick is to imagine your audience naked... 13:48
13:48 g4 left
SmokeMachine____ :) 13:48
moritz babydrop: somehow I think that'd totally freak me out
DrForr With *this* crowd?...
babydrop :D
13:51 giraffe left 13:52 abraxxa1 joined, abraxxa left
dalek : 4fa19f2 | (Fernando Correa de Oliveira)++ | misc/perl6advent-2016/schedule:
Adding me on day 22
13:53
: fdcae64 | (Zoffix Znet)++ | misc/perl6advent-2016/schedule:
Merge pull request #22 from FCO/master

Adding me on day 22
babydrop m: say 'foobar' ~~ / 'foo' [<!before 'bar'> || $<foo>='bar' <&die: ~$<foo>>]/; 13:56
camelia rakudo-moar 0ee6bc: OUTPUT«Use of Nil in string context␤ in block <unit> at <tmp> line 1␤Cursor<43474064>␤ in block <unit> at <tmp> line 1␤␤»
babydrop hm, how come it doesn't capture the stuff?
The actual rule being this: gist.github.com/zoffixznet/7e368cb...3ebaa6cdba and I don't think it's matching, 'cause I'm getting weird compilation errors 13:57
oh
13:58 giraffe joined
babydrop m: say 'foobar' ~~ / 'foo' [<!before 'bar'> || $<foo>='bar' {} <&die: ~$<foo>>]/; 13:58
camelia rakudo-moar 0ee6bc: OUTPUT«Cursor<63601808>bar␤ in block <unit> at <tmp> line 1␤␤»
babydrop it's that bug
14:02 grondilu left, sufrosti1o left, sufrostico left
babydrop m: say 36754/37000 14:03
camelia rakudo-moar 0ee6bc: OUTPUT«0.993351␤»
babydrop m: say abs 36754-37000 14:04
camelia rakudo-moar 0ee6bc: OUTPUT«246␤»
babydrop $246 until LP6 is funded \o/
14:04 sufrostico joined, sufrosti1o joined
Ven ah, thanks for the reminder. 14:04
14:06 prammer left
psch babydrop: what's bug there? 14:07
+a
babydrop the $/ not updated with captures unless you stick a {}
psch oh, alright
jnthn It's quite costly to update, so will want a bit of careful analysis 14:08
babydrop but I see another bug that I kinda chose to ignore. If I put a space between 'unless' and <.kok>, compilation fails saying unless interpreted as listop: gist.github.com/zoffixznet/fcceeda...9e65607aec
It really doesn't like the <.kok>s... 14:09
babydrop snickers
psch rule has sigspace..? 14:10
babydrop oohh.. thanks. Makes sense now :D
14:20 prammer joined 14:23 Skarsnik joined
Skarsnik Hello 14:24
babydrop Skarsnik: long time
.match() setting $/ ain't a bug, right? We made it that way on purpose.
Skarsnik I wanted to know if someone made a script/tool to test code against different version of rakudo? 14:25
14:26 pierre__ left 14:27 pierre__ joined, xin0x left
psch committable6: help 14:27
committable6 psch, Like this: committable6: f583f22,HEAD say ‘hello’; say ‘world’
psch Skarsnik: ^^^ that bot does that
Skarsnik Yeah, but it's more code that use 'lot' of modules 14:28
I am just curious of testing the speed gain since january of some of my stuff 14:29
psch in that case you probably have to build all point releases on your own
or, well, rely on someone that has those lying around anyway
14:30 Technaton left 14:31 pierre__ left 14:32 sena_kun left 14:37 kurahaupo__ joined 14:40 sufrosti1o left, sufrostico left, nicq20 joined, cdg joined 14:41 eveith joined, eveith is now known as Technaton 14:42 sufrostico joined, sufrosti1o joined, wamba left
[Coke] sees that zoffix has gone from 4 posts to 2 on the schedule. nice. 14:44
yoleaux2 11:38Z <babydrop> [Coke]: Your post is up soon. I have one already-written stashed away, I could schedule if you need more time. Lemme know
14:45 pyrimidine left
[Coke] there are now 2-4 gaps on the advent schedule. the first gap is in 2-3 days. 14:45
babydrop For p6doc experts: stackoverflow.com/questions/4099115...-like-repo 14:46
FWIW, those types aren't documented 14:47
14:49 kurahaupo_ joined, kyclark joined 14:50 kurahaupo__ left
babydrop grrr 14:51
[Coke] (document return types) remember, it's roast, not the compiler that determines what return types are part of the spec.
babydrop no idea what my SO account it
Someone tell brian $*REPO is not an Installation.
m: say $*REPO.^name 14:52
camelia rakudo-moar 16fbd7: OUTPUT«CompUnit::Repository::Installation␤»
babydrop He probably is using .WHAT to view names
[Coke] me is bummed that all the last minute additions did NOT take the spots they were suggested to take. :|
babydrop Oh apparently my SO is linked to FB 14:53
14:53 lighttrr joined
ufobat nine, did you have slides for your talk at the lpw? are they going to be uploaded? 14:54
14:55 sufrosti1o left
nine ufobat: yes and yes. Thanks for reminding me 14:55
babydrop [Coke]: kinda makes sense, since by taking those spots the people would have to churn out the article in like 30 hours
14:55 sufrostico left
ufobat my pleasure :D 14:55
[Coke] babydrop: kind of like I am, yes. :|
it beats the alternative of missing a day or you or I writing more. 14:56
14:56 seatek left
[Coke] I figure I can still come up with something in time for the 8th. 14:56
nine ufobat: online now: niner.name/talks/Web%20development%...0Perl%206/
14:56 sufrostico joined
nine ufobat: most importantly, the examples directory contains much more example code than I showed. 14:57
ufobat ty :)
babydrop huggable: mu
huggable babydrop, nothing found
babydrop huggable: advent
huggable babydrop, github.com/perl6/mu/blob/master/mi...6/schedule
14:57 sufrosti1o joined
[Coke] DrForr, brrt, RabidGravy, cygx, zostay, ugexe, jnthn, nige, tadzik, nkh, SmokeMachine____, AlexDaniel: if anyone can move up their advent post to fill the empty slots on the 9th and the 11th, that would probably be helpful. 14:57
lucasb babydrop++ fixing the 'unless' thing
babydrop: looks like a very complex patch. I wish could be as knowledgeable :) 14:58
perlpilot yay! Learning Perl 6 is fully funded!
El_Che \o/
lucasb $37,090 14:59
pledged of $37,000 goal
DrForr Indeed. At least one person on FB seems to be unconvinced, but .. someone always *will* be.
lucasb give my $90 back!
just kidding 15:00
DrForr I'll move mine up. I've got to write it tonight anyway.
lucasb I hope the indentation style used in the book will be something sane :)
moritz if somebody has a good idea for me, I'd be willing to write a second advent post 15:01
if not, I might reuse the tictactoe example I used in my training course
dalek : da0e41f | drforr++ | misc/perl6advent-2016/schedule:
Moving mine up, I've got to write it before I leave anyway.
El_Che I hope the book will have syntax highlighting in the safari digital version
DrForr As the topic says.
moritz DrForr++ 15:02
ufobat nine, "doesn't have an any('get', 'post')" - i added ANY to my last feature branch ;-)
[Coke] DrForr: sure you don't want to take #8 ? ;) 15:03
DrForr The module isolates the real hackery, I'm just planning to show where the numbers are in the grammar and how to play with that.
[Coke] and thanks for moving it up one, that helps.
nine ufobat: good to know :)
DrForr Well, what I've seen are just 3-4 paragraphs, sure. One moment. 15:04
nine ufobat: maybe I get bored enough to fix the glaring performance issue. I realize that I didn't even use that argument in the talk... 15:05
ufobat ha! i actually didnt know that it is that bad! :/
dalek : 5898cce | drforr++ | misc/perl6advent-2016/schedule:
Tighten up release schedule
15:06
15:06 Lucas_One left
DrForr Done. 15:06
nine ufobat: yeah, though all it's missing is probably a cache for the compiled templates.
15:07 brillenfux left
[Coke] DrForr: WOOT 15:07
ufobat if so its not that hard to implement, i guess
[Coke] luxuriates in his extra 24 hours!
DrForr I may actually change the title as I've got another idea I may do... 15:08
15:08 lizmat left, Lucas_One joined
[Coke] ponders finishing a poker module for the advent calendar; ponders a retrospective that would address why we have parrot and pugs in our history and why that was a good thing, and finally pondering picking some random perl6 feature that doesn't already have an advent article on it. 15:09
DrForr I was thinking about snagging an operator from APL and showing both the syntax for custom operators and implementing it, I actually feel a bit better about that than having to point people to the bit of hackery involved in creating roles. 15:11
15:11 FROGGS joined
DrForr I know we have .comb and .permute operators, is there an operator to do C(2,5) and so on? (take 2 from a group of 5 elements) 15:12
15:13 CIAvash left
moritz .combinations 15:13
m: say (^5).combinations(2)
camelia rakudo-moar 16fbd7: OUTPUT«((0 1) (0 2) (0 3) (0 4) (1 2) (1 3) (1 4) (2 3) (2 4) (3 4))␤»
DrForr sorry, that's not quite what I mean. I meant generate the number of combinations, rather than a list of the combinations.
15:14 prammer left
lucasb m: say +(^5).combinations(2) 15:14
camelia rakudo-moar 16fbd7: OUTPUT«10␤»
lucasb :D
[Coke] that's kind of wasteful, but I don't think there's one that just does the math. 15:15
15:15 Ven left
lucasb combinations has a count-only method 15:15
DrForr Granted, but I was thinking of a use that didn't create a potentially-huge list.
lucasb so... it *does* just the math, no?
github.com/rakudo/rakudo/blob/nom/...ist.pm#L63
15:16 jonas1 left
DrForr If there's a count-only method that's fine, and it'll do what I'm after. 15:16
[Coke] count-only on a non-lazy list has already done the math
s/math/work/
15:16 khw joined
babydrop m: say (^500000).combinations(2) 15:16
camelia rakudo-moar 16fbd7: OUTPUT«((0 1) (0 2) (0 3) (0 4) (0 5) (0 6) (0 7) (0 8) (0 9) (0 10) (0 11) (0 12) (0 13) (0 14) (0 15) (0 16) (0 17) (0 18) (0 19) (0 20) (0 21) (0 22) (0 23) (0 24) (0 25) (0 26) (0 27) (0 28) (0 29) (0 30) (0 31) (0 32) (0 33) (0 34) (0 35) (0 36) (0 37) (0 38…»
babydrop m: say (^500000).combinations(2).elems
camelia rakudo-moar 16fbd7: OUTPUT«(timeout)»
[Coke] oh. huh. I see what the code is implying, but have no idea how that works. nifty. :) 15:17
babydrop yes, it just does the math
[Coke] lucasb++
babydrop I think it was the very first PR I sent to Rakudo (it was rejected for a better implementation, but still) :)
15:18 prammer joined
[Coke] ah, I see now. nifty. 15:18
15:18 wamba joined
lucasb m: say +combinations(10, 2) 15:18
camelia rakudo-moar 16fbd7: OUTPUT«45␤»
DrForr It's only the binomial distribution, so it's not a *hard* problem. I was just thinking that it's a simple way to generate Pascal's triangle, which is a good math'y thing.
15:18 chansen_ joined
[Coke] also, RabidGravy++ for having 2 posts on the schedule. 15:19
babydrop m: my $x = eager combinations(1000, 2); say now - INIT now 15:20
camelia rakudo-moar 16fbd7: OUTPUT«1.0414664␤»
babydrop m: my $x = eager combinations(1000, 2).elems; say now - INIT now
camelia rakudo-moar 16fbd7: OUTPUT«0.0101913␤»
babydrop m: say permutations(3000)
camelia rakudo-moar 16fbd7: OUTPUT«Cowardly refusing to permutate more than 20 elements, tried 3000␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
babydrop wat? :)
15:21 jonas1 joined
babydrop oh, it becomes a huge number OK :) 15:21
DrForr Uh, yeah, 3000! is ... non-trivial.
babydrop m: my $x = eager permutations(9); say now - INIT now 15:22
camelia rakudo-moar 16fbd7: OUTPUT«1.13294261␤»
babydrop m: my $x = permutations(9).elems; say now - INIT now
camelia rakudo-moar 16fbd7: OUTPUT«0.03242009␤»
lucasb the number has more digits than exists atoms in the universe and bugs in perl 6
babydrop That's what I wanted to show that .permutations also has a shortcut for count only
lucasb: heeeey... 15:23
lucasb babydrop: lol, kidding :)
DrForr Well, anything >10^80 meets that criterion :) Doesn't take much. 15:24
(atoms in the universe, that is. Bugs in perl 6 ... That may require tetration or beyond. 15:26
s/$/)
mspo can dc(1) do it?
babydrop New rule: you can't make fun of Perl 6 bugs unless you've fixed at least one during the week the joke is made :) 15:27
lucasb: DrForr so that means you owe a fix each.
babydrop coughs 15:28
I guess I killed the party? :)
Fine fine...
babydrop leaves to do stuff
DrForr I'm in the air for most of the rest of the week.
psch .oO( ping perl6.party )
15:32 lighttrr left, CIAvash joined
babydrop hmmm 15:32
m: say +permutations(30)
camelia rakudo-moar 16fbd7: OUTPUT«Cowardly refusing to permutate more than 20 elements, tried 30␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤» 15:33
babydrop m: say permutations(30).elems
camelia rakudo-moar 16fbd7: OUTPUT«1␤»
babydrop m: say Failure.new.elems
camelia rakudo-moar 16fbd7: OUTPUT«1␤»
babydrop that's sucky
FROGGS that should throw
babydrop Cool. Will make it :) 15:34
15:34 wamba left 15:35 SourceBaby joined, Undercover joined, ChanServ sets mode: +v Undercover 15:36 buggable joined 15:47 prammer left, ggherdov joined 15:50 prammer joined 15:52 pyrimidine joined 15:53 pnu_ left 15:54 pnu_ joined 15:55 mindos joined
babydrop FROGGS: should it throw-throw or just propagate the failure? 15:56
15:56 cibs left
babydrop and by "it" I mean .list on Failure 15:56
15:56 pyrimidine left
babydrop m: say Failure.new.list 15:56
camelia rakudo-moar 16fbd7: OUTPUT«Failed␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
15:56 sufrostico left
babydrop umm 15:57
15:57 cibs joined
babydrop retraces whatever is causing the infiniloop in the fix 15:57
15:57 sufrostico joined 15:59 lighttrr joined 16:00 lighttrr left
babydrop throw-throw, I guess, The alternative is to add a whole ton of methods. Basically anything that uses self.list in Any: github.com/rakudo/rakudo/blob/16fb...Any.pm#L53 16:01
16:01 lighttrr joined 16:02 Charlie joined 16:04 cdg left
babydrop What's the difference between these two? one uses `self`, while the other binds to SELF and uses that? Why not self in both? github.com/rakudo/rakudo/blob/16fb...pm#L52-L53 16:04
16:05 lighttrr left
moritz babydrop: I think the one with \ doesn't containerize 16:05
or scalarize, or whatever you call it 16:06
16:06 lighttrr joined
psch \ is equivalent to 'is raw' 16:06
as parameter sigil
the implicit binding to self is "normal" afaik, i.e. you get the same container-treatment that a $-sigil param gets 16:07
which, i think, is ro-rebinding
babydrop k, I think I get it :) 16:08
The docs for `raw` are weird: docs.perl6.org/routine/raw
16:09 cdg joined
moritz that's because raw is the introspection method on class Parameter 16:09
babydrop alright thanks
Skarsnik building each rakudo release take a while x) 16:17
babydrop build several at the same time. 16:18
hooo 16:21
my fix found a bug
in roast
lucasb ba dum tss
oops, my bad timing 16:22
babydrop in 6.c-errata too
m: use MONKEY; sub eval_elsewhere($code){ EVAL($code) }; my $arrayref is dynamic = list(1,2,3); dd eval_elsewhere('?(@$*arrayref)'); 16:23
camelia rakudo-moar 16fbd7: OUTPUT«Bool::True␤»
babydrop that's the test and Bool::True is passing so all cool, right? But...
m: use MONKEY; sub eval_elsewhere($code){ EVAL($code) }; my $arrayref is dynamic = list(1,2,3); dd eval_elsewhere('(@$*arrayref)');
camelia rakudo-moar 16fbd7: OUTPUT«(Failure.new(exception => X::Dynamic::NotFound.new(name => "\$*arrayref"), backtrace => Backtrace.new),)␤»
babydrop It's actually a failure being masked by the ? op
well, the @ op I guess 16:24
psch m: use MONKEY; sub eval_elsewhere($code){ EVAL($code) }; my $arrayref is dynamic = list(1,2,3); dd eval_elsewhere('(@$arrayref)');
camelia rakudo-moar 16fbd7: OUTPUT«(1, 2, 3)␤»
babydrop coercer whategver
psch: Yeah, seems like just a typo in the name, right?
psch babydrop: i'd say so. someone thought every dynamic variable must have a * twigil i'd guess 16:25
babydrop: unless you have another "but wait!" there..? :)
babydrop That's the tests: github.com/perl6/roast/blob/6.c-er...#L151-L152
16:25 AlexDaniel joined
psch curious that the comment doesn't have the * 16:25
oh wow that's old 16:26
Jul 26, 2013
babydrop It's also called "$arrayref"... so Perl 5ish :)
psch maybe the *-twigil did mean "look this up dynamically" back then :)
lucasb the *-twigil doesn't continue to mean "look this up dynamically" now? 16:27
psch lucasb: no, it's a declarative shorthand for the trait 'is dynamic' 16:28
babydrop psch: so do I just fix the test or do we need more eyeballs?
I suspect it's just a typo and the test was always broken. The failure being masked by @ coercer 16:29
psch babydrop: well, the commit from 2013 explicitly added the *
babydrop oh
psch babydrop: with something along the lines of "fix stuff"
github.com/perl6/roast/commit/2d48...0044acb882
babydrop OK, I'll verify with lizmat 16:30
lucasb m: sub f { say EVAL '$foo' }; my $foo is dynamic = 42; f
camelia rakudo-moar 16fbd7: OUTPUT«42␤»
psch babydrop: so, yeah, i'm not sure about the semantics there. fact is, * as twigil is similarly weird to how \ as parameter sigil is weird
babydrop: i.e. the whole "trait hiding behind a sigil/twigil" thing 16:31
babydrop aye
lucasb and... EVAL '$*foo' is an error
m: sub f { say $*foo }; my $*foo = 42; f 16:32
camelia rakudo-moar 16fbd7: OUTPUT«42␤»
lucasb babydrop: ah, so you'll just change '(@$*arrayref)' to '(@$arrayref)', right?
psch and, well... 16:33
m: my $*x is dynamic(False); sub f { say $*x } 16:34
camelia ( no output )
psch m: my $*x is dynamic(False) = 1; sub f { say $*x }
camelia ( no output )
psch m: my $*x is dynamic(False) = 1; sub f { say $*x }; f
camelia rakudo-moar 16fbd7: OUTPUT«1␤»
babydrop lucasb: right, that's the question
psch that's just confusing to me tbh
m: my $x is dynamic(0) = 1; sub f { say $x }; f
camelia rakudo-moar 16fbd7: OUTPUT«1␤»
babydrop That sub still sees $x without dynamical scope 16:35
psch oh right
lucasb well, the my declaration is before, so it's on the same scope of the sub
psch m: sub f { say $x }; my $x is dynamic(0) = 1; f
camelia rakudo-moar 16fbd7: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$x' is not declared␤at <tmp>:1␤------> 3sub f { say 7⏏5$x }; my $x is dynamic(0) = 1; f␤»
psch m: sub f { say $*x }; my $*x is dynamic(0) = 1; f
camelia rakudo-moar 16fbd7: OUTPUT«1␤»
psch soo that's fishy
cause apparently * is stronger than the trait which is weird
m: sub f(\x is copy) { x++ }; my $x = 0; f $x; say $x 16:36
camelia rakudo-moar 16fbd7: OUTPUT«1␤»
babydrop m: sub f (\x is raw(0) { x = 42 }; f $
camelia rakudo-moar 16fbd7: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing block␤at <tmp>:1␤------> 3sub f (\x is raw(0) 7⏏5{ x = 42 }; f $␤»
babydrop m: sub f (\x is raw(0)) { x = 42 }; f $
camelia ( no output )
babydrop I guess same here?
psch yeah
16:36 pyrimidine joined
psch i'm not if that's even reasonable to think about, though :) 16:36
TimToady m: sub f { say ::('$x') }; my $x is dynamic = 1; f
camelia rakudo-moar 16fbd7: OUTPUT«1␤»
babydrop TimToady: do you know if the $* supposed to be there in these tests? github.com/perl6/roast/blob/6.c-er...#L151-L152 16:37
or should it be just plain $arrayref, since that's what the var is named 16:38
TimToady not supposed to have the *
babydrop \o/
TimToady in fact, that shouldn't work
the * on a dynamic var is only stripped at the last moment to look in GLOBAL and PROCESS
lucasb both 'my $x is dynamic(False)' and 'is dynamic(0)' actually *makes* a variable dynamic. are they suppose to be a no-op in this context? 16:40
TimToady also, seems to me that 'is dynamic(False)' could rightfully complain about something or other
looks to me like it's just ignoring the value
16:41 pyrimidine left, kyclark left
lucasb 'my $*x is dynamic(False)' is a contradiction, right? should be an error or one or the other should take precedence? 16:41
TimToady suspects a lot of boolean traits actually ignore their value...
we should probably audit that... 16:42
babydrop TimToady: oh, one more Q: should Failure.new.list explode the failure instead of returning a 1-item list with failure in it?
lucasb like the code: 's :i($ignore-case) /foo/bar/' ?
babydrop m: say Failure.new.elems; # 'cause currently it causes this issue
camelia rakudo-moar 16fbd7: OUTPUT«1␤»
geekosaur or possibly just relay the Failure?
TimToady lucasb: I don't see much use for a variable that might or might not be dynamic 16:43
babydrop And relaying the failure would involve adding more than a dozen of methods to Failure.pm, because there's a whole bunch of methods in Any that would infiniloop on trying to call .list again ont hat failure to get a List
like .elems, .Slip, .permutations, .combinations... there's a ton
so, I figured the easier way out is to explode 16:44
TimToady babydrop: in general, listifying should not be checking success/failure status, but pass that through to downstream for something iterating the list to check
so I think the current setup is correcterish
babydrop hm 16:45
16:45 kyclark joined, lizmat joined
babydrop m: say permutations(3000).elems 16:45
camelia rakudo-moar 16fbd7: OUTPUT«1␤»
16:45 cdg left
babydrop ^ but then this doesn't iterate for anything. 16:45
m: say +permutations(3000)
camelia rakudo-moar 16fbd7: OUTPUT«Cowardly refusing to permutate more than 20 elements, tried 3000␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
babydrop ^ and if you try to get .elems using that method you get the Failure.
lizmat m: dd permutations(3000) 16:46
yoleaux2 15:35Z <gfldex> lizmat: neither do I or I would have proposed something. No worries, nobody is gonna die from a missing docs confusion.
camelia rakudo-moar 16fbd7: OUTPUT«Failure.new(exception => X::AdHoc.new(payload => "Cowardly refusing to permutate more than 20 elements, tried 3000"), backtrace => Backtrace.new)␤»
yoleaux2 16:32Z <babydrop> lizmat: would recall whether the $* twigils were meant to be here in this commit? The tests actually result in a Failure, which is masked by the @ coercert: github.com/perl6/roast/commit/2d48...5e68e7R146
16:33Z <babydrop> lizmat: conversation on that: irclog.perlgeek.de/perl6/2016-12-06#i_13691323
16:33Z <babydrop> lizmat: so I'm wondering whether we fix the tests by removing the '*' from twigils or were they meant to work with the twigils and the tests need to be fudged...
16:39Z <babydrop> lizmat: nevermind, TimToady answered in irclog.perlgeek.de/perl6/2016-12-06#i_13691502
TimToady well, maybe that's a good arg for list producers to die instead of fail in such cases
16:47 AlexDaniel left
TimToady that is, if something like permutations is supposed to produce a list and fails completely, it should probably die outright, rather than pretend to return a list of one failure 16:47
16:48 mscha joined
TimToady poking the failure into the list is a kind of unwarranted mixing of semantic levels 16:48
distinguish this from processing a list where individual elements might be failures, but the list as a whole still works 16:49
lizmat TimToady: I'm not sure it pokes something into anything
TimToady in that case, it's fine to poke failures into the list
lizmat permutations returns either a Seq or a Failure
16:49 jonas1 left
TimToady and I'm saying it should die instead of fail there, I suspect 16:49
lizmat but I see your point 16:50
yeah
TimToady we do failures so that both parallel and serial processes can preserve the independence of each case, but in this case there is no independence to preserve 16:51
jnthn The supply API takes care to keep the value channel and error channel distinct.
Not confusing them in iterable land seems also wise
babydrop hm... that test actually fails even without the $* twigil
m: use MONKEY; sub eval_elsewhere($code){ EVAL($code) }; { my $arrayref is dynamic = list(1,2,3); dd eval_elsewhere('(@($arrayref))'); }
camelia rakudo-moar 16fbd7: OUTPUT«5===SORRY!5=== Error while compiling /home/camelia/EVAL_0␤Variable '$arrayref' is not declared␤at /home/camelia/EVAL_0:1␤------> 3(@(7⏏5$arrayref))␤»
babydrop m: use MONKEY; sub eval_elsewhere($code){ EVAL($code) }; my $arrayref is dynamic = list(1,2,3); dd eval_elsewhere('(@($arrayref))');
camelia rakudo-moar 16fbd7: OUTPUT«(1, 2, 3)␤»
babydrop m: use MONKEY; sub eval_elsewhere($code){ EVAL($code) }; my $arrayref = list(1,2,3); dd eval_elsewhere('(@($arrayref))'); 16:52
camelia rakudo-moar 16fbd7: OUTPUT«(1, 2, 3)␤»
TimToady as I demo'd above, ::() is sufficient, you don't necessarily need EVAL
jnthn I'd epxect that needs looing up with DYNAMIC::<$arrayref>
babydrop speaking of list producers...
16:52 skids joined
TimToady that too 16:52
babydrop m: say ?@(Failure.new)
camelia rakudo-moar 16fbd7: OUTPUT«True␤»
TimToady sure, but there you're explicitly creating a single-element list that happens to be a Failure 16:53
mscha m: my %hash; if %hash<long-key-name><another-long-key-name> && %hash<long-key-name><another-long-key-name> eq "foo" { say "bar" }
camelia ( no output )
mscha m: my %hash; if %hash<long-key-name><another-long-key-name> eq "foo" { say "bar" }
camelia rakudo-moar 16fbd7: OUTPUT«Use of uninitialized value $v of type Any in string context.␤Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.␤ in block <unit> at <tmp> line 1␤»
babydrop Alright thanks.
mscha Is there an elegant way in Perl 6 to do this without repetition?
babydrop mscha: andthen 16:54
m: my %hash; if %hash<long-key-name><another-long-key-name> andthen $_ eq "foo" { say "bar" }
camelia ( no output )
jnthn m: my %hash; if quietly %hash<long-key-name><another-long-key-name> eq "foo" { say "bar" }
camelia ( no output )
TimToady m: my %hash; with %hash<long-key-name><another-long-key-name> { when "foo" { say "bar" } }
camelia ( no output )
babydrop m: my %hash; %hash<long-key-name><another-long-key-name> = 42; if %hash<long-key-name><another-long-key-name> andthen $_ eq "foo" { say "bar" } 16:55
camelia ( no output )
babydrop bah :(
TimToady m: my %hash; %hash<long-key-name><another-long-key-name> = 'foo'; with %hash<long-key-name><another-long-key-name> { when "foo" { say "bar" } }
camelia rakudo-moar 16fbd7: OUTPUT«bar␤»
mscha Thanks for the tips, all! There sure IMTOWTDI... :)
babydrop m: my %hash = foo => 'bar'; if %hash<foo> andthen $_ eq "foo" { say "bar" } 16:56
camelia ( no output )
babydrop doesn't get why that ain't working
m: my %hash = foo => 'bar'; if %hash<foo> andthen dd ($_) eq "foo" { say "bar" } 16:57
camelia rakudo-moar 16fbd7: OUTPUT«Bool::False␤»
TimToady foo ne bar 16:58
babydrop doh
m: my %hash = foo => 'bar'; if %hash<foo> andthen $_ eq 'bar' { say "bar" }
camelia rakudo-moar 16fbd7: OUTPUT«bar␤»
16:58 abraxxa1 left 17:00 sufrosti1o left 17:01 sufrosti1o joined 17:04 zakharyas left 17:14 domidumont left 17:15 pyrimidine joined
lucasb I have a nqp repo dir and a revision tag "2016.11-75-g66308ea" 17:16
I want to clone this nqp local dir into another directory at the specified revision
timotimo git clone, then git checkout should do it 17:17
it'll complain about "detached head" state, but you can ignore it as long as you don't plan to git commit on it
lucasb timotimo: but git clone will clone everything, right? 17:18
is there a way to get *only* that revision?
this would save time/space
timotimo git clone on a local FS will usually use hard links if i'm not mistaken
you may want to check the help on git clone
otherwise use --depth=1, or just use cp instead of git
lucasb timotimo: alright, thanks! 17:19
BTW, unrelated...
if the HD drives of the server rakudo.org/downloads ever failed, is there backups of those tarballs? 17:20
geekosaur there's also --shared if you're not making any modifications (but if the original repo loses that branch, your copy goes dead) 17:21
17:21 prammer left
lucasb geekosaur: I'll take a read at some git manpages. thanks 17:22
17:24 prammer joined 17:25 wamba joined 17:26 cdg joined 17:28 girafe joined, prammer left 17:31 prammer joined 17:32 lighttrr left 17:33 domidumont joined, lighttrr joined, lighttrr left 17:34 lighttrr joined 17:35 lizmat left
babydrop lucasb: that's a very good question... 17:38
.seen pmichaud 17:39
yoleaux2 I saw pmichaud 31 Aug 2016 16:30Z in #perl6-dev: <pmichaud> [Coke]: +1 to the rt-introduction document you've drafted. Yes, it means we may end up moving tickets from place to place.
17:41 John joined 17:42 lighttrr left, itay2805 joined 17:44 prammer left 17:53 itay2805 left 17:55 pyrimidine left, dakkar left 17:56 lighttrr joined 17:59 prammer joined 18:00 lighttrr left 18:01 lizmat joined 18:05 pyrimidine joined 18:10 pyrimidine left 18:14 nicq20 left 18:18 sena_kun joined 18:20 lighttrr joined 18:21 kyclark_ joined 18:22 kyclark left, kyclark_ is now known as kyclark
John Hi 18:25
babydrop \o\ 18:26
John I'm the "troll" who posted in: github.com/perl6/user-experience/issues/5
I'm sorry if I caused anyone any offence, it wasn't my intention
babydrop John: it's cool 18:27
huggable: hug John
huggable hugs John
John lol
babydrop John: I wasn't offended. I just locked the issue because that topic causes a lot of bikeshedding, when we could be writing code instead :)
John Right, i totally get it - to be honest i'm not even sure why it was up for discussion 18:28
babydrop People like discussing things :P
John regardless, it was locked after that guy who essentially dox'd me on github wrote a bunch of nonsense about something i posted on reddit
If possible, could you take both posts down? 18:29
babydrop Sure.
John I'm just a bit concerned at where this is going
thanks, apprechiate it
huggable: hug babydrop
huggable hugs babydrop
18:30 pyrimidine joined
John You handled that nicely babydrop, i'll say thank you again :) 18:32
All the best
18:32 John left 18:33 CIAvash left
babydrop Same to you. 18:33
18:34 pyrimidine left, pyrimidine joined
zgrep <arnsholt> I'm a bit confused why you want to parse expressions with right-associativity though? That's kind of esoteric <-- Because my goal is to eventually make a working interpreter for an APL-inspired language called k. kparc.com , en.wikipedia.org/wiki/K_(programming_language) :P 18:40
18:44 CIAvash joined
jonadab Right associativity isn't THAT esoteric. 18:45
Not at a "why would we bother to support this" level.
Granted, it's far less common than left associativity. 18:46
[Coke] wonders how much effort it would take to port his parrot-based APL language to rakudo.
18:49 tojo joined
CIAvash Remember last week I added Perl 6 to AlternativeTo.net? The next day they removed it, today I found out the reason (as I guessed) was that they thought Perl 6 is a new version of Perl, and they already had a page for Perl, so they removed it :) 18:49
babydrop ouch :} 18:50
tojo playing around with trans: say [email@hidden.address] => '-', :complement); 18:51
put got this "Use of Nil in string context"
what this mean?
am i doing something wrong
babydrop tojo: it means a Nil was used as a string... but as to why.. Hm...
m: [email@hidden.address] => '-', :complement);
camelia rakudo-moar bc13bb: OUTPUT«Use of Nil in string context␤ in block <unit> at <tmp> line 1␤»
18:53 pyrimidine left
tojo weird thing 18:53
babydrop something or other in the guts ain't working right
m: say [email@hidden.address] .>] => "-", :complement);
camelia rakudo-moar bc13bb: OUTPUT«-----.----@----.------.-------␤»
babydrop is that what it's meant to output?
s: '', 'trans', \(/\@|\./ => '-', :complement) 18:54
SourceBaby babydrop, Sauce is at github.com/rakudo/rakudo/blob/bc13...r.pm#L2112
tojo babydrop: yeah, that's right
babydrop m: say [email@hidden.address] .>] => "-",), :complement); 18:56
camelia rakudo-moar bc13bb: OUTPUT«-----.----@----.------.-------␤»
babydrop oh, wrong one
m: [email@hidden.address] => '-',), :complement);
camelia rakudo-moar bc13bb: OUTPUT«Use of Nil in string context␤ in block <unit> at <tmp> line 1␤»
babydrop s: [email@hidden.address] 'trans', \((/\@|\./ => '-',), :complement);
SourceBaby babydrop, Something's wrong: ␤ERR: Cannot resolve caller sourcery(List, List); none of these signatures match:␤ ($thing, Str:D $method, Capture $c)␤ ($thing, Str:D $method)␤ (&code)␤ (&code, Capture $c)␤ in block <unit> at -e line 6␤␤
babydrop heh
s: [email@hidden.address] 'trans', \( (/\@|\./ => '-',), :complement ) 18:57
SourceBaby babydrop, Sauce is at github.com/rakudo/rakudo/blob/bc13...r.pm#L2352
18:57 pyrimidine joined
babydrop that's weird... added spaces and it worked :/ 18:57
lucasb say 'ab'.trans(/a/=>'', :complement)
babydrop m: '@.'.trans: (/./ => '-',), :c 19:01
camelia ( no output )
babydrop golfed version
bah, I mean....
m: '@x'.trans: (/\@/ => '-',), :c
camelia rakudo-moar bc13bb: OUTPUT«Use of Nil in string context␤ in block <unit> at <tmp> line 1␤»
19:03 labster joined 19:06 domidumont left, lighttrr left
tojo so i'm not the only one who's pondering this :) so it's probably rakudo issue and not in my syntax 19:06
babydrop tojo: yeah :) I'm raking in the guts ATM trying to find where it's from, in hopes to fix it :) 19:07
tojo babydrop: good, thx :) 19:09
babydrop tojo: as a workaround you can either use the list of strings variant above or stick a `quietly` before the method call 19:11
m: quietly say [email@hidden.address] => '-',), :complement);
camelia rakudo-moar bc13bb: OUTPUT«-----.----@----.------.-------␤»
19:11 erdic joined 19:12 kyclark left
tojo babydrop: yeah true thx and that quietly is new one for me, good to know 19:12
RabidGravy boom 19:18
19:19 darutoko left
babydrop oh yeah, located the juicy bugglet 19:20
Tonight! We dine!
19:26 lighttrr joined
babydrop lucasb: why did you leave? I was gonna make you fix it :) You owe one bug fix for making fun of Perl 6's bugs, remember? :") 19:27
lucasb babydrop: did you find the cause of the Nil warning? 19:28
19:29 cdg left
babydrop lucasb: yup 19:29
lucasb: the $/.chars: github.com/rakudo/rakudo/blob/bc13...r.pm#L2235
Since on failed matches the $/ is Nil
m: Nil.chars
camelia rakudo-moar bc13bb: OUTPUT«Use of Nil in string context␤ in block <unit> at <tmp> line 1␤»
lucasb right, babydrop++ 19:30
babydrop And I found it by adding CONTROL { when CX::Warn { .die } } and running the code in perl6 --ll-exception that dumps the backtrace
19:31 espadrine left, kyclark joined
babydrop guesses lucasb isn't anxiously spectesting a fix right this second... 19:32
or are you? :) 19:34
I don't wanna fix it if you're gonna fix it.
19:34 erdic left 19:35 Gothmog_ left, avar left, nine left, nine joined
lucasb babydrop: sorry, I don't have the knowledge to fix this. maybe someday I can contribute 19:35
19:36 erdic joined, Gothmog_ joined
babydrop ok :( 19:36
19:36 avar joined 19:37 domidumont joined
RabidGravy so only the 10 and 11 slots to fill for the Advent 19:37
stmuk_ DBIC needs perl6 module versioning! DBIx::Class<auth:ribi> 19:38
babydrop heh
lizmat not <auth:riba> ?
stmuk_ thats what I meant!
19:40 edehont joined, kyclark left 19:41 shlomif joined, shlomif left 19:42 CIAvash left
lizmat lists.scsys.co.uk/pipermail/dbix-cl...12493.html # background 19:42
babydrop oh boy! more drama from the dbix-class mailing lis5t 19:43
babydrop makes a new batch of popcorn
19:43 rindolf left
babydrop tojo: bug's fixed now 19:43
19:45 rindolf joined
RabidGravy what the actual .... 19:45
isn't this how DBIC started in the first place?
19:46 domidumont left
tojo babydrop: oh! very nice :) 19:46
19:48 domidumont joined
babydrop "two forks developed in parallel, by noncooperating, openly adversarial teams"... can they make one of them in Perl 6? :) 19:49
19:51 edehont left
RabidGravy I've got about half a dozen trial cuts for bits of orm 19:51
DrForr Scheduling is done and released for OSCON Austin 2017. 19:53
I'm in the other side of the same room.
babydrop Any Perl 6? 19:54
Oh, I see you in the speakers list :D 19:56
DrForr *only* Perl 6, as far as I can tell. 19:57
babydrop conferences.oreilly.com/oscon/oscon...tail/56965
DrForr That's the one. I'm going with a more "practical" slant this year, whatever that means.
19:58 Neolite joined
pmurias the problem with :auth is who gets the unqualified module name 20:01
babydrop yea 20:02
future will tell, I guess 20:03
.oO( locking the installer to just <X Y Z> auths and ignoring all others. `use Foo::Bar` just uses the module installed )
20:07 Tonik joined 20:12 pyrimidine left 20:13 pyrimidine joined
RabidGravy does "sub EXPORT() { { 'Foo' => Foo but Bar }}" work? 20:13
babydrop Only one way to find out :D
RabidGravy there is, but I was hoping there was someone of the same crack induced persuasion who may have tried :) 20:15
babydrop heh
no doesn't work 20:16
babydrop tries harder
nope
oh doh
[Coke] RabidGravy: also the 9 and 24 slots if people would like to save people from writing multiple articles.
babydrop weird 20:17
m: put "meow" but "moo"
camelia rakudo-moar 2e1b82: OUTPUT«meow␤»
babydrop m: put ("meow" but "moo")
camelia rakudo-moar 2e1b82: OUTPUT«meow␤»
20:17 pyrimidine left
babydrop m: ("meow" but "moo").put 20:17
camelia rakudo-moar 2e1b82: OUTPUT«meow␤»
babydrop Am I smoking crack? 20:18
m: put (42 but "moo")
camelia rakudo-moar 2e1b82: OUTPUT«moo␤»
babydrop m: ("meow" but "moo").Str.put
camelia rakudo-moar 2e1b82: OUTPUT«moo␤»
babydrop How does that work?
s: '', 'put', \()
SourceBaby babydrop, Sauce is at github.com/rakudo/rakudo/blob/bc13...Mu.pm#L472
geekosaur overrides .Str but not .gist?
Skarsnik is there something to show a hash ordered by key?
babydrop geekosaur: yes, but .put uses .Str 20:19
RabidGravy: yeah, it works, I just confused myself with the above
s: &put, \('x')
SourceBaby babydrop, Sauce is at github.com/rakudo/rakudo/blob/bc13...ors.pm#L42
geekosaur Skarsnik, probably not "stock" since hashes are supposed to be unordered
babydrop oh, it's cheating with Str! 20:20
I would sort'f consider that a bugglet TBH 20:22
"put uses .Str.... unless it's a Str or any of its subclasses"
workaround's easy tho, so a docbug 20:23
20:25 lucasb left
Skarsnik ok I did a my @tab = %hash; say @tab.sort x) 20:25
20:25 domidumont left
babydrop Skarsnik: why not %hash.sort? 20:26
cut out the middleman
m: my %h = <a b z c d 52 5>; say %h.sort
camelia rakudo-moar 2e1b82: OUTPUT«Odd number of elements found where hash initializer expected:␤Found 7 (implicit) elements:␤Last element seen: IntStr.new(5, "5")␤ in block <unit> at <tmp> line 1␤␤»
babydrop m: my %h = <a b z c d 52 5 z>; say %h.sort
camelia rakudo-moar 2e1b82: OUTPUT«(5 => z a => b d => 52 z => c)␤»
20:29 eliasr left
dalek c: 9257760 | (Zoffix Znet)++ | doc/Type/Mu.pod6:
Clarrify .put does not call .Str on Str objects
20:31
20:32 Ven joined
babydrop m: put "meow" but role { method ^name { dd "heh" } } 20:33
camelia rakudo-moar 2e1b82: OUTPUT«Potential difficulties:␤ Useless declaration of a has-scoped method in multi (did you mean 'my method name'?)␤ at <tmp>:1␤ ------> 3put "meow" but role { method7⏏5 ^name { dd "heh" } }␤meow␤»
babydrop :\
why is it useless :\ 20:34
bisect: m: my $x = "meow" but role { method ^name($) { dd "heh" } }
bisectable6 babydrop, On both starting points (old=2015.12 new=2e1b82c) the exit code is 0 and the output is identical as well
babydrop, Output on both points: Potential difficulties:␤ Useless declaration of a has-scoped method in multi (did you mean 'my method name'?)␤ at /tmp/LwjJM0qICE:1␤ ------> m: my $x = "meow" but role { method<HERE> ^name($) { dd "heh" } }
20:34 Ven_ joined, Ven_ left 20:35 Ven_ joined
babydrop s/role/class/; 20:36
20:36 AlexDaniel joined
babydrop m: put ("meow" but "moo") but class { method ^name($) { "Int" } }.new 20:36
camelia rakudo-moar 2e1b82: OUTPUT«meow␤»
20:36 Ven left
babydrop How can I trick it from thinking what I have is a Str? 20:37
it got a multi that expects a Str:D I want it to use the multi for Any
Skarsnik hm I am confused/rusty, I pasted a string that I get as a %result.perl to a my $hash = blablab; but I get a weird hash
do I need to eval ?
babydrop Skarsnik: yes 20:38
Skarsnik: EVAL is the reverse of .perl
RabidGravy hmm my name isn't getting exported
babydrop m: my %hash = <a b c d e f g>; my %z = %hash.perl.EVAL; dd %z 20:39
camelia rakudo-moar 2e1b82: OUTPUT«Odd number of elements found where hash initializer expected:␤Found 7 (implicit) elements:␤Last element seen: "g"␤ in block <unit> at <tmp> line 1␤␤»
babydrop m: my %hash = <a b c d e f g z>; my %z = %hash.perl.EVAL; dd %z
camelia rakudo-moar 2e1b82: OUTPUT«Hash %z = {:a("b"), :c("d"), :e("f"), :g("z")}␤»
RabidGravy that is I can export something that ca used as a type 20:40
can't
20:40 Neolite left
babydrop damn, say() also cheats with Str :/ 20:40
20:40 Ven_ left
babydrop RabidGravy: works fine for me 20:41
RabidGravy: gist.github.com/zoffixznet/4171c4a...247d36242b
RabidGravy Hmm 20:43
yeah, I'm not seeing the name 20:44
babydrop You mean in my code? That it's still calling it Int? 20:45
whoa 20:46
"When invoking 2 '', provided outer frame 0x2915d18 (4 'EXPORT') does not match expected static frame 0x2915e20 (3 '')"
:D
That's by trying to use sub EXPORT() { { "Foo" => Int but class { method ^name($) { "Foo" } } } }
20:46 Xliff-ZZzzZZ is now known as Xliff
Xliff Does anyone here know if there is a way for Atom to mimic Sublime's right side nav window? 20:47
(I know it's OT, but...)
20:47 pyrimidine joined
babydrop Xliff: atom.io/packages/minimap 20:47
Xliff Thanks babyZof 20:48
20:51 Tonik left
Skarsnik gist.github.com/Skarsnik/88c3d956b...0ad5511b9f hm I get a weird hash (the rakudo release path are supposed to be the key); a whole line is a key :( 20:53
RabidGravy ah, babydrop, it's colons, it doesn't export things with colons in the name right 20:54
which makes sense
20:55 cpage_ joined, cdg joined 21:05 lighttrr left
babydrop RabidGravy, does it? Hoe come? 21:05
m: gist.github.com/Skarsnik/88c3d956b...0ad5511b9f
camelia ( no output )
RabidGravy well I guess it doesn't try to pick the package parts 21:07
21:07 lighttrr joined
RabidGravy it would be good if it did though 21:09
21:09 pyrimidine left 21:11 lighttrr left 21:14 spebern joined
ufobat nine, is youre examples/Bailador directory wrong, there are the Dancer examples 21:15
21:16 skids left
nine ufobat: nope, that's alright. It's not "Dancer" but "Dancr" which is the name of the example app in the Dancer tutorial 21:17
ufobat: FWIW it's confused me, too a couple of times
ufobat but it does use Dancer2:from<Perl5> so its Dancer not Bailador? 21:18
Xliff Wheee... minimap not showing up. Will wait for help on #atom.
21:19 tojo left
[Coke] DrForr++, in case I didn't do that already 21:20
21:22 TEttinger joined
ufobat ah! dancr.pm6 vs dancr.pm6.html ;) 21:25
AlexDaniel . 21:27
yoleaux2 13:08Z <babydrop> AlexDaniel: why not finish off your ticket and submit tests too? rt.perl.org/Ticket/Display.html?id...et-history
AlexDaniel babydrop: because I'm kinda busy :(
lizmat decommute&
21:27 lizmat left
AlexDaniel samcv: “would be nice if unicodable6 stored all the stuff in a datastructure instead of havig to search all of them” – why? 21:29
samcv faster to search through them
yoleaux2 30 Nov 2016 20:41Z <babydrop> samcv: if you're willing to improve rakudo.org (it's Wordpress), I'm sure we can find you an account :) RE: twitter.com/samcv6/status/804044061355044864
21:29 pyrimidine joined
AlexDaniel samcv: right now it is a bit slow because we are using the rakudo with debugging symbols 21:29
21:29 setty1 left
samcv i noticed i got a 2+x speed improvement when I loaded a hash on startup 21:30
AlexDaniel but I'd suggest to make rakudo faster instead of optimizing unicodable :P
samcv maybe more than that
hah
true
21:30 lighttrr joined
AlexDaniel unless we expect the number of symbols in unicode to double in the next years, I don't think there is an issue 21:30
samcv u: penguin
unicodable6 samcv, U+1F427 PENGUIN [So] (🐧) 21:31
AlexDaniel let's try without debugging symbols
samcv i don't think that's the issue. it searches through all the unicode symbols, and calling the unicode properties each time is slow for hundreds of thousands of times. would be better to store the text to search in some structure
i'll be back in an hour or so 21:32
maybe i'll test your unicodable6 vs what i did for my bot. github.com/samcv/keira-perl6-ircbo...odable.pm6
AlexDaniel sure it will be better, but if I recall correctly it takes about 3 seconds to do a stupid sequential match
perlpilot AlexDaniel: as soon as we make contact with the aliens, we'll have whole new sets of glyphs in unicode, so it could double ;)
[Coke] huh. did we lose the ability to make gists private?
samcv .tell babydrop will be back in an hour, i'm open to that! would be great 21:33
yoleaux2 samcv: I'll pass your message to babydrop.
AlexDaniel [Coke]: what gists?
[Coke] on gist.github.com
I just accidentally made a public one, and there's no switch I can see to make it private.
21:34 setty1 joined
perlpilot [Coke]: by "we" you mean the perl6 group or just people in general? 21:34
21:34 sufrostico left, pyrimidine left
RabidGravy I just thought you got the button upfront 21:34
jnthn doesn't remember a switch to make it private, but still sees the button to make a new one secret
[Coke] anyone in general.
21:34 sufrosti1o left
[Coke] hurls github.com/blog/1837-change-the-vi...your-gists for what he was expecting. 21:34
perlpilot I still see two buttons "Create secret gist" and "Create public gist"
[Coke] perlpilot: yes. I'm talking about changing an existing one. 21:35
perlpilot oh, yes, I see that now. I'm slow :)
21:36 sufrostico joined
RabidGravy you can change a secret one to be public but not the other way round 21:36
21:36 sufrosti1o joined, bisectable6 joined, unicodable6 joined, evalable6 joined, committable6 joined, ChanServ sets mode: +v bisectable6, ChanServ sets mode: +v committable6, benchable6 joined
AlexDaniel let's see 21:36
u: penguin
unicodable6 AlexDaniel, U+1F427 PENGUIN [So] (🐧)
AlexDaniel u: penguin
unicodable6 AlexDaniel, U+1F427 PENGUIN [So] (🐧)
AlexDaniel yeah, kinda slow :) 21:37
but still kinda impressive that it can do it so fast
[Coke] I tweeted 'em, at least maybe the new feature page that google led me to will get cleaned up. 21:38
timotimo what page now? 21:39
AlexDaniel samcv: that being said, if we split the whole range into 8 chunks… we will be able to do it in about one second :D 21:41
21:42 kurahaupo_ left
AlexDaniel samcv: like, I know that this is not a proper solution, but it is so fun :) 21:42
[Coke] timotimo: the one I just hURLed above.
timotimo the gist feature? 21:43
21:44 bjz_ left
[Coke] timotimo: the what now? 21:46
21:54 sena_kun left
timotimo making gists public/private after the fact? 21:54
mscha m: say "hello, world".subst(/<[aeiou]>/, $0, :g); # What am I doing wrong? 21:55
camelia rakudo-moar 4fd6e9: OUTPUT«Use of Nil in string context␤ in block <unit> at <tmp> line 1␤Use of Nil in string context␤ in block <unit> at <tmp> line 1␤Use of Nil in string context␤ in block <unit> at <tmp> line 1␤hll, wrld␤»
perlpilot mscha: what do you think is in $0 and why? :) 21:56
timotimo m: $_ = "hello, world"; s/<[aeiou]>/ = $0; say $_
camelia rakudo-moar 4fd6e9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Malformed replacement part; couldn't find final /␤at <tmp>:1␤------> 3hello, world"; s/<[aeiou]>/ = $0; say $_7⏏5<EOL>␤ expecting any of:␤ postfix␤»
timotimo m: $_ = "hello, world"; s{<[aeiou]>} = $0; say $_
camelia rakudo-moar 4fd6e9: OUTPUT«Use of Nil in string context␤ in block <unit> at <tmp> line 1␤hllo, world␤»
timotimo m: $_ = "hello, world"; s{(<[aeiou]>)} = $0; say $_
camelia rakudo-moar 4fd6e9: OUTPUT«hello, world␤»
mscha m: say "hello, world".subst(/(<[aeiou]>)/, $0, :g); # What am I doing wrong?
camelia rakudo-moar 4fd6e9: OUTPUT«Use of Nil in string context␤ in block <unit> at <tmp> line 1␤Use of Nil in string context␤ in block <unit> at <tmp> line 1␤Use of Nil in string context␤ in block <unit> at <tmp> line 1␤hll, wrld␤»
timotimo m: say "hello, world".subst(/(<[aeiou]>)/, $0, :g);
camelia rakudo-moar 4fd6e9: OUTPUT«Use of Nil in string context␤ in block <unit> at <tmp> line 1␤Use of Nil in string context␤ in block <unit> at <tmp> line 1␤Use of Nil in string context␤ in block <unit> at <tmp> line 1␤hll, wrld␤»
perlpilot mscha: same question :) 21:57
timotimo ah, you alreday did that
mscha So, .subst can't refer to the original string?
timotimo AFAIK we never got a proper way to write to the $/ outside the .subst
jnthn Arguments are evaluated at the time of method calls
timotimo right
it'd have to be thunked
m: say "hello, world".subst(/(<[aeiou]>)/, -> $/ { $0 }, :g);
camelia rakudo-moar 4fd6e9: OUTPUT«hello, world␤»
timotimo m: say "hello, world".subst(/(<[aeiou]>)/, -> $/ { " $0 " }, :g); 21:58
camelia rakudo-moar 4fd6e9: OUTPUT«h e ll o , w o rld␤»
21:58 cooper_ left
mscha Ah, OK, thanks! 21:58
jnthn m: say "hello, world".subst(/(<[aeiou]>)/, *[0], :g) # another way
camelia rakudo-moar 4fd6e9: OUTPUT«hello, world␤»
21:58 cooper_ joined, cooper_ left, cooper_ joined
jnthn (*[0] being another way to write { $_[0] }) 21:58
perlpilot mscha: m: say "hello, world".subst(/<[aeiou]>/, { " $_ "}, :g); # also 21:59
m: say "hello, world".subst(/<[aeiou]>/, { " $_ "}, :g); # also
camelia rakudo-moar 4fd6e9: OUTPUT«h e ll o , w o rld␤»
AlexDaniel oh 22:00
RabidGravy I'd forgotten that I'd made .at(DateTime $d -> Promise) in Chronic 22:01
which is good as I was going to write it again :) 22:03
22:03 bjz joined 22:04 sufrostico left 22:05 sufrosti1o left
RabidGravy so I only have to finish two modules for the later advent post :) 22:05
jnthn 'night, #perl6
timotimo gnite jnthn :)
RabidGravy toodles
22:06 firstdayonthejob joined, sufrostico joined, sufrosti1o joined 22:10 lighttrr_ joined 22:11 sufrosti1o left, sufrostico left 22:12 sufrostico joined 22:13 sufrosti1o joined, firstdayonthejob left, lighttrr left, RabidGravy left 22:14 lighttrr_ left 22:20 mscha left 22:22 bjz left 22:26 firstdayonthejob joined 22:36 yqt joined 22:37 wamba left 22:38 pyrimidine joined 22:43 pyrimidine left
tailgate if I use $string.split(", ") on a string and the returned list contains Nil, how do I get rid of them? 22:46
timotimo docs.perl6.org/routine/split - check this out 22:47
it shouldn't contain Nil, though. just ""
22:48 spebern left 22:53 kurahaupo__ joined, skids joined 22:55 kurahaupo__ left 22:56 kurahaupo__ joined
babydrop tailgate: if you do have Nil, I'd like to see an example 22:57
yoleaux2 21:33Z <samcv> babydrop: will be back in an hour, i'm open to that! would be great
babydrop m: dd quietly Nil.split: ", "; # 'cause even splitting a Nil doesn't give you a Nil 22:58
camelia rakudo-moar 4fd6e9: OUTPUT«("",)␤»
AlexDaniel m: say ‘x’.split(‘’ x -9999999999999999999) 23:00
camelia rakudo-moar 4fd6e9: OUTPUT«repeat count > 1073741824 arbitrarily unsupported...␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel xD
m: say ‘’ x -9999999999999999999
camelia rakudo-moar 4fd6e9: OUTPUT«repeat count > 1073741824 arbitrarily unsupported...␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel I wonder why this does not warn 23:01
m: say 42 x Nil
camelia rakudo-moar 4fd6e9: OUTPUT«␤»
AlexDaniel m: say 42 x Any
camelia rakudo-moar 4fd6e9: OUTPUT«␤»
AlexDaniel wait 23:02
commit: HEAD~200,HEAD say 42 x Nil
committable6 AlexDaniel, ¦«HEAD~200,HEAD»:
AlexDaniel commit: HEAD~500,HEAD say 42 x Nil
committable6 AlexDaniel, ¦«HEAD~500»: Use of Nil in numeric context␤ in block <unit> at /tmp/RcAZ2vGcy9 line 1␤␤¦«HEAD»: 23:03
AlexDaniel bisect: say 42 x Nil
bisectable6 AlexDaniel, Bisecting by output (old=2015.12 new=4fd6e94) because on both starting points the exit code is 0
AlexDaniel, bisect log: gist.github.com/a79b6900041204962d...d95f6738a7
AlexDaniel, (2016-09-01) github.com/rakudo/rakudo/commit/63...6892a7df4f
AlexDaniel bisect: old=2016.10 say 42 x Nil
bisectable6 AlexDaniel, Bisecting by output (old=2016.10 new=4fd6e94) because on both starting points the exit code is 0
AlexDaniel, bisect log: gist.github.com/26674ebaf8f4165b56...4b2cc82071
AlexDaniel, (2016-10-16) github.com/rakudo/rakudo/commit/2d...5c7c2527fc 23:04
AlexDaniel commit: 2016.10,HEAD say 42 x Nil
committable6 AlexDaniel, ¦«2016.10»: Use of Nil in numeric context␤ in block <unit> at /tmp/Z14728_pyG line 1␤␤¦«HEAD»:
AlexDaniel babydrop: do you know what's happening here?
babydrop heh 23:08
23:09 yoleaux joined
babydrop Yup. The behaviour is that a type object gets interpreted as 0 23:09
23:09 ChanServ sets mode: +v yoleaux
babydrop Prior to my change in the above commit, the behaviour was the same, except it also did that for Failure objects, which made them silently slip away 23:09
AlexDaniel but we definitely want a warning there, right? 23:10
23:10 firstdayonthejob left
babydrop Nope. At least, IIRC the previous commit to that part prior to my change is moritz adding the explicit feature for type objects to be treated as zero. 23:11
There's probably a usecase for it, maybe moritz remembers what is was. 23:12
AlexDaniel … hmm…
babydrop Ahh 23:13
AlexDaniel: github.com/rakudo/rakudo/commit/23...c51bc75a69
so maybe see if there's a way to aboid that recursion while still getting the warnings, unless there's a test explicitly testing that type objects don't produce warnings
m: &infix:<x>.candidates».signature».gist.say 23:14
camelia rakudo-moar 4fd6e9: OUTPUT«(() ($x) ($s, Num:D $n) ($s, Any:D $n) ($s, Any:U $n) (Str:D $s, Int:D $repetition --> Str:D) (str $s, int $repetition --> str))␤»
23:14 Skarsnik left
babydrop s: &infix:<x>, \('', Any) 23:15
SourceBaby babydrop, Sauce is at github.com/rakudo/rakudo/blob/4fd6...ngy.pm#L32
babydrop oh right, I need to be doing that on that commit :)
babydrop goes back to playing Warframe
23:17 pyrimidine joined, prammer left 23:21 pyrimidine left, pyrimidine joined 23:26 pyrimidine left
AlexDaniel m: say 42.roll(-1) 23:28
camelia rakudo-moar 4fd6e9: OUTPUT«(42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 …»
AlexDaniel what's the idea behind this
babydrop For someone who's too busy to commit a test, you sure have lots of time to break stuff :) 23:29
AlexDaniel Ah, I got the idea 23:30
23:30 ssotka joined
AlexDaniel m: say 42.roll(-18446744073709551613) 23:30
camelia rakudo-moar 4fd6e9: OUTPUT«(42 42 42)␤»
AlexDaniel babydrop: well, breaking stuff is what I do to relax between my coding bursts 23:31
babydrop AlexDaniel: it makes the assumption the number is positive and keeps decrementing it in an attempt to reach zero: github.com/rakudo/rakudo/blob/4fd6...t.pm#L1115
prolly should do something smarter here: github.com/rakudo/rakudo/blob/4fd6...t.pm#L1107 23:32
pmurias what would be the correct behavior? throw an exception? or have a subset in the signature? 23:33
AlexDaniel bisect: old=2015.10 say 42.roll(-1)
babydrop No subsets in the signature, it's slow
bisectable6 AlexDaniel, Bisecting by output (old=2015.10 new=4fd6e94) because on both starting points the exit code is 0
AlexDaniel, bisect log: gist.github.com/184042f8db7282eb04...ac8171b5bf 23:34
AlexDaniel, (2015-11-12) github.com/rakudo/rakudo/commit/f4...9679eb9692
babydrop We have an exception for that type of stuff
AlexDaniel oops
babydrop m: try ''.substr(42); say $!.^name
camelia rakudo-moar 4fd6e9: OUTPUT«X::OutOfRange␤»
babydrop That out, I s'pose will do
m: try [][-100]; say $!.^name 23:35
camelia rakudo-moar 4fd6e9: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unsupported use of a negative -100 subscript to index from the end; in Perl 6 please use a function such as *-100␤at <tmp>:1␤------> 3try [][-100]7⏏5; say $!.^name␤»
babydrop m: try '[][-100]'.EVAL; say $!.^name
camelia rakudo-moar 4fd6e9: OUTPUT«X::Obsolete␤»
babydrop heh
oh, well, yeah, not the todo but here: github.com/rakudo/rakudo/blob/4fd6...t.pm#L1095 23:36
(the doing smarter stuff I mean)
m: dd 42.roll: 500
camelia rakudo-moar 4fd6e9: OUTPUT«(42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,…»
babydrop m: dd Failure.new.roll.elems 23:37
camelia rakudo-moar 4fd6e9: OUTPUT«1␤»
babydrop maaan... this stuff keeps unraveling.
Maybe we need to audit what methods are aflicted with that issue. 23:38
23:38 pmurias left
babydrop TIL we have rotate. 23:38
m: say 'Perl 6'.comb.rotate 23:39
camelia rakudo-moar 4fd6e9: OUTPUT«No such method 'rotate' for invocant of type 'Seq'␤ in block <unit> at <tmp> line 1␤␤»
babydrop m: say 'Perl 6'.comb.List.rotate
camelia rakudo-moar 4fd6e9: OUTPUT«(e r l 6 P)␤»
babydrop m: say Failure.new.rotate.elems
camelia rakudo-moar 4fd6e9: OUTPUT«Failed␤␤Actually thrown at:␤ in any at gen/moar/Metamodel.nqp line 3063␤ in block <unit> at <tmp> line 1␤␤»
babydrop m: dd [.elems, .pick.elems, .roll.elems, .eager.elems, .Slip.elems, .Array.elems, .List.elems, .Capture.elems, .rotor(42).elems ] given Failure.new 23:42
camelia rakudo-moar 4fd6e9: OUTPUT«[1, 1, 1, 1, 1, 1, 1, 0, 0]␤»
23:47 ufobat left
AlexDaniel ok, so 23:51
m: say (2, 5, 8).rotor(1)
camelia rakudo-moar 4fd6e9: OUTPUT«((2) (5) (8))␤»
AlexDaniel makes sense
m: say (2).rotor(1)
camelia rakudo-moar 4fd6e9: OUTPUT«((2))␤»
AlexDaniel ok
m: say ().rotor(1)
camelia rakudo-moar 4fd6e9: OUTPUT«<anon|150046848>.new␤»
23:51 lukaramu left
AlexDaniel what's that? 23:51
bisect: say ().rotor(1) 23:53
bisectable6 AlexDaniel, Bisecting by output (old=2015.12 new=4fd6e94) because on both starting points the exit code is 0
AlexDaniel, bisect log: gist.github.com/a0bb5a6b6898b39bb8...c86374de4b
AlexDaniel, (2016-07-09) github.com/rakudo/rakudo/commit/40...a3157a3455
AlexDaniel oops!
babydrop thinks we need a "You break it. You fix it" policy :) 23:56
AlexDaniel babydrop: I know a better one 23:57
babydrop AlexDaniel: are you recording these?
AlexDaniel babydrop: “You find it. You fix it”
RT #130281 RT #130282 RT #130283 23:58
babydrop AlexDaniel++
m: dd Rakudo::Internals.EmptyIterator
camelia rakudo-moar 4fd6e9: OUTPUT«<anon|150046848>.new␤»
babydrop has no idea what that is....
That's what ().rotor(1) gives
AlexDaniel babydrop: I don't know anything about the Failure thingy you were talking about some minutes ago 23:59
babydrop: so perhaps you'll have to submit a ticket yourself, if it is needed
babydrop AlexDaniel: irclog.perlgeek.de/perl6/2016-12-06#i_13691543