»ö« 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.
00:01 harovali left 00:06 pierre_ left 00:09 cpage_ left
AlexDaniel gfldex: oh well, uints! One more dark side of rakudo… 00:12
m: uint $x = 0; $x--; say $x 00:13
camelia rakudo-moar 328402: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3uint7⏏5 $x = 0; $x--; say $x␤ expecting any of:␤ infix␤ infix stopper␤ statement end␤ statement modifier␤ st…»
AlexDaniel m: my uint $x = 0; $x--; say $x
camelia rakudo-moar 328402: OUTPUT«-1␤»
AlexDaniel oops, right? ;)
00:13 cpage_ joined, rpburkholder left
timotimo yes, very 00:16
00:20 cdg left
dalek c: c3379f5 | coke++ | doc/Language/typesystem.pod6:
use nbsp
00:26
00:30 jonadab left, lichtkind__ left 00:31 lambd0x joined
lambd0x Hello everyone! 00:31
timotimo hey you 00:32
lambd0x timotimo: \o/
timotimo: how're doing?
timotimo today was not a good day, but otherwise all right
how are you?
lambd0x fine, just having some doubts using file in perl6 00:33
timotimo "file"? 00:34
lambd0x timotimo: basically yes... I'm trying something that I used to do all the time in C...
to have a config file and that would provide parameters and also input to the program.. 00:35
but I'm not being able to get the hold of a handle that just firstly reads two numbers to some vars and considers the rest of that file as input. 00:36
timotimo what are you tryung?
like, are the first two numbers in a line of their own? 00:37
lambd0x To multiply two Matrixes. I'm providing first the two numbers to know the order of the first matrix then its contents and in the same file the next two numbers of the second matrix and then its contents 00:38
timotimo: yes.
timotimo then you can just .get it line by line, can't you?
lambd0x timotimo: yes, but if I do that. how can I say read it up to that point? For the contents, and then again read another two and repeat the process 00:39
timotimo depends entirely on how you know how much content there is 00:40
lambd0x those two files express the order of a matrix and therefore if I have a 2 2 -> 4 numbers should be read
timotimo are the values in the matrices encoded as human-readable numbers? are they just 32bit floats or something? 00:41
00:41 jack_rabbit left
timotimo is it still line-based? a certain number of numbers per line? 00:41
lambd0x timotimo: they're integers separated by lines acording to their order (in matrix form) I managed to save them such that would be easily read by performing a loop with the order numbers 00:42
00:43 jack_rabbit joined
lambd0x basically I wanted a way to read a number from the stream and keep the handler to afterwards read another number that I would be able to control somehow... 00:43
timotimo for ^2 { my $matrixorder = +$file.get; my @matrixlines = $file.get xx $matrixorder; say @matrixlines.perl } 00:45
try that
lambd0x timotimo: ^2 means? 00:46
timotimo "up to two", in other words 0..1 00:47
or in this context, "twice"
lambd0x timotimo: You gave me an idea. I'll work it out from here. Thanks :) 00:52
timotimo YW
lambd0x timotimo: nice this ^n operator...
timotimo it's cool how the xx operator will execute something twice
m: (say "hello") xx 4
camelia rakudo-moar 328402: OUTPUT«hello␤hello␤hello␤hello␤»
timotimo m: (say rand) xx 4 00:53
camelia rakudo-moar 328402: OUTPUT«0.352484542036053␤0.867382257469645␤0.345555578673232␤0.721099736714825␤»
timotimo and each time it's a fresh execution, too. so it's like a little loop
lambd0x indeed
00:55 Actualeyes joined
lambd0x timotimo: ^$somevar-1 will execute ^$somevar first and then -1 over it or none at all? Had something similar here that didn't work. Changed to 0..$somevar-1 01:04
timotimo yeah, the precedence of .. is very tight; you can - 1 a range and it'll be "shifted" one to the left 01:05
m: say ^5 - 1
camelia rakudo-moar 328402: OUTPUT«-1..^4␤»
timotimo m: say ^(5 - 1) 01:06
camelia rakudo-moar 328402: OUTPUT«^4␤»
timotimo the precedence of ^ is very tight, i meant to say 01:07
lambd0x timotimo: ah good to know :) 01:08
m: say ^5 + 1
camelia rakudo-moar 328402: OUTPUT«1..^6␤»
lambd0x that's nice :P 01:09
timotimo yeah, that's how you get "from one" instead of "from zero" while still keeping the ^
AlexDaniel m: say 1..^6 # if you want to keep ^, why not do it this way? ;) 01:14
camelia rakudo-moar 328402: OUTPUT«1..^6␤»
timotimo *shrug*
AlexDaniel m: say 2..^10 / 2 01:15
camelia rakudo-moar 328402: OUTPUT«2..^5.0␤»
timotimo that's tighter than ..^ apparently
AlexDaniel is it supposed to be this way? 01:16
timotimo *shrug*, i usually go for parens with this sort of thing
AlexDaniel it makes sense, I think. But it is somewhat inconsistent
01:19 sena_kun left 01:21 bob777 left
unmatched} GIGO 01:22
wc
01:25 bob777 joined 01:35 bob777 left 01:37 bob777 joined
unmatched} I love these answers for person asking for source code of split :) www.reddit.com/r/perl/comments/4ww..._of_split/ 01:37
I think P6 being written in P6 is a very real strength, although I see the inevitableness of it being rewritten in NQP 01:38
timotimo actually, larry is hoping we'll be rewriting it completely in perl6 at some point 01:41
so .. the opposite of what you're fearing :)
unmatched} As much as I believe in TimToady's power of though, I doubt we'll one day just go "you know what, let's make this method 30 times slower" 01:43
(that's based on my observation of lizmat++'s stellar work of rewriting stuff in nqp and the speed benefits reaped from such conversions) 01:44
gfldex the idea is not to have to make it 30x slower
timotimo right. the idea is that perl6 code at one point will optimize as well as nqp code does now
geekosaur ^ optimization is very much a work in progress, brrt was charting out more optimization work earlier today even 01:45
unmatched} "one point"? What's stopping us from doing it now?
geekosaur people, available time?
01:45 AlexDaniel left
timotimo yeah, it's not trivial 01:45
are you interested in maybe implementing escape analysis for moarvm?
01:45 ilbot3 left
geekosaur welp. that'd certainly be an intro to why optimization is hard :) 01:46
01:46 lambd0x left
unmatched} timotimo: sure 01:46
timotimo: if we start from the point that I don't know wtf "escape analysis" even is :)
timotimo cool. but i'm afraid it might require a bit of design work, too
well, there's wikipedia and lots of papers for that 01:47
01:47 ilbot3 joined
timotimo basically, analysis of "will this value stay alive past a certain point? perhaps it gets assigned to something, or somehow referenced or something" 01:47
because once you know an object will definitely become unused at a certain point, you can either allocate it on the stack instead of on the gc-managed heap, or even leave out the allocation partially
01:48 bob777 left
unmatched} Are those papers free to read? 01:48
timotimo i bet many are
escape analysis was probably invented like 80 years ago
unmatched} Cool. I'll look around then.
:o
timotimo you'll be interested to know that moarvm's bytecode is in SSA form composed of "basic blocks" (only during spesh, but escape analysis is spesh-only) 01:49
01:50 bob777 joined
unmatched} Challenge accepted! :D 01:50
timotimo wow
there's a branch already that has a tiny bit of the escape analysis work 01:51
you'll be wanting to read the header files inside src/spesh/, especially graph.h and facts.h
02:01 holyghost left
timotimo and src/core/oplist is also interesting 02:02
02:02 holyghost joined, bob777 left
unmatched} Thanks. I'll start researching this once I'm done with the internals course (should be by end of week). 02:07
timotimo neato
02:16 bob777 joined 02:24 noganex_ joined 02:27 noganex left 02:34 wamba joined 02:37 BenGoldberg joined 02:41 mcmillhj left 02:44 ifim joined 02:47 skids joined 02:48 mcmillhj joined 02:53 mcmillhj left 03:05 mcmillhj joined 03:10 mcmillhj left 03:18 mcmillhj joined 03:19 xinming left, xinming joined 03:23 mcmillhj left 03:29 mcmillhj joined 03:34 mcmillhj left
SmokeMachine____ m: use experimental :cached; method bla is cached {42} 03:42
camelia rakudo-moar 328402: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤'is cached' on methods not yet implemented. Sorry. ␤at <tmp>:1␤»
SmokeMachine____ m: use experimental :cached; sub bla is cached {42} 03:43
camelia ( no output )
SmokeMachine____ why I can't use cached methods?
03:43 mcmillhj joined
ugexe because its not implemented? 03:43
SmokeMachine____ oh!!! the is cached isn't implemented!!!
sorry! I thought that my method wasn't implemented yet!!! 03:44
thanks!
03:45 wamba left
SmokeMachine____ I just needed to read the error message! I'm sorry! 03:45
geekosaur cached is marked experimental for a reason, it's rather broken and not a high priority to fix iirc
03:48 mcmillhj left, skids left
SmokeMachine____ Thanks 03:48
03:50 harovali joined
TimToady thinks experimental should be renamed to MONKEY-AROUND or some such 03:51
03:57 ifim left
TimToady or at least be aliased, like "use nqp" 03:59
03:59 mcmillhj joined
ugexe just like real animal testing you never know if your work will die horribly for unknown reasons 04:00
04:03 harovali left, harovali joined 04:04 mcmillhj left 04:06 cpage_ left 04:09 mcmillhj joined
TEttinger monkey all the things 04:11
then when perl 6 gets bought by microsoft it suddenly changes to MONEY_AROUND and MONEY_SEE_NO_EVAL
04:13 mcmillhj left
TimToady embrace and MONKEY_BUSINESS 04:14
I suppose it's more like a monkey trap 04:20
04:20 mcmillhj joined 04:21 tardisx joined 04:25 mcmillhj left 04:26 Actualeyes left 04:29 Actualeyes joined, Cabanossi left 04:31 Cabanossi joined 04:33 mcmillhj joined 04:38 mcmillhj left 04:45 broquain1 is now known as broquaint
Xliff TimToady, would that be MONKEY_EMBRACE_AND_EXTEND 04:47
Next thing you know MONKEY_ASTROTURF will show up, and then it's game over. 04:48
04:52 mcmillhj joined
TimToady Look! That cloud over there is a MONKEY-CLOUD! 04:52
04:56 khw left 04:57 mcmillhj left 04:59 tardisx left 05:01 tardisx joined 05:05 mcmillhj joined 05:10 mcmillhj left 05:31 AlexDaniel joined 05:32 harovali left
Xliff TimToady: Wait is that the mythical primate thing that will eventually generate a Shakespearean work every ~1.5 eons or so? 05:40
Xliff can already smell the marketing. 05:41
05:51 mcmillhj joined 05:52 bjz_ left 05:56 mcmillhj left
AlexDaniel m:my ($x) = (42, 69); say $x 05:58
m: my ($x) = (42, 69); say $x
camelia rakudo-moar 328402: OUTPUT«42␤»
AlexDaniel m: my $x; ($x) = (42, 69); say $x 05:59
camelia rakudo-moar 328402: OUTPUT«(42 69)␤»
AlexDaniel bisect: my $x; ($x) = (42, 69); say $x
bisectable AlexDaniel: On both starting points (good=2015.12 bad=3284025) the exit code is 0 and the output is identical as well
AlexDaniel: Output on both points: (42 69)
AlexDaniel is it supposed to be this way?
06:00 bjz joined
gfldex m: my $x; ($x,) = (42, 69); say $x 06:00
camelia rakudo-moar 328402: OUTPUT«42␤»
gfldex it is supposed to be that way
AlexDaniel gfldex: you mean that rakudo is right here and I must use a comma? If so, OK then, but we should probably document it as p5→p6 pitfall 06:01
Xliff Ah. Yeah. 06:02
I've run into that.
Good to know about the comma trick. I thought I was going mad.
gfldex AlexDaniel: we should document it in general (looking at it right now)
AlexDaniel gfldex: want me to create an issue on github?
gfldex it does exactly what you ask it to do
no, better doc it in p5->p6 right away 06:03
we may have doced destructureing somewhere already
Xliff m: my $x; ($x) = (42, 69).list; say $x 06:04
camelia rakudo-moar 328402: OUTPUT«(42 69)␤»
Xliff m: my $x; ($x) = (42, 69).flat; say $x
camelia rakudo-moar 328402: OUTPUT«(42 69)␤»
Xliff m: my $x; ($x) = |(42, 69); say $x 06:05
camelia rakudo-moar 328402: OUTPUT«(42 69)␤»
Xliff m: my ($x) = (42, 69).list; say $x
camelia rakudo-moar 328402: OUTPUT«42␤»
Xliff Aha! 06:06
AlexDaniel, ^^ that should probably also be documented.
AlexDaniel /o\
ah no, it's right \o/ 06:07
I still don't get it. Why can you ommit the comma in 「my ($x,)」 case but without “my” you must use it? 06:09
06:12 BenGoldberg left, brrt joined
brrt hey #perl6. seeing as we can capture the signature of a routine, and that types are objects, i think we should be able to write something like Buf.unkpac(int $x, num $y) and have it automatically do the right thing 06:14
not as flexible as string-unpack, though
also, i just realised that the whole 'serveless architecture' thing is basically re-warmed CGI 06:15
Xliff LOL 06:17
brrt, can I steal that?
brrt ideas? no 06:18
you can copy them though
Xliff Then I shall do so mercilessly...... with your permission, of course.
But then that's not "mercilessly" innit? Hrm.
brrt hmmm
no
Xliff Damn. Sounded good, though.
brrt well, have hun with it :-P 06:19
Xliff hun?
I want to copy that tidbit... not hug it!
=)
AlexDaniel: I'm thinking assignment via "my" is different than assignment without it. At least that's how I'm rationalizing it. 06:21
06:23 CIAvash joined
AlexDaniel Xliff: my rationalization stopped somewhere after “t” in WTF. Like… I do understand that maybe we can't have it to dwim without 「my」, but then why the trailing comma is not required if you use 「my」? 06:23
06:24 labster left
AlexDaniel anyway, I'm submitting an RFC rakudo ticket. Feel free to throw your tomatoes at me there 06:24
Xliff AlexDaniel, if I throw anything, it will be lots in with you. 06:27
You have no idea how many hours I wasted on that but on my first P6 project.
s/but/(alleged) bug/ 06:28
s/(alleged) bug/"intentional feature"/
Xliff whistles innocently.
06:28 firstdayonthejob joined
Xliff m: (42, 69).WHAT 06:30
camelia ( no output )
Xliff m: (42, 69).WHAT.say
camelia rakudo-moar 328402: OUTPUT«(List)␤»
Xliff m: my $x, $y; ($x, $y).WHAT.say 06:31
camelia rakudo-moar 328402: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$y' is not declared␤at <tmp>:1␤------> 3my $x, 7⏏5$y; ($x, $y).WHAT.say␤»
Xliff m: my ($x, $y); ($x, $y).WHAT.say
camelia rakudo-moar 328402: OUTPUT«(List)␤»
06:31 pierre_ joined 06:35 bjz left 06:41 mcmillhj joined 06:42 firstdayonthejob left
AlexDaniel #128883 06:42
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128883
dalek c: f5b1826 | (Wenzel P. P. Peppmeyer)++ | doc/Language/functions.pod6:
remove comment (done in /type/Signature)
c: 601fb8e | (Wenzel P. P. Peppmeyer)++ | doc/Language/functions.pod6:
doc return values
c: 105cb0c | (Wenzel P. P. Peppmeyer)++ | doc/Language/variables.pod6:
doc declaration of multiple variables and destructuring
06:45 tardisx left, mcmillhj left
dalek c: 426d402 | (Wenzel P. P. Peppmeyer)++ | doc/Language/variables.pod6:
correct single element list destructuring lie
06:46
06:48 bjz joined 06:50 tardisx joined 06:53 sno left 06:55 labster joined 06:56 CIAvash left
gfldex AlexDaniel: declarators are syntaxy things. There is a clear difference between `my` and `my ()` because it's not a Routine. The comma in list deconstruction is a required change from Perl 5 because lists don't flatten by default. And there is no explicit reference syntax, what makes the creation of a real list necessary. 06:58
07:00 bjz left
dalek c: 848b78a | (Wenzel P. P. Peppmeyer)++ | doc/Language/variables.pod6:
fix typo
07:00
07:05 CIAvash joined
dalek c: 6998309 | (Wenzel P. P. Peppmeyer)++ | doc/Language/functions.pod6:
remove trailing WS
07:06
c: 2229557 | (Wenzel P. P. Peppmeyer)++ | doc/Language/variables.pod6:
fix link
07:10
AlexDaniel gfldex: well, my point is that 「my ($x)」 should not be allowed because it is a footgun. If you don't agree, feel free to leave a comment on that ticket :) 07:14
gfldex m: my (,$a) = 1,2; dd $a; 07:16
camelia rakudo-moar 328402: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Malformed my␤at <tmp>:1␤------> 3my (7⏏5,$a) = 1,2; dd $a;␤»
gfldex m: my (,$a) = <a b>; dd $a;
camelia rakudo-moar 328402: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Malformed my␤at <tmp>:1␤------> 3my (7⏏5,$a) = <a b>; dd $a;␤»
gfldex m: my ($,$a) = <a b>; dd $a;
camelia rakudo-moar 328402: OUTPUT«Str $a = "b"␤»
gfldex better doc this 07:17
07:18 rindolf joined
gfldex m: my ($,$a,@,%h) = ('a', 'b', [1,2,3], { :1th, :2nd }); dd $a, %h; 07:19
camelia rakudo-moar 328402: OUTPUT«Str $a = "b"␤Hash %h = {}␤»
gfldex m: my ($,$a,@,%h) = ('a', 'b', [1,2,3], { a => 1 }); dd $a, %h; 07:20
camelia rakudo-moar 328402: OUTPUT«Str $a = "b"␤Hash %h = {}␤»
TEttinger AlexDaniel, please, has a gun concealed in your foot ever failed to be an effective weapon? or a cyborg gunfoot footgun?
* terms and conditions apply 07:21
gfldex m: my ($,$a,$,%h) = ('a', 'b', [1,2,3], {:1th}); dd $a, %h; 07:22
camelia rakudo-moar 328402: OUTPUT«Str $a = "b"␤Hash %h = {:th(1)}␤»
gfldex m: my ($,$a,@,%h) = ('a', 'b', [1,2,3], {:1th}); dd $a, %h;
camelia rakudo-moar 328402: OUTPUT«Str $a = "b"␤Hash %h = {}␤»
gfldex the anonymous @ seams to be slurpy. I wonder if it should. 07:23
dalek c: cbc422e | (Wenzel P. P. Peppmeyer)++ | doc/Language/variables.pod6:
doc skipping in destructuring
07:25
CIAvash m: my ($,$a,@,%h) := ('a', 'b', [1,2,3], {:1th}); dd $a, %h; 07:26
camelia rakudo-moar 328402: OUTPUT«"b"␤Hash % = {:th(1)}␤»
gfldex AlexDaniel: one could argue that `my ($a,@) = <a b c>` should be required to avoid typos altogether. 07:27
movl hey 07:30
question : given lines like this : my $chars = [∪] @chars».=&filter;
07:30 BenGoldberg joined
movl where is the » character(s) on a US keyboard? 07:30
:|
07:31 pdcawley joined
CIAvash movl: docs.perl6.org/language/unicode_entry 07:32
gfldex on my german keyboard it's c-k > >
07:32 jonas2 joined, darutoko joined
gfldex but then i'm cheating with github.com/jshholland/irssi-script...igraphs.pl 07:33
AlexDaniel movl: you can use >> if you want
movl: docs.perl6.org/language/unicode_texas
07:34 Ben_Goldberg joined 07:35 BenGoldberg left 07:37 zakharyas joined
movl thanks :) 07:38
07:43 tardisx left 07:49 heatsink joined 07:55 sno joined 08:00 brrt left, brrt joined, brrt left 08:01 akiym joined 08:02 aries_liuxueyang left 08:03 pierre_ left, aries_liuxueyang joined 08:06 dakkar joined 08:09 gnull` joined, bob777 left
heatsink so was the name Camelia chosen as a play on words, as the first 5 letters are Camel, the mascot of perl5 08:10
:)
08:11 gnull left
AlexDaniel heatsink: coincidence 08:12
TimToady no, we never make puns around here 08:14
08:15 TEttinger left 08:17 bob777 joined 08:18 TEttinger joined
moritz there's no punishment for puns here :-) 08:22
AlexDaniel we should rename it to get rid of this confusion. What about Onionella?
moritz raptornella! 08:23
08:23 araujo_ joined 08:25 RabidGravy joined, araujo_ left 08:27 araujo_ joined, araujo left 08:28 bjz joined, bpmedley left, araujo_ left 08:29 araujo_ joined 08:32 bpmedley joined 08:33 TEttinger left 08:34 TEttinger joined
heatsink only those pure of heart may journey to temple of the nyan cat, where the fountain of names resides 08:35
stmuk bikeshedella 08:36
heatsink steampunkadella 08:38
what about 'fidelio' a german act of two parts, i.e. part 1 perl 5, part 2 perl 6 :) 08:40
gfldex Heraclina (for cutting the Hydras heads of) 08:41
08:41 pmurias joined
pmurias hi 08:41
heatsink ah, fidelio is an opera of two acts, just intwerwebbed the name. 08:46
pmurias: hi, name seems familiar, were you on #gentoo at some point?
dalek ateverable: 1bf72b5 | (Aleks-Daniel Jakimenko-Aleksejev)++ | Whateverable.pm6:
Add a TODO note about kill signals
08:47
ateverable: a22c268 | (Aleks-Daniel Jakimenko-Aleksejev)++ | / (4 files):
Add 「.selfrun」 method

It was annoying to have copy-pasted IRC::Client initialization, so now there is a 「.selfrun」 method that does that for you.
ateverable: 5296253 | (Aleks-Daniel Jakimenko-Aleksejev)++ | / (4 files):
「LEAVE chdir …」 everywhere

Maybe it is more readable this way. Maybe not, but at least one bug is fixed.
ateverable: d76d342 | (Aleks-Daniel Jakimenko-Aleksejev)++ | Whateverable.pm6:
Do not push to array asynchronously

It was clear right from the start that doing so is stupid, but turns out it causes actual segfaults (RT #128870).
There is a chance that this was the reason behind some of the segfaults observed during the testing of Perl 6 bots. We will see.
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128870
ateverable: 484ade2 | (Aleks-Daniel Jakimenko-Aleksejev)++ | Whateverable.pm6:
Join #whateverable channel as well

Given that we now reside there for development purposes, there is no reason not to keep the bots there as well.
Given that currently the bots are ignoring private messages, feel free to join this channel!
08:55
ateverable: 1310bf5 | (Aleks-Daniel Jakimenko-Aleksejev)++ | Whateverable.pm6:
Add ‘test’ suffix to the nick when in debug mode

Gets rid of nick clashes and makes it easier to get rid of gists uploaded during development.
08:55 bjz left 09:00 bisectable6 joined 09:01 araujo__ joined 09:04 gnull` left 09:05 araujo_ left
dalek ateverable: 6f1335e | (Aleks-Daniel Jakimenko-Aleksejev)++ | Committable.p6:
Oops (fix after LEAVE chdir changes)
09:05
09:05 committable6 joined
AlexDaniel committable6: HEAD say ‘Hello to all Perl 6 bots!’ 09:06
committable6 AlexDaniel, ¦«HEAD»: Cannot find this revision
AlexDaniel dammit…
09:08 committable6 left 09:10 tardisx joined 09:11 committable6 joined 09:12 tardisx left
dalek ateverable: b36f4c3 | (Aleks-Daniel Jakimenko-Aleksejev)++ | Committable.p6:
Argh. Looks like another issue with RT #128872

Perhaps there are way more bugs due to this problem. I am not really interested in fixing them though, because I hope that it will be fixed in rakudo soon.
09:13
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128872
AlexDaniel committable6: HEAD say ‘Hello to all Perl 6 bots!’
committable6 AlexDaniel, ¦«HEAD»: Cannot find this revision
moritz committable6: 2016.06 say ‘Hello to all Perl 6 bots!’ 09:14
committable6 moritz, ¦«2016.06»: Cannot find this revision
moritz committable6: you're not good at finding revisions, are you? :-) 09:15
committable6 moritz, ¦«you're»: Cannot find this revision
moritz there's a certain stoicism involved here :-)
09:15 committable6 left, bisectable6 left 09:18 pierre_ joined 09:23 bisectable6 joined, committable6 joined
AlexDaniel committable6: HEAD say ‘Hello to all Perl 6 bots!’ 09:23
committable6 AlexDaniel, ¦«HEAD»: Hello to all Perl 6 bots!
AlexDaniel alright ;)
if anybody is wondering, there is currently no difference between p5 and p6 *ables 09:24
except that bisectable is slightly more async 09:25
09:26 trnh joined
AlexDaniel bisectable6 I mean 09:26
09:48 kurahaupo joined 09:53 pierre_ left 09:54 bjz joined 09:55 AlexDaniel left, AlexDaniel joined
pmurias heatsink: maybe asked a question or two many years ago 09:58
10:03 TEttinger left
heatsink pmurias: oh right, your name must just be similar to something else that I saw, as I've only recently started hanging out on #gentoo 10:03
10:05 matt_ joined 10:13 AlexDaniel left, darutoko- joined 10:16 darutoko left, mavorg joined 10:24 labster left
pmurias heatsink: I stay away from gentoo nowdays ;) 10:28
heatsink pmurias: out of curiosity, what distro have you use?, or do you still use gentoo and not the irc channel 10:33
s/have/do
pmurias heatsink: debian, I don't have a strong conviction in terms of distro choice (as opposed to say the editor I'm using) 10:36
10:45 harovali joined
lucs pmurias: And that editor is...? 10:53
heatsink I'm guessing it's vi
pmurias heatsink: good guess :)
10:54 hathersage joined
pmurias it's vim actually 10:54
lucs Aha. I was about to ask if you were, like mst, as vi purist so to speak (like vim in compatibility mode I believe).
s/as /a / 10:55
vim++
huf meh. vim is like democracy 10:56
10:56 jcallen_ joined, jcallen left
lucs purl, are you here? 10:58
heatsink perl is, not sure about purl
DrForr Afraid not. Also, hi :)
10:58 pierre_ joined
lucs Hiya. 10:58
Oh, right, this is freenode. 10:59
DrForr Yep, this isn't your father's MAGnet :) 11:00
lucs :)
DrForr Incidentally I'm over my attendance goal for the YAPC course. 11:02
lucs Oh, nice. What's the course by the way?
(YAPC:EU I guess?) 11:03
DrForr act.yapc.eu/ye2016/training-jeff.html
lucs Aha
11:04 dalek left
lucs Wow, great. Perl 6 appears to be gaining traction. 11:05
11:05 dalek joined, ChanServ sets mode: +v dalek
movl can't wait for YAPC 11:05
DrForr Well, there's also a talk coming up at OSCON in London, we had a talk and training at OSCON Austin, and there's ... something I can't talk about yet coming up in October. 11:06
11:06 movl left, movl joined 11:08 pierre_ left 11:16 trnh left 11:18 hathersage left 11:21 canopus left 11:27 canopus joined 11:28 JimmyZ joined 11:31 bjz left 11:32 bjz joined 11:37 araujo__ left, araujo joined 11:43 harovali left 11:50 bjz left 11:51 bjz joined 11:53 tbrowder left 11:56 kaare_ left 12:07 bjz left 12:22 sena_kun joined 12:24 buggable left 12:26 sammers joined 12:30 perlpilot joined 12:35 heatsink left 12:36 wamba joined 12:37 buggable joined, trnh joined 12:38 Matthew[m] left, tadzik left, M-Illandan left 12:41 edwinsage joined 12:42 Sgeo_ left 12:43 kid51 joined 12:50 mcmillhj joined 12:52 tadzik joined 13:05 grondilu joined, unmatched} left 13:09 pierre_ joined, skids joined 13:11 kaare_ joined, kaare_ left 13:12 kaare_ joined, mcmillhj left 13:14 mcmillhj joined 13:21 cdg joined, cdg left 13:22 heatsink joined, cdg joined 13:24 kaare_ left 13:25 bjz joined
awwaiid tadzik: I'm psyched about the PR I just put in for panda, github.com/tadzik/panda/pull/321 13:28
13:29 bob777 left 13:31 sammers left 13:32 kaare_ joined
awwaiid also, I hope that $*MAIN-ALLOW-NAMED-ANYWHERE = True becomes the default :) 13:32
(I ran into this completely by accident when learning about $*MAIN inside of Rakudo)
13:32 dj_goku left 13:35 mcmillhj left
mst awwaiid: the problem with that is that it's saying up front "I never want to handle subcommands" 13:37
I dunno
I'm inordinately fond of things with chainable subcommands and plugins 13:38
13:38 sufrostico joined 13:39 unmatched} joined 13:41 bob777 joined 13:44 sammers joined, jkramer joined
jkramer Ahoy! 13:44
unmatched} \o
jkramer m: (^6 - 1).perl 13:45
camelia ( no output )
jkramer m: (^6 - 1).perl.say
camelia rakudo-moar e829a9: OUTPUT«-1..^5␤»
jkramer Is this correct? I would've expected 0..5
Seems weird
unmatched} jkramer: you're subtracting from a range, not from 6
m: (^(6 - 1)).perl.say
camelia rakudo-moar e829a9: OUTPUT«^5␤»
jkramer Ah, so the range -1 is every element -1? 13:46
unmatched} m: (eager ^(6 - 1)).perl.say
camelia rakudo-moar e829a9: OUTPUT«(0, 1, 2, 3, 4)␤»
mspo what does the ^ do there?
unmatched} mspo: it's a range operator
jkramer: it subtracts from both endpoints. The same applies with +
m: say (^10+5)/2 13:47
camelia rakudo-moar e829a9: OUTPUT«2.5..^7.5␤»
unmatched} And / and * I guess
m: say eager (^10+5)/2
camelia rakudo-moar e829a9: OUTPUT«P6opaque: get_boxed_ref could not unbox for the representation '20' of type Rat␤ in block <unit> at <tmp> line 1␤␤»
unmatched} 0.o
jkramer unmatched}: Got it, thanks :) 13:48
13:50 mcmillhj joined
RabidGravy boom! 13:51
13:52 Actualeyes left
unmatched} Rakudobugged: rt.perl.org/Ticket/Display.html?id=128887 13:54
13:57 bob777 left
unmatched} jkramer: worth nothing that above by "range" I meant the Range object. Unlike Perl 5 you don't get a bunch of values but the object that knows of the endpoints you want. Lets us do crazy stuff like this: 13:59
m: ^2_000_000_000_000_000_000_000_000_000 .sum.say 14:00
camelia rakudo-moar e829a9: OUTPUT«1999999999999999999999999999000000000000000000000000000␤»
unmatched} m: (0..2_000_000_000_000_000_000_000_000_000).sum.say
camelia rakudo-moar e829a9: OUTPUT«2000000000000000000000000001000000000000000000000000000␤»
unmatched} Try that in Perl 5 :}
14:03 pierre_ left 14:05 M-Illandan joined, Matthew[m] joined
jkramer unmatched}: Neat :) 14:08
One more question: I have a list of words and want to match any of them in a regex, is there a way to do that? I mean instead of: /foo ( a | b | c) bar/ I'd like to do: my @x = <a b c>; /foo ( one-of @x ) bar/ 14:10
unmatched} /foo @x bar/ 14:11
14:11 bob777 joined
jkramer Ha, beautiful :D 14:11
grondilu <@your-list> should work 14:12
oh it was answered already. my bad.
unmatched} Yeah, though in that form it'll interpret the items as regexes and not plain strings 14:13
14:13 Actualeyes joined
grondilu m: my @abc = <a b c>; say "fooabar" ~~ /foo <@abc> bar/ 14:13
camelia rakudo-moar e829a9: OUTPUT«「fooabar」␤»
unmatched} And you can stuff @x with a mix of Regex and Str objects if you want only some of them to be regexes
grondilu m: my @abc = <a b c>; say "fooabar" ~~ /foo @abc bar/
camelia rakudo-moar e829a9: OUTPUT«「fooabar」␤»
jkramer And finally, when I have 'enum Blah <Foo Bar Baz>', can I get list with the strings <Foo Bar Baz> back from the enum Blah? 14:14
14:14 wamba left
unmatched} m: my @abc = <a a.+ b c>; say "fooabrabar" ~~ /foo @abc bar/ 14:14
camelia rakudo-moar e829a9: OUTPUT«Nil␤»
14:14 dj_goku joined
unmatched} m: my @abc = <a a.+ b c>; say "fooabrabar" ~~ /foo <@abc> bar/ 14:14
camelia rakudo-moar e829a9: OUTPUT«「fooabrabar」␤»
grondilu m: enum Blah <Foo Bar Baz>; say Blah.List 14:15
camelia rakudo-moar e829a9: OUTPUT«((Blah))␤»
grondilu m: enum Blah <Foo Bar Baz>; say Blah.kv
camelia rakudo-moar e829a9: OUTPUT«()␤»
jkramer Ah, .enums works too
Thanks!
grondilu meh, I always fail to remember how enums work
14:15 trnh left
grondilu m: enum Blah <Foo Bar Baz>; say Blah.^methods 14:15
camelia rakudo-moar e829a9: OUTPUT«(pair enums CALL-ME Method+{<anon|74029600>}.new perl gist Int Numeric Str Method+{<anon|74029600>}.new Method+{<anon|74029600>}.new key value perl Bridge sqrt sign ACCEPTS sin tan cotan acosech Numeric Str abs base narrow conj atan2 cosec new is-prime pre…»
unmatched} m: enum Blah <Foo Bar Baz>; say Blah.enums 14:16
camelia rakudo-moar e829a9: OUTPUT«Map.new((:Bar(1),:Baz(2),:Foo(0)))␤»
14:16 bob777 left
grondilu m: enum Blah <Foo Bar Baz>; say Blah.pairs.valus 14:16
camelia rakudo-moar e829a9: OUTPUT«Method 'valus' not found for invocant of class 'List'␤ in block <unit> at <tmp> line 1␤␤»
grondilu m: enum Blah <Foo Bar Baz>; say Blah.pairs.values
camelia rakudo-moar e829a9: OUTPUT«()␤»
grondilu m: enum Blah <Foo Bar Baz>; say Blah.pairs
camelia rakudo-moar e829a9: OUTPUT«()␤»
grondilu *
14:18 bob777 joined
unmatched} m: enum Blah <Foo Bar Baz>; say Blah.^methods: :local 14:18
camelia rakudo-moar e829a9: OUTPUT«(pair enums CALL-ME Method+{<anon|74029600>}.new perl gist Int Numeric Str Method+{<anon|74029600>}.new Method+{<anon|74029600>}.new key value)␤»
unmatched} m: enum Blah <Foo Bar Baz>; say Blah.pair 14:19
camelia rakudo-moar e829a9: OUTPUT«Invocant requires an instance of type Blah, but a type object was passed. Did you forget a .new?␤ in block <unit> at <tmp> line 1␤␤»
unmatched} :S
m: enum Blah <Foo Bar Baz>; say Foo.pair
camelia rakudo-moar e829a9: OUTPUT«Foo => 0␤»
dalek c: 42084c3 | coke++ | / (5 files):
Move all extended tests to xt/,

Track with Makefile changes.
Allows tools to run everything in t/ without worrying which are standard and which are extra.
Closes #831
14:21
14:21 cog_ left 14:24 kid51 left 14:25 itaipu joined 14:28 kid51 joined 14:33 mavorg is now known as mvorg
unmatched} It's really annoying to type '($/)' on actions all the time... You think it's possible to do a trait on the class or something like that that would make the signature ($/) by default/ 14:35
*crickets* :) 14:44
mst I'm sure it's possible 14:45
how many things you'd have to patch in the process is a different question :D
14:45 AlexDaniel joined
unmatched} :) 14:45
unmatched} marks it as a weekend project 14:46
jnthn 1) Implement a trait that mixes some role into the meta-object of the class to mark it. 2) In IMPORT, mix into $*W to override attach_signature (be sure to callsame up to the original). 3) Check the first arg is a Method object. From the signature, grab the nominal type and see if it's a class marked with the trait. If so, meddle with the Signature to include a $/ Parameter object 14:51
Or something along those lines. There's probably something I didn't think of :)
unmatched} jnthn++ thanks 14:52
jnthn The really important thing is timing
moritz
.oO( how to patch Rakudo in three hard steps )
jnthn You gotta modify the signature *before* we compile it.
moritz monkey-patch, really
14:57 cdg_ joined 15:01 cdg left
sena_kun m: my $bt = Backtrace.new; say $bt[0].is-routine.WHAT; 15:01
camelia rakudo-moar 7501ee: OUTPUT«(Int)␤»
sena_kun Isn't it should be Bool here?
15:02 cdg_ left
AlexDaniel
.oO( is-routine? 42. )
15:02
sena_kun m: my $bt = Backtrace.new; say $bt[0].is-hidden.WHAT; 15:03
camelia rakudo-moar 7501ee: OUTPUT«Nil␤»
sena_kun Nil?
jkramer For some reason when something goes wrong somewhere in a react block or any code somewhere else called from there, the die stacktrace only shows me the beginning of the react block :(
Is there a general problem or am I doing something wrong?
unmatched} jkramer: right, 'cause it's basically in another thread. Pop this somewhere inside the react (same with start{} blocks, etc): CATCH { default { warn $_; warn .backtrace; } } 15:04
jkramer unmatched}: Nice, thanks!
unmatched}: That seems to only add the line of the CATCH block to the trace :D 15:08
lizmat sena_kun: github.com/rakudo/rakudo/commit/5dd91d8fbe 15:09
sena_kun lizmat, thanks!. 15:10
unmatched} jkramer: add more of them, somewhere closer to where the problem is, I guess ¯\_(ツ)_/¯
15:10 cognominal joined
jkramer :D 15:11
sena_kun Also, can someone smarter than me think a little about a good example of how to throw X::TypeCheck::Splice error(without throwing with .new, of course)? This page - docs.perl6.org/type/X$COLON$COLONT...OLONSplice has outdated example, that throws another failure now. This page claims this exception is connected with a macro, but you can see it when you splice something non-spliceable iirc. What this exception means now? 15:12
moritz masak: not exactly maze generation, but maybe still of interest to you: mewo2.com/notes/terrain/ 15:14
unmatched} m: my @a of Int = 42; @a.splice: 0, 1, 'foo'; 15:15
camelia rakudo-moar 7501ee: OUTPUT«Type check failed in splice; expected Int but got Str (Str)␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
moritz unmatched}++ # faster than me
lizmat sena_kun: fwiw, I'm not sure what the value is of documenting any X:: class
at least, in this manner
dalek ateverable: 0f85603 | (Aleks-Daniel Jakimenko-Aleksejev)++ | Benchable.p6:
Benchable6 is actually written in perl 6
lizmat sena_kun: except for specific / inherited attributes and specific methods 15:16
m: my Int @a = ^10; @a.splice(0,0,"a") 15:17
camelia rakudo-moar 7501ee: OUTPUT«Type check failed in splice; expected Int but got Str (Str)␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
sena_kun lizmat, we already have a bunch of exceptions documented and they're mostly okay(for now). How they can be improved is another question, but my topic is about completely broken description(it seems?) for this exact one.
lizmat m: my Int @a = ^10; @a.splice(0,0,"a") # better example ? 15:18
camelia rakudo-moar 7501ee: OUTPUT«Type check failed in splice; expected Int but got Str (Str)␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
sena_kun lizmat, it's a great example, but it has nothing to do with macroses. :-( 15:19
lizmat but the X::TypeCheck::Splice exception has nothing to do with macros, afaik
sena_kun Then description lies. I'll file an issue now... 15:20
15:22 wamba joined
sena_kun Opened. Thanks for the help, lizmat++ 15:23
lizmat sena_kun: you're welcome
15:25 pdcawley left
dalek c: 94ad744 | Altai-man++ | doc/Type/ (6 files):
make examples compile
15:30
15:31 rindolf left
unmatched} Anyone done the internals course? How can I make my compiler read a file, rather than me having to type everything all the time in REPL? 15:37
I got this compiler, and I get the error "Too many positionals passed; expected 0 arguments but got 1": gist.github.com/zoffixznet/521f1eb...62eb72d35a
15:39 zacts joined
jnthn Odd, it looks like it actually made it all the way into running the code from the file before failing 15:40
Assuming the file you can is in training/code ?
unmatched} jnthn: Yeah, the file training/code is the file with code and it just has one line: puts "Hello world" 15:41
which works, if I type it in repl
jnthn What happens if you pass --stagestats before the filename?
unmatched} jnthn: gets up to moar: gist.github.com/zoffixznet/78a6f98...91f4409639 15:42
jnthn Which means it compiled the code and is trying to run it at the point it fails
Try --target=ast and see if the constructed AST looks sensible 15:43
15:43 heatsink left
unmatched} I think so: gist.github.com/zoffixznet/6dfdaee...3e996e4b43 15:44
jnthn Yeah, looks OK to me also 15:45
--target=mast shows what it's getting compiled into
Also you can --target=ast without a filename to see if what you get in the REPL is any different 15:46
unmatched} I get the same thing
mast also seems to be the same: gist.github.com/zoffixznet/73bd3aa...95ffeabd02 15:47
pmurias I get different ast for the code in that gist 15:48
jnthn ./nqp-m training/compiler-basic --target=mast training/code st
What's that "st" on the end?
15:48 heatsink joined
pmurias got correct ast when passing a file instead of -e 15:48
unmatched} Just a typo. Here's the output without it: gist.github.com/zoffixznet/e84f64b...cc71df9571 15:49
pmurias the error you get is the program you generate not accepting the command line arguments 15:51
jnthn I think that typo was the problem though? 15:52
It was passing the extra command line arguments to your program but your program didn't accept them
unmatched} Running this still fails: ./nqp-m training/compiler-basic training/code
where compiler-basic is the compiler and the code is the code I want that compiler to run. 15:53
pmurias: OK. I guess I'll just cat the code then
Actually, I think that won't work 'cause REPL treats each line as new one :/ 15:54
new program or whatever... Wasn't working right when I taught the compiler to assign variables.
pmurias unmatched}: gist.github.com/pmurias/ab85c4bcd8...d700c1c29e - version of your gist that works 15:58
unmatched}: BTW why do you keep changing irc nick names constantly? ;) 15:59
unmatched} Oh, cool. pmurias++
jkramer I have a Str that's supposed to be empty. .ords gives me (), but .elems says 1 o_O
unmatched} jkramer: it's .chars not .elems 16:00
timotimo m: say 1.elems; say "".elems; say (1,2,3).elems;
camelia rakudo-moar 5dd91d: OUTPUT«1␤1␤3␤»
unmatched} It gives you 1 because you're basically calling ("your str",).elems, so it's a 1-item list
jkramer Argh, I just keep getting confused by this :( 16:01
unmatched} pmurias: different boxes :) Zoffix from home and Nickname De Jour when connected from the server.
jkramer What about Buf? Is it .elems there?
unmatched} Easy to find out :) 16:02
jkramer m: Buf.new(''.encode).elems
camelia ( no output )
jkramer m: Buf.new(''.encode).elems.say
camelia rakudo-moar 5dd91d: OUTPUT«0␤»
jkramer Meh, it's confusing. Aren't Str and Buf both basically lists of bytes/characters? 16:03
unmatched} Perl 6 is not C :) Str are not lists :)
jkramer But Str could just have a method .elems that does what .chars does to stop me from producing bugs :) 16:04
timotimo why would .elems favor .chars over .codes? 16:05
unmatched} jkramer: and what would m: "a\x[301]".elems return?
m: use MONKEY-TYPING; augment class Str {method elems {self.chars}}; say "".elems 16:07
camelia rakudo-moar 5dd91d: OUTPUT«0␤»
perlpilot Maybe Str should have a multi for .elems that gives a helpful message?
unmatched} Then why have a degenerate case of .elems on a value assuming it's a 1-item list? 16:08
dalek c: fb947c0 | Altai-man++ | doc/ (87 files):
Remove extra identation for a great number of code examples due to :skip-test option
16:09
16:10 cyphase left, mcmillhj left, lambd0x joined
lambd0x Hi everyone! 16:10
unmatched} Hi, Dr. Nick!
lambd0x unmatched}: hahaha 16:11
unmatched}: I have a doubt...what would be the best way to read from a file and store in an array a part of it and then the rest in another array? 16:12
unmatched} TIL "
TIL "labial spreading" doesn't mean what I thought it meant....
i.imgur.com/wE2ESFw.png :) 16:13
perlpilot lambd0x: the way that does what you want would be best :) 16:14
unmatched} lambd0x: what's a "part of it"?
perlpilot lambd0x: How do you know where to delineate the arrays in the file?
lambd0x yes fellas
nemo lambd0x: google image search does not agree with your definition
perlpilot lambd0x: is it by line? first N lines in @a, rest in @b ?
nemo er
unmatched}:
16:15 cyphase joined
unmatched} nemo: I rather not google image search that... lol 16:15
lambd0x I have a file saved as follows: amount to read(integer) to be read (series of integers) x2
huf well okay, but what is it? 16:16
labial spreading i mean
how does it sound?
lambd0x I wanted to fill in two bidimensional matrixes of order n (controls the amount to be read) and its contents
zacts hi perl6 nerds
lambd0x zacts: hello o/
unmatched} huf: I think the sound is called "unf" :P 16:17
huf: "Phonetics. involving lip articulation, as p, v, m, w, or a rounded vowel."
zacts hi :-)
huf unmatched}: that isnt enough for me to imagine it 16:18
16:18 khw joined
lambd0x nemo: I've not being able to solve it finding it there 16:18
unmatched} huf: I guess saying "wow" inlvoves lots of labial spreading... not that I'm an expert on it or anything :P 16:19
nemo lambd0x: heh. wrong name sorry ☺
lambd0x nemo: hahaha
nemo: no mention on it :P 16:20
16:20 pduh joined
unmatched} lambd0x: this probably docs.perl6.org/type/IO$COLON$COLON...ethod_getc 16:20
lambd0x perlpilot: yes it's stored by lines in a file.
unmatched} lambd0x: oh, by lines.. Then just loop over .lines
lambd0x unmatched}: yes but it considers new line as a char and doesn't work as I want 16:21
perlpilot lambd0x: huh?
unmatched} lambd0x: well, I've still no idea what you're trying to do. So... I give up
16:22 rindolf joined
lambd0x ok. I want to read lines from a file up to some point while saving it to a bidimensional array and then repeating the process for the other part of the file 16:22
16:24 pduh left
perlpilot lambd0x: how about we start with this: my $n = get; #`{ the number of element is the first line }; my @a = lines[^$n]; my @b = lines; 16:25
lambd0x: does that help?
16:25 pduh joined
perlpilot lambd0x: or since you keep saying "bidimensional array", maybe you want something like my @a[$n/2;$n/2]; |@a = lines[^$n]; # ?? 16:26
16:26 dakkar left
perlpilot I dunno 16:26
lambd0x hahaha
perlpilot that's a curious response 16:27
lambd0x perlpilot: You see I want to multiply two matrixes. They're in a file generated by another code of mine.
perlpilot: first number is the order of matrix 1. then its contents it should read up to order lines storing it 16:28
but just storing lines wasn't working because then I couldn't get their index for each element and multiply it with the following line of the second matrix 16:29
16:30 mcmillhj joined 16:32 wamba left, pduh_ joined 16:33 pduh_ left, ParsonsNose joined, cyphase left 16:35 pduh left
timotimo lambd0x: if you don't want the newline, you can either put :chomp in the .new or .open for the file, or you just .chomp after grabbing the lines 16:36
ParsonsNose m: say (123 ~~ m/\d+/).Bool; say 123 ~~ any(m/\d+/, m/^2/) ; say 123 ~~ one(m/\d+/, m/^2/) ; say 123 ~~ none(m/\d+/, m/^2/); 16:38
camelia rakudo-moar 5dd91d: OUTPUT«True␤False␤False␤True␤»
ParsonsNose This isn't what I expected....
sena_kun m: DateTime.new;
camelia rakudo-moar 5dd91d: OUTPUT«Cannot make a DateTime object using .new␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
sena_kun Wow.
lambd0x timotimo: thanks :) 16:39
16:39 cyphase joined
unmatched} m: DateTime.now 16:39
camelia ( no output )
sena_kun Ah, it's just me.
unmatched} sena_kun: no, I think that's LTA
ParsonsNose m: say 213 ~~ all(/\d+/, /^2/);
camelia rakudo-moar 5dd91d: OUTPUT«True␤»
unmatched} m: DateTime.new: '2016-06-07T22:22:22Z' 16:40
camelia ( no output )
sena_kun unmatched}, perhaps it is.
perlpilot that is LTA
(not that you needed confirmation :) 16:41
unmatched} m: say Date.new
camelia rakudo-moar 5dd91d: OUTPUT«Cannot make a Date object using .new␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
unmatched} Same here
nine ParsonsNose: m// matches immediately. Think of it as m being the operator and the regex // the first argument
unmatched} bisectable6: say Date.new
bisectable6 unmatched}, On both starting points (good=2015.12 bad=5dd91d8) the exit code is 1 and the output is identical as well
unmatched}, Output on both points: Cannot make a Date object using .new␤ in block <unit> at /tmp/YRFvRMWtey line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/YRFvRMWtey line 1␤
ParsonsNose m: say 123 ~~ one(/\d+/,/^2/) 16:43
camelia rakudo-moar 5dd91d: OUTPUT«True␤»
ParsonsNose nine: gotcha, thanks
unmatched} sena_kun: wanna fix it? :) 16:44
16:45 ParsonsNose left
unmatched} sena_kun: the false case here should be improved, or maybe just toss the ternary and use the true case even for no args too (if the message looks sane): github.com/rakudo/rakudo/blob/nom/...ish.pm#L35 16:45
16:53 cdg joined 16:56 zacts left
unmatched} I want to add s: trigger to camelia that's normal m: but with CoreHackers::Sourcery loaded... 16:58
17:00 Sgeo_ joined, BuildTheRobots left 17:01 BuildTheRobots joined
tadzik awwaiid: I got psyched too, thanks a lot! 17:02
17:05 kaare_ left, kaare_ joined, cog_ joined 17:08 cognominal left 17:10 kaare_ left, unmatched} is now known as sourceable, sourceable is now known as Zoffix 17:11 Zoffix left, Zoffix joined, Zoffix is now known as sourceable, sourceable is now known as unmatched} 17:12 Nex6 joined 17:13 firstdayonthejob joined
Nex6 have question, just starting with Perl6; starting by write stuff. I am trying to use "run" to run "ping" 17:14
see: my $results = run 'ping', $line, '-c 1','-v', :out;
unmatched} Nex6: '-c 1', should be two items
Nex6 and the proc capture: my $cap = $results.out.slurp-rest;
unmatched}, ok 17:15
how can i test for failure?
unmatched} I guess it works both ways :S weird
Nex6 yea it works well, but now how can i test for a fail? 17:16
unmatched} fail of what?
Nex6 if i ping say 100 hosts i want to know which ones worked and which ones failed
ilmari udoes ping report that via the exit code? 17:17
Nex6 now, it is sending the shell output to a log file
unmatched} Nex6: that's one way, but there may be a more robust alternative: $results.out.slurp-rest ~~ /$<errors>=\d+ \s+ 'errors'/; say $<errors> && $<errors> > 0 ?? "This one is a fail" !! "not a fail" 17:18
The manpage says one can use the error code to determine whether the host is alive, but .exitcode gives 0 for me at all times 17:21
17:22 kaare_ joined
unmatched} Unless I don't subscribe to :out 17:22
Another bug looks like ~_~
Nex6 here is the output when i added your line:
------> ?? "This one is a fail" !! "not a fail"⏏<EOL>
expecting any of:
infix
infix stopper
postfix
statement end
statement modifier
statement modifier loop
unmatched} Well, it works in the eval above :D 17:23
17:24 zakharyas left
unmatched} Do you care if you get ping's output in the terminal? You can just use this: say run("ping", "10.10.10.10", "-c", "1", "-v").exitcode == 0 ?? "Good" !! "Fail!" 17:25
17:25 sno left
unmatched} Technically, you're supposed to be able to add :out and suppress the output, but for some reason then the .exitcode stops working 17:25
Nex6 no i am only using the shell output to see what its doing i want to run it as cron, and report bad hosts 17:26
nine unmatched}: you have to close :out before asking for the exit code
unmatched}: as long as .out is open, the process is still running and does not have any exit code
17:29 cyphase left
unmatched} Looks like I have to slurp-rest it too :S 17:29
Nex6: this works: given run "ping", "localhost", "-c", "1", "-v", :out { .out.slurp-rest; say .out.close.exitcode == 0 ?? "Good" !! "Fail" } 17:30
jdv79 why do we have slurp-rest again?
unmatched} again? 17:31
jdv79 the reasoning i mean. couldn't it just be slurp?
timotimo because slurp also closes the filehandle 17:32
whereas slurp-rest doesn't
perlpilot it's still one of those things that bothers me too.
(irrationally, but still)
jdv79 the docs don't mention closing
perlpilot "slurp" fits my brain well. "slurp-rest" feels icky (because most times where I *have* to use it, I want it to be called "slurp") 17:33
Nex6 yea, under proc it does say close it 17:34
thats doesn't say
17:34 cyphase joined
timotimo jdv79: well, you don't run slurp on a filehandle, right? 17:35
17:36 setty1 joined
jdv79 yeah, that's true. 17:39
i guess i can sorta seen the use for the odd name. still odd.
*see
timotimo yes, it's kinda odd 17:40
however, would you expect .slurp - given its name and how the other slurp works - to seek to the beginning of a file first?
jdv79 not me but i can see someone thinking that 17:41
a fh implies state
what's wrong with just more read() multis instead of slurp*? 17:42
i guess we favor more names for disinctness these days 17:43
17:47 Wiertek joined, edwinsage left 17:48 spider-mario joined 17:51 mcmillhj left 17:53 mcmillhj joined
Nex6 this is what works: 17:54
my $results = run 'ping', $line, '-c', '1', '-v', :out;
if $0 != 1 {
say "$line Failed to respond!!!!!!!"
};
in a for loop
unmatched} $0 ? :S 17:55
Nex6 Perl6 v= rakudo-star-2016.04
unmatched} m: say $0
camelia rakudo-moar 5dd91d: OUTPUT«Nil␤»
jdv79 isn't $0 just an alias for $/[0]? 17:56
unmatched} tis what I thought
Nex6 so is it not suppose to work?
jdv79 so that would "work" as long as it didn't not work.
haha
i think you want $!, no? 17:57
unmatched} Nex6: what made you use $0 in there?
Isn't that just for caught exceptions? 17:58
And anyway, based on nine++'s explanation, no variables would work there, because the process is still open
Nex6 the line you gave me didn't work, i remember the was a a symbol for return code, and looked it up. I used to do perl many many years ago now spent all my time in other languages i guessd
unmatched} Nex6: you're confusing Perl 6 with our sister language Perl 5. 17:59
jdv79 $0 in p5 is the prog name
Nex6 I think early perl 5/4 was an early language of mine
but have not used it since
unmatched} Right, Perl 6 is very different.
perlpilot very very VERY different :) 18:00
geekosaur $? is what you wanted. $! is errno
(per;5)
in perl6, you don't want either.
Nex6 hmmm , so don't use $0 in Perl6 what should I have used? 18:01
unmatched} The code I showed :)
What do you mean by "didn't work"?
18:02 mvorg left, harovali joined
Nex6 ok will play with it thanks, have to go 18:02
will be back later
geekosaur docs.perl6.org/type/Proc docs.perl6.org/routine/run
Nex6 I don't have the output screens but i have it commented
be back in about an hour 18:04
18:05 mcmillhj left 18:16 mcmillhj joined 18:19 prammer joined 18:21 mcmillhj left
unmatched} chuckles 18:25
A work order came in for a broken button on the website. I notice it's because the product code has a '+' in it and it isn't percent encoded. So I forward this to The Right People, saying their code is failing to percent-encode and that the + should end up as %2B in the URL... They just fixed it. I'm looking at the fix and it amounts to this line in about 30 places: $product-number.subst('+', '%2B') 18:26
Guess we'll wait until we get product numbers with > in them ^_^
18:27 alex___ joined
timotimo ;_; 18:28
18:29 titsuki_ left 18:31 mcmillhj joined
mspo at least they used a direct replce and not a regex 18:31
18:34 heatsink left 18:36 mcmillhj left
timotimo but it's cool they're writing perl6 code 18:36
(no other explanation for $product-number having a dash in it) 18:37
geekosaur "it amounts to this line" --- I took that as meaning they translated to p6 :) 18:38
unmatched} Yeah, I translated to Perl 6. Original is an awful BASIC-based abomination that should not be powering any websites. 18:39
Xliff I echo (timo x 2) -- ;_; 18:40
18:40 zacts_pi joined
Xliff It's either that or repeated headdesks. 18:40
Or maybe both.
Xliff goes looking for the padded porta-desk
18:43 mcmillhj joined
timotimo left-pad your desk 18:43
geekosaur .oO { COBOLONCOGS.ORG }
timotimo <3 18:44
18:45 zacts_pi left 18:47 Possum left 18:48 labster joined 18:52 raiph joined
unmatched} O.o "===SORRY!=== STable conflict detected during deserialization." 19:00
tadzik it's okay, the conflict is stable 19:01
unmatched} Says "Probable attempt to load two modules that cannot be loaded together"... but all I'm loading is IRC::Client and CoreHackers::Sourceable :/ 19:02
19:03 grondilu left 19:05 sourceable joined, sourceable left
unmatched} Man, it's a curse. Whenever I try to write a Perl 6 program I actually need, I stumble on these annoyances of shit not working 19:07
wtf is a STable conflict and what modules can't be loaded together :/ 19:09
19:09 Actualeyes left
ugexe My guess would be something to do with the MONKEY-TYPING is exposing that bug 19:10
unmatched} hmmm
19:10 perlpilot left 19:19 prammer left
tailgate How does one filter an array like python's filter()? 19:22
timotimo i think filter is like grep
dalek c: e1fd532 | Altai-man++ | doc/Type/Date (3 files):
Make examples compile, add new examples, remove 'Usage' sections for Date-related types
19:23
19:25 prammer joined, darutoko- left 19:30 alex___ left
[Coke] m: (1..200).grep(*.is-prime).say 19:31
camelia rakudo-moar 5dd91d: OUTPUT«(2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199)␤»
[Coke] tailgate: ^^
Xliff m: (1..100).grep(* %% 4 == 0).say 19:32
camelia rakudo-moar 5dd91d: OUTPUT«(1 2 3 5 6 7 9 10 11 13 14 15 17 18 19 21 22 23 25 26 27 29 30 31 33 34 35 37 38 39 41 42 43 45 46 47 49 50 51 53 54 55 57 58 59 61 62 63 65 66 67 69 70 71 73 74 75 77 78 79 81 82 83 85 86 87 89 90 91 93 94 95 97 98 99)␤»
Xliff m: (1..100).grep(* % 4 == 0).say
camelia rakudo-moar 5dd91d: OUTPUT«(4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68 72 76 80 84 88 92 96 100)␤»
vcv m: (1..100).grep(* %% 4).say 19:33
camelia rakudo-moar 5dd91d: OUTPUT«(4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68 72 76 80 84 88 92 96 100)␤»
unmatched} Golfed. It's actually use of .^compose in mainline in precompiled modules.
m: BEGIN { use NativeCall; sub system (Str) is native {}; system q|echo 'Int.^compose' > /tmp/Foo.pm6; echo 'use Foo;' > /tmp/Bar.pm6|}; use lib '/tmp'; use Bar
camelia rakudo-moar 5dd91d: OUTPUT«===SORRY!===␤STable conflict detected during deserialization.␤(Probable attempt to load two modules that cannot be loaded together).␤»
19:33 zakharyas joined
[Coke] how did your system call sneak in there. 19:34
thought that would be prohibited.
unmatched} Unfortunately no.
I think there's a way to run code via nqp too
Xliff Yikes
geekosaur no, allowing NativeCall basically means all the safeties are off
[Coke] oh, wrong system. 19:35
nevermind
unmatched} m: use nqp; nqp::shell('echo "hello"', '', {}) 19:37
camelia rakudo-moar 5dd91d: OUTPUT«===SORRY!===␤Arg count 3 doesn't equal required operand count 8 for op 'shell'␤»
unmatched} 8? :S
[Coke] weird, docs say 1 or 3 19:39
but perhaps don't do that in the public channel. :P
unmatched} O:) 19:40
19:45 itaipu left 19:46 jonas2 left 19:47 zacts joined 19:51 kaare_ left 19:53 TEttinger joined 19:56 sno joined 20:03 brrt joined 20:06 sufrostico left 20:08 sufrostico joined
lucs What does "[CONC]" (and other such prefixes) mean in an RT ticket? 20:14
lizmat the likely type of issue, CONC indicating a concurrency issue 20:15
lucs Ah, I see.
lizmat @LARRY indicating an issue that the core people need to decide on 20:16
etc.
lucs Are the prefixes listed somewhere?
(just curious)
lizmat not that I know, [Coke] might have a list somewhere
lucs Okay, thanks. 20:17
20:19 sufrostico left
CIAvash New errors in Rust blog.rust-lang.org/2016/08/10/Shap...-come.html 20:20
AlexDaniel buggable: help
buggable AlexDaniel, rt | rt TAG
AlexDaniel buggable: rt
buggable AlexDaniel, TOTAL: 1390, UNTAGGED: 600, BUG: 425, LTA: 98, JVM: 62, NYI: 35, SEGV: 30, RFC: 28, UNI: 26, CONC: 24, PERF: 20, POD: 14, @LARRY: 14, PRECOMP: 9, TODO: 9, GLR: 6, BUILD: 5, STAR: 4, NATIVECALL: 4, WEIRD: 3, BOOTSTRAP: 3, MOARVM: 2, OSX: 2, LHF: 1, SPESH: 1, DOCS: 1, MATH: 1 Details: bug.perl6.party/1470860458.html
AlexDaniel buggable: rt WEIRD 20:21
buggable AlexDaniel, Found no tickets with tag WEIRD
lucs AlexDaniel: Nice :)
AlexDaniel buggable: what?
buggable: rt weird 20:22
buggable AlexDaniel, Found no tickets with tag WEIRD
AlexDaniel buggable: rt LHF
buggable AlexDaniel, Found no tickets with tag LHF
AlexDaniel unmatched}: I don't get it ↑
20:22 brrt left 20:30 Wiertek left, cdg left 20:34 cdg_ joined 20:35 AlexDaniel left, sufrostico joined, hoelzro joined
TEttinger buggable: rt JVM 20:35
buggable TEttinger, Found 58 tickets tagged with JVM. Details: bug.perl6.party/1470861352.html
TEttinger oh, 4 less
buggable: rt BUILD 20:36
buggable TEttinger, Found 3 tickets tagged with BUILD. Details: bug.perl6.party/1470861368.html
TEttinger buggable: rt WEIRD
buggable TEttinger, Found no tickets with tag WEIRD
TEttinger buggable: rt MATH
buggable TEttinger, Found 1 ticket tagged with MATH. Details: bug.perl6.party/1470861404.html
TEttinger whu huh
geekosaur buggable, rt NATIVECALL 20:39
buggable geekosaur, Found 4 tickets tagged with NATIVECALL. Details: bug.perl6.party/1470861546.html
geekosaur buggable, rt STAR
buggable geekosaur, Found 2 tickets tagged with STAR. Details: bug.perl6.party/1470861574.html
20:39 zacts left
geekosaur o.O 20:39
buggable appears to have a math problem
20:40 wamba joined
geekosaur the summary said it had 4 tagged STAR 20:40
20:46 mvorg joined
Xliff buggable: rt NATIVECALL 20:46
buggable Xliff, Found 4 tickets tagged with NATIVECALL. Details: bug.perl6.party/1470862009.html
20:47 eam left, eam joined 20:49 sufrostico left
unmatched} pets buggable 20:54
You poor robot.
20:54 rindolf left
unmatched} o.O weechat switches window on slide. Impressive 20:56
Xliff weechat? 20:58
[Coke] bunch of the ticket [TAG]s are listed in rakudo's README 21:01
hoelzro buggable: rt untagged
buggable hoelzro, Found 600 untagged tickets. Details: bug.perl6.party/1470862899.html
unmatched} yeah, weechat. Like irssi, except with wee :p
hoelzro all of the new bots here are so nice 21:02
Xliff unmatched}, and here I thought you were talking about "wii"! Pardon my confusion! ;)
21:02 skids left
unmatched} :) 21:02
Xliff searches for the wee.
[Coke] untagged still showing tagged tickets, btw. 21:03
hoelzro =/
21:10 mohae_ joined
unmatched} Yeah, I've not done anything to buggable after I decided to build an RT website she will interface with, so all the bugs are still there :) 21:12
21:12 mohae left 21:13 mcmillhj left 21:15 zakharyas left
timotimo medium.com/friendship-dot-js/i-pee....ru0qswrr5 <3 21:16
unmatched} "Imagine if the apple you were eating for breakfast had 291 ingredients, or if the car you drove to work had 291 parts. You’d be worried, wouldn’t you?".... umm, I'm pretty sure they both do have more than that :/ 21:17
hoelzro haha 21:18
timotimo If the entire recorded history of humanity could fit in a single megabyte, then Babel alone would consist of SEVENTEEN times the entire recorded history of humanity. Just so that we can avoid writing JavaScript. 21:20
unmatched} ROFL "Glimmer brings in the entirety of Encyclopedia Brittanica, just to display the definition for the word “glimmer” in its help menu." 21:21
Wow, that's so bad
21:23 harmil_wk joined
gfldex so basically, folk who earn money via marketing are shit at making a sane ecosystem 21:24
hoelzro that exports.guy part was hilarious 21:25
that was about when I figured out it was satire =/
harmil_wk I was wondering, how do I get examples added to the examples.perl6.org/categories/parsers.html area? 21:26
That string parser I posted to reddit would be useful there, I think.
gfldex harmil_wk: fork, clone, edit, push, click PR 21:27
21:27 cdg_ left, Ben_Goldberg left
timotimo hoelzro: are you sure it's satire? 21:28
because the exports.guy thing is definitely in there
github.com/babel/babel/blob/f36d07...ode.js#L33
hoelzro wat 21:30
did they add that because of the post?
timotimo yes 21:31
github.com/babel/babel/pull/3641
El_Che is there something out there to easily count line of codes to check how many of them have been ported (e.g. comparing the "done" classes with the "still-to-be-ported"? 21:32
or put it differently, has someone seen that kind of badge on github?
hoelzro ... 21:33
that's just...so silly of the babel devs
oh well, it's not my project
¯\_(ツ)_/¯ 21:34
El_Che: what do you mean by ported lines?
El_Che hoelzro: let's say the original (perl5) project has 40 classes, and I already ported 3 to perl 6. So the port is 3/40 on the way 21:35
21:35 mcmillhj joined
El_Che I wonder if there is something more finegrained like line of codes 21:35
hoelzro ah, I see
El_Che it's easily silly to do
but I wonder if there are github badges out there 21:36
hoelzro El_Che: my silly comment was regarding //github.com/babel/babel/pull/3641
Xliff HAHAHAHA! ROFLMAO!
hoelzro El_Che: my silly comment was regarding github.com/babel/babel/pull/3641
Xliff That post is awesome.
El_Che hoelzro: yeah, I got that :) 21:37
hoelzro ok =)
Xliff And yes... its got to be satire.
El_Che nice to clarify though :)
Xliff Please tell me it is satire.
unmatched} :)
Xliff reaches for the padded desk.... Just In Case.
unmatched} It is
21:39 Ben_Goldberg joined
Xliff finally understands the exports.guy references. 21:39
But seriously..... Fieri? That hack?
Couldn't they have found a better guy?
=)
21:40 mcmillhj left
Xliff "Conclusino" <- The final nail 21:40
pmurias The babel folks actually putting a "Guy Fieri" picture in the source doesn't make a very good impression about their project :/ 21:42
Xliff pmurias, I gno write!!!
Didn't I just say that?
hoelzro pmurias: yeah =/ 21:43
profan it was spawned by a certain blogpost i believe, that was poking fun at dependency hell in js land
hoelzro profan: do you know which?
profan moment, lol
hoelzro I was curious to see if it was just for fun, or if there was some underlying point
Xliff Yeah. I gotta read that one.
Well, dependency hell is universal.
profan medium.com/friendship-dot-js/i-pee....z4l2qfhpk
it's a bit on both sides of the fence, but i believe it came from there :p 21:44
Xliff profan: Er. That's the post we are talking about.
21:44 cdg joined, Ben_Goldberg left
profan oh, woops 21:44
unmatched} pmurias: it's satire. There's no picture :)
Xliff profan: It's cool! =) 21:45
pmurias unmatched}: there is one
21:45 mcmillhj joined
pmurias unmatched}: they actually added an ascii art picture after the article 21:45
21:45 cdg left 21:46 bjz left
unmatched} pmurias: temporarily... It was removed :) 21:46
It's not like we don't have easter eggs in Perl 6 :)
m: say WHY 'Life, the Universe, and Everything':
camelia rakudo-moar c322e1: OUTPUT«42␤»
pmurias unmatched}: what easter eggs do we have?
21:46 bjz joined
unmatched} points up 21:47
Xliff unmatched}, Yes. And that is orders of magnitude LESS, and just as funny.
P6 coders do it efficiently. =) 21:48
21:48 wamba left, ponbiki left 21:49 Ben_Goldberg joined 21:50 mcmillhj left, ponbiki joined
pmurias Xliff: the guy is still in babel master HEAD 21:50
21:50 ponbiki is now known as Guest28790
Xliff Yeah, but it's ASCII art. 21:51
I'm all for putting gags in dev-code. Just not PRODUCTION.
unmatched} Oh yeah, they brought him back... 21:52
m: gist.github.com/zoffixznet/9d7e005...334b9c2755 21:53
camelia rakudo-moar c322e1: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unsupported use of @+ variable; in Perl 6 please use .to method␤at <tmp>:113␤------> 3" `##@+7⏏5;;;;;;::::;::,,;+::::;;'++''+++'';;;;;;;␤»
unmatched} eh :)
geekosaur just need an appropriate slang :p 21:54
21:55 mcmillhj joined 21:57 eyck left 21:58 eyck joined 21:59 cdg joined, setty1 left, mcmillhj left 22:04 stmuk_ joined 22:05 mcmillhj joined, stmuk left 22:09 CIAvash left 22:10 mcmillhj left 22:14 prammer left 22:15 Guest28790 is now known as ponpon 22:22 mcmillhj joined, firstdayonthejob left, RabidGravy left
japhb .tell lizmat Thanks for merging (and fixing) the perl6-bench fix! 22:24
yoleaux japhb: I'll pass your message to lizmat.
22:26 mcmillhj left
unmatched} waaat "Cannot resolve caller slurp-rest(IO::Pipe: ); none of these signatures match:" 22:35
22:35 bjz left
literal m: say $*ARGFILES.words 22:38
camelia rakudo-moar c322e1: OUTPUT«read string requires an object with REPR MVMOSHandle␤ in block <unit> at <tmp> line 1␤␤»
literal ^-- bug?
gfldex it's IO so it may be the restricted settings of camelia 22:39
literal I get this in my program, while $*ARGFILES.lines works fine
m: say $*ARGFILES.lines
camelia rakudo-moar c322e1: OUTPUT«(Céad slán ag sléibhte maorga Chontae Dhún na nGall Agus dhá chéad slán ag an Eireagal ard ina stua os cionn caor is coll; Nuair a ghluais mise thart le Loch Dhún Lúich’ go ciúin sa ghleann ina luí I mo dhiaidh bhí gleanntáin ghlas’ Ghaoth…»
22:40 mcmillhj joined
gfldex perl6 -e 'say $*ARGFILES.words; CATCH { default { say .^name } }' 22:40
X::AdHoc
unmatched} How can I run a perl6 I built in a rakudo checkout? I'm getting this currently: gist.github.com/zoffixznet/28dfb21...062e5e9069 22:41
gfldex hard to decide if lines on $*ARGFILES should die or return the empty list 22:42
actually it should not die but return Failure
so bug it is
literal well, the issue I had was with .words when .lines actually works :)
22:43 pmurias left
unmatched} gawd I hate Perl 6 22:43
gfldex same is true for words
lines and words should behave the same 22:44
22:44 mcmillhj left
unmatched} apparently my `perl6` command calls some huge Perl 5 script. heh 22:44
22:47 mcmillhj joined
gfldex literal: IO::ArgFiles implements .lines but not .words 22:47
so it falls back to IO::Handle::words what requires an open filehandle 22:48
please rakudobug :)
m: with $*ARGFILES { dd .args, .filename }; 22:51
camelia rakudo-moar c322e1: OUTPUT«Array @ARGS = []␤Any␤»
gfldex m: say $*ARGFILES.eof
camelia rakudo-moar c322e1: OUTPUT«False␤»
22:53 mcmillhj left
gfldex that may be the culprit 22:53
22:55 mcmillhj joined
geekosaur unmatched}, that sounds like what you hate is rakudobrew? 22:57
23:01 mcmillhj left 23:02 spider-mario left
unmatched} geekosaur: no, Perl 6 in general. I started this tiny ass program 4 hours ago. It should've taken 20 minutes to finish. I first wasted time with that .^compose in mainline bug, then this "no candidate" thing that appears to happen when the Proc fails (because that makes a lot of sense somehow?), then zef not seeing the latest and greatest module release, and now... after I finally managed to run the perl6 I 23:03
want to run, it's complaining about a missing module because that perl6 apparently doesn't know where the modules are installed at.
unmatched} throws tables around then opens another beer
I just don't think I'm writing that much of an arcane code to be constantly bombarded with bugs, and quirks, and missing information. 23:04
And a lot of Perl 6 feels like a hack. I know some people poo-pooed Zeframs talk, but I do think he has a point about too many features and their interactions. 23:05
Even the .words/.lines issue above can be tagged with that
</rant>
( this talk I meant www.youtube.com/watch?v=fZZBYRT5Ghc ) 23:08
23:10 heatsink joined
timotimo maybe Proc doesn't initialize its out pipe (i.e. sets it as the Pipe type object) when the run can't work? 23:11
and then you get "can't call slurp-rest on an undefined object" with a message that doesn't tell you as much
23:12 mcmillhj joined
timotimo and you should be able to just ./perl6-m in a rakudo checkout, or find the relevant install/bin/perl6-m 23:12
unmatched} Yeah, the IO::Handle is a :U and I get the NoCandidate exception because all candidates are a :D gist.github.com/zoffixznet/93c1917...342712c570 23:13
timotimo and yeah, ArgFiles still sucks; nobody put enough care into it yet to make it finished
that's noticably LTA, then
m: IO::Pipe.slurp-rest() 23:14
camelia rakudo-moar c322e1: OUTPUT«IO::Pipe is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting line 1␤ in method FALLBACK at src/RESTRICTED.setting line 31␤ in any at gen/moar/m-Metamodel.nqp line 3090␤ in block <unit> at <tmp> line 1␤␤»
timotimo can't show it with camelia, though
23:16 Entonian joined
ugexe hmm, IO::Pipe.?slurp-rest() doesnt do what I hoped either 23:16
23:17 mcmillhj left
timotimo of course not, that only calls slurp-rest if it exists 23:19
and slurp-rest definitely does exists 23:20
m: say "hello".?what-method-is-this()
camelia rakudo-moar c322e1: OUTPUT«Nil␤»
timotimo m: say "hello".what-method-is-this()
camelia rakudo-moar c322e1: OUTPUT«Method 'what-method-is-this' not found for invocant of class 'Str'␤ in block <unit> at <tmp> line 1␤␤»
23:20 Entonian left
timotimo i'm going to bed, i'm super drained 23:20
unmatched}: i'd like to look closer at the code you use that has a .^compose in its mainline; feel free to gimme the link while i'm a sleep 23:21
23:21 canopus left
unmatched} timotimo: I RTed that one: rt.perl.org/Ticket/Display.html?id=128891 23:21
And it's from my CoreHackers::Sourcery (in earlier commits; I now moved the .^compose to sub EXPORT) 23:22
timotimo having it in sub EXPORT seems like a better idea, but probably doesn't fix it
i'd say put a "no precompilation" in front
oh, jnthn already pointed that out in the rt 23:23
ok, bedtime now!
o/
unmatched} night
Hotkeys m: my @foo = [[1,2,3]]; say @foo
camelia rakudo-moar c322e1: OUTPUT«[1 2 3]␤»
Hotkeys why does this flatten
23:23 mcmillhj joined, harovali left
Hotkeys m: my @foo = [].push([1,2,3]); say @foo 23:23
camelia rakudo-moar c322e1: OUTPUT«[[1 2 3]]␤»
Hotkeys but this doesn't
specifically the first one, I like that the second doesn't 23:24
unmatched} m: my @foo = [[1,2,3],]; say @foo
camelia rakudo-moar c322e1: OUTPUT«[[1 2 3]]␤»
Hotkeys why is that required though
unmatched} no idea
Hotkeys shouldn't it assume if I add the extra brackets that I want them?
23:25 pierre_ joined 23:26 heatsink left 23:28 mcmillhj left 23:29 canopus joined 23:30 pierre_ left 23:33 mcmillhj joined, mcmillhj left
gfldex m: my @a = Array.new([1,2,3]); dd @a; 23:33
camelia rakudo-moar c322e1: OUTPUT«Array @a = [1, 2, 3]␤»
23:33 mcmillhj joined, mcmillhj left
gfldex [[]] is a copy constructor call 23:33
m: my @foo = $[[1,2,3]]; say @foo 23:34
camelia rakudo-moar c322e1: OUTPUT«[[1 2 3]]␤»
23:36 tardisx joined 23:39 mcmillhj joined 23:40 mcmillhj_ joined 23:44 mcmillhj left, skids joined 23:47 tardisx left 23:48 sourceable joined, sourceable left, SourceBaby joined 23:50 SourceBaby left 23:51 SourceBaby joined
unmatched} s: 42, "base" 23:51
SourceBaby unmatched}, Sauce is at github.com/rakudo/rakudo/blob/c322...Int.pm#L62
unmatched} s: 42, "base", \(16)
SourceBaby unmatched}, Sauce is at github.com/rakudo/rakudo/blob/c322...Int.pm#L63
unmatched} s: DateTime, "new", \()
SourceBaby unmatched}, Sauce is at github.com/rakudo/rakudo/blob/c322...ish.pm#L34
unmatched} \o/
23:53 mcmillhj joined, mcmillhj_ left 23:54 aries_liuxueyang left, cdg left 23:55 Khisanth left 23:57 mcmillhj left, cpage joined