»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:05 ajr_ left, rurban left 00:07 SevenWolf joined 00:13 aindilis joined 00:28 virtualsue left 00:29 xenoterracide joined 00:36 xenoterracide left 00:41 rindolf left 00:46 rurban joined 00:49 rurban left 01:00 martinzaremba joined
colomon Just wrote if 5 { … } when I meant if $code.key eq "5" { … } 01:23
I blame given / when 01:24
01:27 jack_rabbit joined 01:28 FROGGS_ joined 01:31 Sqirrel left 01:32 FROGGS left 01:36 Su-Shee_ joined 01:39 Su-Shee left 01:45 hoverboard left 01:50 rurban joined 01:51 klapperl joined 01:52 martinzaremba left 01:54 klapperl_ left 01:55 rurban left 02:03 pdcawley left 02:05 rurban joined, pdcawley joined 02:09 rurban left
colomon just used a p6 script to read a triangle mesh out of an AutoCAD DXF file and write it out as an STL file. 02:09
02:19 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 02:29 BenGoldberg left 02:34 BenGoldberg joined 02:37 xragnar_ joined, xragnar is now known as Guest56194, Guest56194 left, xragnar_ is now known as xragnar 03:06 rurban joined, molaf joined 03:25 Alula left 03:30 anaeem1_ joined, rurban left 03:31 anaeem1_ left, Pleiades` left 03:33 Sqirrel joined 03:36 Alula joined 03:44 Pleiades` joined 03:47 rurban joined 03:50 Pleiades` left 03:56 Pleiades` joined 04:00 kaare_ joined 04:02 BenGoldberg left 04:03 Alula left, Alula joined 04:04 pdcawley left 04:07 hoverboard joined, pdcawley joined 04:08 SamuraiJack joined 04:11 anaeem1_ joined 04:35 cognominal left 04:36 cognominal joined 04:38 kaare_ left
TimToady m: for [1,2],[3,4] -> $a { say $a.perl } 04:46
camelia rakudo-moar 57555c: OUTPUT«[1, 2]␤[3, 4]␤»
TimToady m: for [1,2],[3,4] -> $a [$x,$y] { say $a.perl }
camelia rakudo-moar 57555c: OUTPUT«Array.new(1, 2)␤Array.new(3, 4)␤»
TimToady rakudobug, loses itemization of $a 04:47
m: for [1,2],[3,4] -> \a [$x,$y] { say a.perl } 04:48
camelia rakudo-moar 57555c: OUTPUT«[1, 2]␤[3, 4]␤»
TimToady oddly, that works
05:10 kaare_ joined 05:11 jack_rabbit left
FROGGS_ m: temp $*EXECUTABLE = "$*EXECUTABLE -MFoo" 05:11
camelia rakudo-moar 57555c: OUTPUT«Can only use 'temp' on a container␤ in sub prefix:<temp> at src/gen/m-CORE.setting:17266␤ in block at /tmp/MhEiV5a9SI:1␤␤»
FROGGS_ .tell lizmat I need that to work for panda/eleven, and your last commit broke it: temp $*EXECUTABLE = "$*EXECUTABLE -MFoo"; shell(...) 05:13
yoleaux FROGGS_: I'll pass your message to lizmat.
FROGGS_ .tell lizmat in general, why do you make things immutable at all? 05:18
yoleaux FROGGS_: I'll pass your message to lizmat.
FROGGS_ bbl & 05:19
05:19 FROGGS_ left 05:25 rurban left 05:28 jack_rabbit joined 05:36 xinming_ joined 05:39 xinming left 05:56 rurban joined 06:00 rurban left 06:02 baest_ is now known as baest 06:19 bjz joined, bjz_ left 06:22 darutoko joined 06:29 bjz_ joined 06:30 bjz left, thou joined
sergot morning o/ 06:32
06:35 bjz_ left, thou left
TimToady .tell FROGGS I'm inclined to side with lizmat++ on this one; why would it ever make sense to violate the contract of an IO::Path by appending switches and turning it into a string? You need your own $*HOWTOINVOKE command or some such. 06:35
yoleaux TimToady: I'll pass your message to FROGGS.
06:38 denis_boyun_ joined 06:43 hoverboard left 06:48 bjz joined 06:52 FROGGS joined
FROGGS o/ 06:53
yoleaux 06:35Z <TimToady> FROGGS: I'm inclined to side with lizmat++ on this one; why would it ever make sense to violate the contract of an IO::Path by appending switches and turning it into a string? You need your own $*HOWTOINVOKE command or some such.
06:53 araujo left 06:57 rurban joined 07:00 oetiker left 07:01 rurban left 07:16 felher_ is now known as felher 07:17 rindolf joined
masak morning, #perl6 07:22
sergot masaku \o/
FROGGS \o/
FROGGS TimToady: okay 07:23
.tell lizmat nvm :o)
yoleaux FROGGS: I'll pass your message to lizmat.
masak sergocie! \o/ 07:30
07:32 zakharyas joined 07:33 Su-Shee_ is now known as Su-Shee 07:36 sqirrel_ joined
pdcawley lizmat: it's been a while since I've seen me too. 07:41
moritz sends a mirror to pdcawley 07:43
pdcawley yikes! 07:44
Shit! Is that what I look like?
timotimo yelwacdp ← this is what you look like, i'm afraid. 07:45
07:47 pippo joined 07:48 salv0 left, salv0 joined 07:49 martinzaremba joined 07:50 martinzaremba left 07:52 kaleem joined 07:54 martinzaremba joined, martinzaremba left 07:56 martinzaremba joined 07:58 rurban joined 08:02 rurban left 08:09 martinzaremba left 08:10 martinzaremba joined 08:12 dmol joined 08:13 martinzaremba left 08:15 spider-mario joined 08:17 pdcawley left, pdcawley_ joined 08:18 thou joined 08:23 thou left 08:27 ren1us joined 08:43 fhelmberger joined 08:52 dakkar joined 08:53 sqirrel_ left 08:56 denis_boyun_ left 08:58 rurban joined 09:03 rurban left 09:09 oetiker joined 09:14 SevenWolf left, pecastro joined 09:17 eternaleye left 09:22 eternaleye joined 09:23 sqirrel_ joined
masak it's a pity that en.wikipedia.org/wiki/Composition_...#Drawbacks doesn't even acknowledge the existence of 'handles'. 09:37
FROGGS masak: that page is editable :o) 09:38
09:47 Psyche^ joined 09:51 Psyche^_ left 09:59 rurban joined 10:01 rurban1 joined 10:03 rurban left 10:05 rurban1 left 10:07 thou joined, kaare__ joined 10:08 kaare_ left 10:09 denis_boyun joined 10:12 thou left
ren1us There seem to be a whole bunch of classes that look really really useful, but aren't documented anywhere. Or maybe I'm just the worst Hide & Seek player ever. 10:17
Example: IO::Socket::INET is shown in the graph image for IO, but I can't find any sort of documentation to even confirm that it exists. 10:18
Can anyone sorta point me in the right direction? 10:19
Timbus S:IO::INET has no docs, as far as i know 10:23
its based on the perl5 version
10:26 sqirrel_ left 10:27 kaare__ is now known as kaare_
masak FROGGS: editing it now. 10:38
10:41 donaldh joined 10:42 erkan joined
FROGGS ren1us: are you interesting in writing the documentation for it? 10:44
ren1us I'd love to, if I knew where to look to figure it out.
moritz ren1us: doc.perl6.org doesn't claim to be comprehensive; so far IO::Socket::INET is documented in the specs 10:45
timotimo at the very worst, you can look at the source code, in rakudo/rakudo src/core/IO/...
moritz perlcabal.org/syn/S32/IO.html#IO%3A...%3A%3AINET
it's under the "Here Be Dragons" headline, so probably not very reliable, but better than nothing 10:46
timotimo aye.
ren1us Well this is going to be an adventure.
timotimo the state of socket speccing, testing and doccing is a bit shameful
FROGGS yeah :/
timotimo sadly, i have only very limited experience with sockets in general 10:47
donaldh I have async socket testing on my todo list :-)
timotimo ... do we even have all the unconnected UDP stuff implemented?
FROGGS donaldh++ # :o)
timotimo and/or specced ... 10:50
donaldh IO::Socket::INET is somewhat specced and somewhat implemented :-/ 10:51
donaldh thinks IO::Socket and IO::Handle could be merged somewhat 10:52
timotimo isn't the handle a role or superclass? 10:54
donaldh but IO::Handle has lots of file specifics
timotimo oh
moritz timotimo: iirc we have no UDP whatsoever 10:59
ren1us: two hints: first, ask here if stuff is unclear
timotimo well, who still uses UDP nowadays anyway? :)
donaldh I am gradually working on factoring out the bakend specifics from IO.pm before considering some possible refactorings. 11:00
moritz ren1us: second, doc.perl6.org trys to document stuff that actually works right now, so if in doubt, rather stick with how rakudo does it, not with what the specs say
(this applies at least to areas where the specs are as vague as sockets)
ren1us I'm actually not sure what Rakudo thinks it's doing, at present. 11:01
Let's see if I can do this right
m: IO::Socket::INET.new(:host('www.whatismyip.com'), :port(80));
camelia rakudo-moar 57555c: OUTPUT«Failed to resolve host name␤ in method initialize at src/gen/m-CORE.setting:19957␤ in method new at src/gen/m-CORE.setting:19941␤ in block at /tmp/3v_oDdr3nC:1␤␤»
ren1us That's interesting.
When I run it in Rakudo, I get this: getaddrinfo failed: http: Success
11:02 rurban joined
moritz ren1us: it's not a valid hostname 11:02
ren1us: with http:// schema and all
ren1us And that's why I should just turn off my computer after 4 am. 11:03
moritz ren1us: also, IO on camelia is somewhat limited (due to security considerations)
donaldh ren1us: have a look at t/spec/S32-io/IO-Socket-INET.t for examples
github.com/perl6/roast/blob/master...ket-INET.t 11:04
11:05 donaldh left, donaldh joined
timotimo i do have to say, the IO refactoring work is a step in the right direction 11:05
11:06 rurban left 11:07 pippo left 11:17 kurahaupo joined
FROGGS m: IO::Socket::INET.new(:host('www.whatismyip.com'), :port(80)); 11:18
camelia ( no output )
FROGGS m: say IO::Socket::INET.new(:host('www.whatismyip.com'), :port(80)).get; 11:19
timotimo you need to send an actual get request first
camelia rakudo-moar 57555c: OUTPUT«(timeout)»
FROGGS ahh, of course :o)
timotimo what is your name?
what is your request?
what is your favourite HTTP version? 11:20
FROGGS m: my $s = IO::Socket::INET.new(:host('www.whatismyip.com'), :port(80)); $s.send("GET h/ HTTP/1.1\nHost: www.whatismyip.com\nAccept: */*\nConnection: Close\n\n"); say $s.get
camelia rakudo-moar 57555c: OUTPUT«HTTP/1.1 400 Bad Request
FROGGS m: my $s = IO::Socket::INET.new(:host('www.whatismyip.com'), :port(80)); $s.send("GET / HTTP/1.1\nHost: www.whatismyip.com\nAccept: */*\nConnection: Close\n\n"); say $s.get
camelia rakudo-moar 57555c: OUTPUT«HTTP/1.1 403 Forbidden
FROGGS m: my $s = IO::Socket::INET.new(:host<www.cpan.org>, :port(80)); $s.send("GET www.cpan.org/MIRRORED.BY HTTP/1.1\nHost: www.cpan.org\nAccept: */*\nConnection: Close\n\n"); say $s.lines 11:21
camelia rakudo-moar 57555c: OUTPUT«HTTP/1.1 200 OK
timotimo well, that can't be all of it
moritz there's no closing » in that camelia output 11:22
which means something is fishy
sergot m: use HTTP::Request; 11:27
camelia rakudo-moar 57555c: OUTPUT«===SORRY!===␤Could not find HTTP::Request in any of: /home/p6eval/.perl6/2014.05-127-g57555c8/lib, /home/p6eval/rakudo-inst-2/languages/perl6/lib, /home/p6eval/rakudo-inst-2/languages/perl6/vendor/lib, /home/p6eval/rakudo-inst-2/languages/perl6/site/lib,…»
sergot m: sub a { return ''; }; say a().defined; 11:28
FROGGS star: use HTTP::Request;
camelia rakudo-moar 57555c: OUTPUT«True␤»
star-m 2014.04: OUTPUT«===SORRY!===␤Could not find HTTP::Request in any of: /home/p6eval/.perl6/2014.04/lib, /home/p6eval/star-2014.04/languages/perl6/site/lib, /home/p6eval/star-2014.04/languages/perl6/vendor/lib, /home/p6eval/star-2014.04/languages/perl6/lib␤»
..star-p 2014.04: OUTPUT«===SORRY!===␤Could not find HTTP::Request in any of: /home/p6eval/.perl6/2014.04/lib, /home/p6eval/star-2014.04/lib/parrot/6.1.0/languages/perl6/site/lib, /home/p6eval/star-2014.04/lib/parrot/6.1.0/languages/perl6/vendor/lib, /home/p6eval/star-2014.04/lib/pa…»
sergot m: sub a { return Any; }; say a().defined;
camelia rakudo-moar 57555c: OUTPUT«False␤»
sergot $ perl6 -e '' 11:29
use of uninitialized value of type Any in numeric context
Do you have the same?
on latest moar,nqp and rakudo 11:30
It's always when running any script.
moritz it means "bug" 11:33
sergot :) 11:35
lizmat timotimo: "[12:59:59] <timotimo> well, who still uses UDP nowadays anyway? :)"
yoleaux 05:13Z <FROGGS_> lizmat: I need that to work for panda/eleven, and your last commit broke it: temp $*EXECUTABLE = "$*EXECUTABLE -MFoo"; shell(...)
05:18Z <FROGGS_> lizmat: in general, why do you make things immutable at all?
07:23Z <FROGGS> lizmat: nvm :o)
lizmat at former $work, UDP is used to log a *lot* of data in a way that will never ever interfere with the functioning of the web siite
timotimo aye, my statement wasn't serious 11:36
lizmat ah, ok :-)
masak FROGGS: en.wikipedia.org/w/index.php?title...=603010573
FROGGS masak++ 11:37
masak sergot: I don't have it, on Rakudo 90cd584.
sergot: rebuilding and trying again. 11:38
lizmat sergot: I'm not seeing that warning
FROGGS m: '' # do we see it here?
camelia ( no output )
masak FROGGS: note that that's a program with a string literal in it. 11:39
FROGGS: whereas sergot's program was just an empty program.
FROGGS ahh, true
masak .oO( the beauty and intricacy of nested quoting languages )
FROGGS sergot: I don't get that warning locally either
sergot masak: actually it doesn't matter if it's empty program or not, I got this errmsg anyway. :)
masak oh, ok. 11:40
lizmat sergot: what OS are you using ?
timotimo sergot: how can the format for cookies work; are cookies limited to never contain = or ;?
sergot I'm on Ubuntu now, 12.04 (k 3.12) iirc
Yea, this OS is managed by my company using puppet so... afaik it's 12.04 11:41
I got this errmsg during make install: 11:43
./perl6-m --target=mbc --output=lib/Test.moarvm lib/Test.pm
use of uninitialized value of type Any in numeric context
use of uninitialized value of type Any in string context
use of uninitialized value of type Any in numeric context
use of uninitialized value of type Any in string context
and that's not the only one case
timotimo doesn't help that we don't get file/line number with warnings on moarvm
sergot always 2x numeric and 2x string
lizmat sergot: does the command "id" exist on your system, and if so, what does it output ? 11:45
sergot timotimo: about cookies: for now cookies can contain ; and = . There are some fields without =, like: HttpOnly, secure, etc.
timotimo how does the format cope? o_O
11:48 bjz_ joined
sergot timotimo: did you see my p6 Http::Cookies ? 11:49
It's not done yet. :)
timotimo that's what i looked at
lizmat found the reason for sergot's warnings
it was my last commit
oddly enough, this should only have happened if he'd be calling $*USER or $*GROUP 11:50
apparently something is, or I don't understand how Proxy.new works
11:51 bjz left
lizmat r: Proxy.new( FETCH => { say "fetching" } ) 11:52
camelia rakudo-jvm 57555c: OUTPUT«(timeout)»
..rakudo-{parrot,moar} 57555c: OUTPUT«fetching␤»
timotimo i *think* in PROCESS::<$USER> //= $on_demand_fetch, you are actually directly fetching 11:53
you may want to := that instead of //=
sergot timotimo: what's wrong with this module? :)
timotimo: cookies I meant 11:54
11:54 dmol left
timotimo if someone sets a cookie that has a not-nice character in its data, your format goes kablooey, no? 11:54
11:55 thou joined
lizmat timotimo: just creating a proxy seems to fetch already ? 11:55
sergot true
timotimo: good point 11:56
timotimo++: thanks :) 11:58
I should check if cookies can contain ; and = in name/values of fields. 11:59
12:00 thou left
ren1us Figuring out socket stuff is painful. I can never tell if the issues are on my end or because the servers are being weird. 12:00
m: my $s = IO::Socket::INET.new(:host('www.zephyrr.com'), :port(80)); $s.send("GET /dev/ip.php HTTP/1.1\nHost: zephyrr.com\nConnection: close\n\n"); $s.lines; 12:01
camelia ( no output )
ren1us m: my $s = IO::Socket::INET.new(:host('www.zephyrr.com'), :port(80)); $s.send("GET /dev/ip.php HTTP/1.1\nHost: zephyrr.com\nConnection: close\n\n"); say $s.lines; 12:02
camelia rakudo-moar 57555c: OUTPUT«HTTP/1.1 200 OK
FROGGS m: Proxy.new( FETCH => { say "fetching" } ); 1
camelia rakudo-moar 57555c: OUTPUT«fetching␤fetching␤»
12:02 rurban joined
jnthn That double fetching is no doubt 'cus the code-gen for sink is LTA... 12:03
That's high on my list of stuff too streamline for performance.
FROGGS that is only what you sink :P
dalek kudo/nom: f146fec | (Elizabeth Mattijsen)++ | src/core/Process.pm:
Revert "Implement $*USER and $*GROUP (not yet specced)"

There is something wrong with my understanding of how either Proxy.new works, or matching, or whatever, but if your user name / group contains non \w characters, you will get 4 warnings everytime you start up. And I don't have time to look at why exactly now.
12:04
12:04 skids left
lizmat I'll be offline most of today, tomorrow and Wednesday 12:05
hence the revert right now
FROGGS k
lizmat: have a good time :o)
lizmat that should work out fine: 1 emergenxy social, one Amsterdam PM meeting, one visit to an old friend
life is hard :-) 12:06
FROGGS hehe
lizmat commuting&
FROGGS o/
12:07 rurban left 12:13 nhayashi joined
ren1us Can someone point me towards the source for IO::Socket::INET? Trying to dissect something weird. 12:14
12:14 Pleiades` left
moritz src/core/IO/Socket/INET.pm 12:14
and it has methods from the role in src/core/IO/Socket.pm (iirc) 12:15
FROGGS like recv, yes 12:16
ren1us Do you have a link to the github project, or is this something that's lurking in my install directory already? 12:17
timotimo it's in your rakudo/
moritz github.com/rakudo/rakudo/blob/nom/...et/INET.pm otherwise 12:18
12:18 Pleiades` joined
ren1us yeah the only INET.pm on my system is under perl5 12:19
FROGGS ren1us: it is not installed as INET.pm
ren1us: rakudo's source files are mangled into a single CORE-SETTING file, which will compiled and then installed 12:20
12:25 jnap joined 12:28 kurahaupo left, rurban joined
ren1us What's the INET.lines() method supposed to be returning? The entire content response (effectively the same as Socket.recv())? 12:35
FROGGS the entire document as an array of lines
ren1us So should it be returning stuff like HTTP headers? 12:38
moritz if you make a HTTP request, yes
ren1us Huh. Because I'm getting some... bizarreness: pastebin.com/p09sQvSS
FROGGS "Transfer-Encoding: chunked" <-- 12:39
ren1us Isn't chunked encoding still feeding the chunks in order? 12:42
xfix ren1us, if you don't want chunks, don't claim to be HTTP 1.1 user agent.
ren1us I don't particularly care if I get chunks or not.
xfix The "c" letter is chunk size in this case.
12:42 kivutar joined
ren1us Yeah, that's perfectly reasonable. The c shows up in the $s.recv call, which comes in perfectly clean. 12:43
What I'm interested in is the $s.lines, which is just returning a mess.
12:44 FROGGS left
xfix ren1us, try using `.perl` method. 12:46
say $s.lines.perl;
Which will upload data in more debuggable form (Perl 6 literals).
r-p: my $s = IO::Socket::INET.new(:host('www.zephyrr.com'), :port(80)); $s.send("GET /dev/ip.php HTTP/1.1\nHost: zephyrr.com\nConnection: close\n\n"); say $s.lines.perl; 12:47
camelia rakudo-parrot f146fe: OUTPUT«("HTTP/1.1 200 OK\r", "Server: nginx/1.6.0\r", "Date: Mon, 02 Jun 2014 12:47:29 GMT\r", "Content-Type: text/html\r", "Transfer-Encoding: chunked\r", "Connection: close\r", "\r", "e\r", "192.241.193.85\r", "0\r", "\r").list␤»
xfix Hm, why `.lines` doesn't understand `\r\n`...
ren1us The .perl version looks totally reasonable. 12:48
xfix The reason is that `\r` breaks the output.
In terminal, `\r` means to go to the beginning of the line.
`say` separates array elements by spaces. Therefore, you overwrite old lines while writing. 12:49
ren1us That actually makes perfect sense.
xfix Now I wonder why Rakudo doesn't handle `\r`...
Any :$nl = "\n", 12:50
oh
r-p: my $s = IO::Socket::INET.new(:host('www.zephyrr.com'), :port(80), :nl("\r\n")); $s.send("GET /dev/ip.php HTTP/1.1\nHost: zephyrr.com\nConnection: close\n\n"); say $s.lines.perl;
camelia rakudo-parrot f146fe: OUTPUT«("HTTP/1.1 200 OK\r", "Server: nginx/1.6.0\r", "Date: Mon, 02 Jun 2014 12:50:23 GMT\r", "Content-Type: text/html\r", "Transfer-Encoding: chunked\r", "Connection: close\r", "\r", "e\r", "192.241.193.85\r", "0\r", "\r").list␤»
xfix Huh?
Timbus $.input-line-separator 12:51
xfix It seems that `IO` class doesn't recognize `nl` attribute. 12:52
Timbus no, its using input-line-separator
xfix So, why :$nl is in spec? 12:53
perlcabal.org/syn/S32/IO.html#line_330
Timbus i dont even think there was a spec when IO:S:INET was written 12:54
xfix r-p: my $s = IO::Socket::INET.new(:host('www.zephyrr.com'), :port(80)); $s.input-line-separator = "\r\n"; $s.send("GET /dev/ip.php HTTP/1.1\nHost: zephyrr.com\nConnection: close\n\n"); say $s.lines.perl;
camelia rakudo-parrot f146fe: OUTPUT«("HTTP/1.1 200 OK", "Server: nginx/1.6.0", "Date: Mon, 02 Jun 2014 12:54:26 GMT", "Content-Type: text/html", "Transfer-Encoding: chunked", "Connection: close", "", "e", "192.241.193.85", "0", "").list␤»
xfix ren1us, ^
12:55 anaeem1_ left
xfix I wonder if input-line-separator could be a regular expression... 12:55
ren1us And it comes out clean without the .perl, too. 12:56
Perfect.
12:56 kurahaupo joined
timotimo xfix: from a performance standpoint, that's pretty punishing 12:56
xfix Hm, right.
AWK somehow managed to have this, however.
(not that this feature is worth it for Perl regexes) 12:57
(in awk, you can write code like (shell code) `echo -n 'axeduxeeded' | awk 1 RS="[xd]"`) 12:58
But considering how complex Perl regular expressions are, this is probably too complex for a very small gain. 12:59
jnthn Yeah, as-a-regex is a pain for *many* reasons.
13:00 kaare_ left 13:24 guru joined 13:25 guru is now known as Guest27443 13:26 molaf left, kurahaupo left 13:27 skids joined
[Coke] /scroll end 13:29
whoops. :)
dalek kudo-star-daily: ca59a32 | coke++ | log/ (13 files):
today (automated commit)
13:32
kudo-star-daily: 1d63ff3 | coke++ | log/ (14 files):
today (automated commit)
rl6-roast-data: 8ba053c | coke++ | / (6 files):
today (automated commit)
13:36 Guest27443 is now known as ajr_, jsn_ joined 13:37 jack_rabbit left
jsn_ hey 13:40
13:43 anaeem1_ joined, thou joined 13:45 rurban left 13:47 xusia joined 13:48 thou left 13:59 rurban joined, btyler joined
[Coke] ho 14:01
rakudo.jvm failed 676 tests yesterday. 14:02
14:03 thou joined
[Coke] maybe something ran slow... 14:03
looks like no change on moar/jvm R* module failures.
14:06 kaare_ joined 14:09 virtualsue joined 14:11 jsn_ left 14:22 anaeem1__ joined 14:25 anaeem1_ left 14:26 xenoterracide joined 14:35 erkan left 14:41 treehug88 joined
Ulti is there any sugar for doing cube root? 14:44
colomon m: say 27 ** (1/3) 14:50
camelia rakudo-moar f146fe: OUTPUT«3␤»
flussence m: sub prefix:<∛>(Numeric $x) { $x ** (1/3) }; say ∛8
camelia rakudo-moar f146fe: OUTPUT«2␤»
colomon m: say 27.roots(3)
camelia rakudo-moar f146fe: OUTPUT«3+0i -1.5+2.59807621135332i -1.5-2.59807621135332i␤»
colomon don't think there's anything specific for cube roots
masak ...but for a very small fee, you get to name and define your own math subroutines! 14:51
m: sub cube-root($x) { $x ** (1/3) }; say cube-root 27 14:52
camelia rakudo-moar f146fe: OUTPUT«3␤»
14:52 martinzaremba joined 14:54 SamuraiJack left 14:55 colomon left
[Coke] m: say 27.roots(3).grep({$_.narrow ~~ Real}) 14:58
camelia rakudo-moar f146fe: OUTPUT«3+0i␤»
15:00 SamuraiJack joined 15:01 anaeem1__ left
Ulti am I right in thinking just adding "is cache" to a sub means if the exact same parameters come in the same result is returned from a cache? 15:07
masak m: say 27.roots(3).grep(!*.im) 15:08
camelia rakudo-moar f146fe: OUTPUT«3+0i␤»
Ulti yeah I just did ** (1/3)
jnthn That's the idea, yes. Note it tends to make most sense of value types.
*on
masak Ulti: `is cached`, I believe.
Ulti never really understood why sqrt gets its own name :)
15:08 donaldh left 15:09 SamuraiJack left, donaldh joined
masak Ulti: then you didn't do much in the way of distance calculation :) 15:09
Ulti jnthn yeah I guess someone might change the contents of my container
masak well cuberoot is used just as frequently
fairly rare you see ** (1/4)
jnthn decommute & 15:10
masak Ulti: for the math I've seen, cube roots are rare and square roots common. YMMV.
Ulti: notice that distance calculation in space ends up being sqrt($x**2 + $y**2 + $z**2) -- no cube root
Ulti lots of the more magical stats things involve cuberoots 15:12
the ones that have magic numbers assuming normality too :|
masak anyway, if you really need it in your program, defining it takes one line. 15:14
maybe call it 'cbrt' for consistency...
masak .oO( 'sqrt' was named back in the time when vowels were in short supply )
Ulti well I'm used to scientific notation for roots anyway
dalek rlito: 94274ab | (Flavio S. Glock)++ | / (3 files):
Perlito5 - perl6 - transform 'use vars' into 'our'
15:14 colomon joined
Ulti like I've mever seen a square() function meaning ** 2 15:16
or sqr() I guess
maybe sq() since the rt might be for root
Ulti is probably going to end up producing Math::Simple at this rate 15:19
though log2() feels a bit ott but on the other hand that plus ln() covers practically every log base anyone cares about
15:25 ajr_ left 15:26 guru joined, guru is now known as Guest89354, Guest89354 is now known as ajr_
dalek osystem: 0487b27 | (Konrad Borowski)++ | META.list:
Add Math::Tau to the list of modules (τ = 2π)
15:27
masak :) 15:32
15:33 anaeem1 joined 15:35 anaeem1 left 15:37 Rotwang joined 15:40 raiph joined, martinzaremba left 15:41 martinzaremba joined 15:42 zakharyas left 15:48 martinzaremba left 15:55 colomon left, kaleem left
[Coke] ponders adopting a jnthn-like life, teaching people about cool stuff and then hacking on cooler stuff as time permits. 15:57
donaldh :D 16:05
16:05 pecastro left 16:07 hoverboard joined, dmol joined 16:10 FROGGS joined 16:11 bjz_ left, bjz joined, xenoterracide left
jnthn back :) 16:12
japhb I finally have the first draft of my why-perl6 talk written, whew!
Comments much appreciated: japhb.github.io/japhb-talks/WIP/why...alk.html#/ 16:13
16:13 denis_boyun left 16:14 martinzaremba joined
jnthn japhb: On #4 I mighta gone for .pick(2) to make the "pick 2" meme :) 16:14
16:15 anaeem1 joined
japhb jnthn: That was intentionally a '.pick(2) subverted' attempt 16:16
:-)
16:16 martinzaremba left
jnthn japhb: On #12 I mighta gone in the opposite order (most verbose/explicit form to most sugary form) 16:16
japhb: Oh, that works too :)
japhb jnthn: I debated that ... why do you think most verbose first? To show continued simplification? 16:17
jnthn Yes.
16:17 bjz left
jnthn Most obvious what's going on to least obvious. 16:17
japhb I was thinking "You start with the easiest, and then when you need the bigger guns, you bring them out"
Oh, good point.
16:18 anaeem1 left
jnthn I may even have gone so far as to pick an example where I could show it in each of the 3 forms, but the way you have it is also good in so far as it shows *why* there are multiple forms by giving examples where each is the right choice. :) 16:18
japhb Yeah, that latter was what I was hoping for. 16:19
jnthn In "powerful built-ins", somehow showing classify feels like an example of a really nice one...
16:19 anaeem1_ joined
japhb I debated TIMTOWTDI several times (it's even in the extras/ideas cache after the end), but for now I'm holding back until I can come up with a really good way to theme it. 16:19
jnthn: Hmmm, that's a good idea (classify) 16:20
jnthn The output on slide 30 seems wrong
(doesn't match the program) 16:21
japhb jnthn: Wait, why?
I thought I actually ran that one.
jnthn oh 16:22
sorry, I misread
it's fine
japhb For all the code I could, I actually wrote them out as examples in github.com/japhb/japhb-talks/tree/...6/examples and ran them
Hmmm, that does make clear that it's easy to misread though. 16:23
.oO( "You think it's cute now ..." )
(And for the code I got from other sources, the links are in the markdown source file for the talk)
16:25 araujo joined, araujo left, araujo joined
FROGGS japhb: that's not a lightning talk as as the url suggests 16:26
japhb FROGGS: It started as one. Then it ... expanded. :-)
Note the 'WIP' in the URL. ;-)
FROGGS yeah, it did :o)
btyler japhb: any chance this talk will be recorded/made public? the slides look really fantastic 16:27
FROGGS yes, seen the XXXX at around slide 90
japhb btyler: The intent was always that this be a gift to the community.
FROGGS this is easily a 40mins talk
japhb I don't have a venue or anything yet, but I will try to make sure it is recorded if/when I give it. 16:28
FROGGS japhb++ # and a good one
jnthn japhb: Why JSON::Tiny doesn't do it, it may be good to use .made in place of .ast in this example as in this case it's not really an AST...
japhb But I'm happy for others to give it to.
btyler japhb: awesome! a wonderful gift indeed
jnthn Minor mis-alignment on #79 16:29
On 95, I'd title it "Meta-object programming" 16:30
japhb++ # that's awesome stuff
japhb Gah, had to switch wi-fi. 16:31
jnthn: re: .made, that's a good point. I was sticking with original source code to be able to claim "I didn't make this up, it's the real source", but maybe the original source needs to change. :-)
jnthn: What is the misalignment on slide #79? 16:32
jnthn japhb: One space too many
japhb I'll switch the title for #95 16:33
16:33 donaldh left
jnthn (on one of the repl input lines) 16:33
japhb Oh, yeah, I remember adding a couple spaces to make the slide more readable (because otherwise you end up with a couple very similar identifiers offset by a character, and it ends up being harder to see what's different between them -- at least for me) 16:34
And thanks for the positive feedback, guys. It took me quite a while to get this far, glad to know it's turning out well. :-) 16:35
16:36 colomon joined
japhb afk for a few to get breakfast, but will try to check back throughout the day 16:37
16:39 anaeem1_ left 16:40 ajr_ left 16:41 martinzaremba joined 16:48 fhelmberger left 16:49 anaeem1_ joined 16:50 hoverboard is now known as moistcherry
vendethiel .u ∛ 16:50
yoleaux U+221B CUBE ROOT [Sm] (∛)
16:50 xusia left
TimToady masak: it's not your fault, but it bothers me that the composition article mentions mixins as a workaround to the problem of having to reimplement methods; to me, mixins are inheritance, not composition 16:53
also, would be nice if it actually mentioned "delegation" somewhere
16:55 dakkar left
vendethiel TimToady: "mixins are inheritance" this somewhat boils down to semantics vs implementation imho 16:55
TimToady transparent delegation to a parent is always inheritance in my book, regardless of whether you set it up at compile time or run time 16:58
16:59 rurban left
jnthn vendethiel: The behavior is to override methods in the mixed-in-to object, which to me is inheritance semantics... 17:02
TimToady what's really funny is how languages use composition to implement the data storage for inheritance
vendethiel I mean semantic as in "is a" vs "does" 17:03
17:03 xenoterracide joined
TimToady yes, mixins also have to compose the new class that is being derived :) 17:05
or "get to compose" depending on whether you think it's a special priviledge 17:07
dalek rlito: 67df646 | (Flavio S. Glock)++ | / (3 files):
Perlito5 - 'use constant' - wip
17:08
17:08 guru joined
jnthn builds all the latest things 17:08
17:08 guru is now known as Guest20314 17:09 Guest20314 is now known as ajr_
TimToady already bualt all the earliest things... 17:09
jnthn: did you see my bug at irclog.perlgeek.de/perl6/2014-06-02#i_8805055 17:10
17:11 martinzaremba left
jnthn TimToady: No, I've really only been vaguely following stuff at all in recent days 17:11
TimToady: That looks like the fast-path binding stuff gets things right, and the sub-signature forces the slow-path binder which then gets it wrong... 17:12
17:13 denis_boyun_ joined
masak TimToady: yeah, I noticed that too. (the mixins-as-workaround thing) 17:13
colomon generated ~15MB of STL files from a single AutoCAD DXF file using a p6 script this morning. On the slow side, alas... 17:14
17:14 rurban joined, rurban left
[Coke] which p6? 17:14
TimToady the one with slow strings, probably :P
17:16 rurban joined
jnthn wonders if he should try and fix that this month :) 17:18
vendethiel wonders if he should just fix the month itself... 17:20
jnthn .ask lizmat if S02-magicals\KERNEL.rakudo.moar failing test 27 is anything to be expected from current churn, or if it's likely a platform-specific thing I should look into 17:23
yoleaux jnthn: I'll pass your message to lizmat.
TimToady June would be much more fixed if emperors didn't keep stealing days from February... 17:25
adding leap seconds to the end of June doesn't help either
dalek rlito: e16e072 | (Flavio S. Glock)++ | / (3 files):
Perlito5 - 'use constant'
17:31
japhb If you can't steal days from other months, what's the point of being emperor?
17:32 ajr_ left
TimToady btw, forgot to mention that I installed a Warnsdorff solver into rosettacode.org/wiki/Solve_a_Hidato...le#Perl_6, and then used it to add entries for rosettacode.org/wiki/Solve_a_Numbri...zle#Perl_6 and rosettacode.org/wiki/Solve_a_Holy_K...our#Perl_6 17:33
dalek rlito: f8653da | (Flavio S. Glock)++ | / (2 files):
Perlito5 - TODO update (use vars/use constant)
TimToady unfortunately J passed us by, so we're back in sixth place, and Ruby is also breathing down our necks
for the good news, we're about to pass C 17:34
japhb It's really cool how much the various language communities get into it. 17:35
TimToady well, it's mostly the insane people that get into it :)
japhb Where is the leaderboard? 17:36
TimToady rosettacode.org/wiki/Rosetta_Code/R...popularity
FROGGS these REXX solutions make me shudder 17:37
like this: rosettacode.org/wiki/Solve_a_Numbrix_puzzle#REXX 17:38
TimToady though if you run the program there, you'll discover we're only 2 behind C at this point
yes, REXX is a very different culture
[Coke] tcl: we're number one! 17:39
xfix modules.perl6.org/ 17:40
Ï = 2Ï
Something went wrong here.
(probably some silly encoding issue, I will check)
17:44 ajr joined
japhb [Coke]: Man, the TCL community must have some serious completionists. 17:44
17:45 ajr is now known as Guest82067, Guest82067 is now known as ajr_ 17:46 martinzaremba joined
xfix On codegolf.se, everything has to be done in GolfScript, no matter what else enters. 17:46
17:48 molaf joined
TimToady japhb: it's mostly one serious completionist on RC :) 17:53
nwc10 so, is Perl 6 finished when it overtakes TCL to get top spot? :-) 17:58
17:58 denis_boyun_ left 18:00 virtualsue left
[Coke] if that's our goal, yes, we're finished. 18:00
nwc10 less flippantly, even if Perl 6 does overtake TCL, it won't be easy to stay top 18:02
so, nothing will ever be finished finished
18:06 raiph left
ajr_ If you don't keep coming up with material for journalists to speculate about, they'll start asking "Is X dead?" 18:07
18:07 aboutGod joined 18:08 moistcherry is now known as hoverboard
jnthn I figured out how that weird <-> $_ { ... } bug comes about... 18:09
18:09 colomon left 18:10 pecastro joined
masak ooh 18:10
18:16 rurban left 18:17 aboutGod left
jnthn I figure I need to eat before fixing it :) 18:17
FROGGS std: <.&uri_alpha> 18:19
camelia std ec3d853: OUTPUT«ok 00:00 121m␤»
FROGGS std: <[\w]+.&uri_alpha>
camelia std ec3d853: OUTPUT«ok 00:00 121m␤»
FROGGS m: <.&uri_alpha>
camelia ( no output )
TimToady nice qw thinges there
FROGGS m: <[\w]+.&uri_alpha>
camelia ( no output )
18:19 aindilis left
TimToady suggests adding // 18:20
std: / <[\w]+.&uri_alpha> / 18:22
camelia std ec3d853: OUTPUT«===SORRY!===␤Unable to parse metachar at /tmp/ndVMvclxpH line 1:␤------> / ⏏<[\w]+.&uri_alpha> /␤Couldn't find final '>'; gave up at /tmp/ndVMvclxpH line 1:␤------> / <[\w]+⏏.&uri_alpha> /␤ …»
FROGGS m: my token foo { <digit> }; say "123" ~~ / <[\d]+foo>+ / # how do I make that work? 18:24
camelia rakudo-moar f146fe: OUTPUT«No such method 'foo' for invocant of type 'Cursor'␤ in method ACCEPTS at src/gen/m-CORE.setting:13260␤ in block at /tmp/exmutOgT87:1␤␤»
FROGGS I cannot put an & there
TimToady: ahh, now I understand you comment :o)
18:24 rurban joined
FROGGS ahh w/e, I am turning it into a group 18:30
masak .oO( meta-laziness: can't even be bothered to spell out 'whatever'... ) :P 18:32
18:32 treehug88 left, treehug8_ joined
FROGGS *g* 18:32
18:36 rindolf left 18:40 colomon joined 18:41 cognominal left 18:49 fhelmberger joined
dalek rl6-roast-data: 988fa3e | coke++ | / (6 files):
today (automated commit)
18:50
japhb masak, did you see the draft slides I posted earlier? Comments welcome ... 18:52
[Coke] still no clean test runs for rakudo.
18:53 martinzaremba left 18:54 fhelmberger left 18:55 virtualsue joined, dmol left, sivoais joined 19:00 martinzaremba joined 19:01 telex left 19:02 telex joined
FROGGS star-m: use URI; say IETF::RFC_Grammar::URI.subparse("perl6.org foo", :rule<absolute_URI>) 19:05
camelia star-m 2014.04: OUTPUT«「perl6.org」␤ scheme => 「http」␤␤»
FROGGS TimToady: is there a way to use the token/method absolute_URI in a regex? so that I could match :g? 19:06
jnthn Try <IETF::RFC_Grammar::URI::absolute_URI>
FROGGS star-m: use URI; say "perl6.org foo" ~~ / <IETF::RFC_Grammar::URI::absolute_URI> / 19:07
camelia star-m 2014.04: OUTPUT«「perl6.org」␤ IETF::RFC_Grammar::URI::absolute_URI => 「perl6.org」␤ scheme => 「http」␤␤»
FROGGS O.o
I swear it did not work locally
19:08 darutoko left 19:09 martinzaremba left
masak japhb: looking. 19:11
japhb masak: Thanks!
masak ...I'm gonna second whoever reacted to the .pick(3) thing in the backlog. 19:12
japhb I figure about a half dozen people on this channel (give or take) probably add up to over half of all Perl 6 talks in the wild, so I should gather feedback from those people. :-)
masak it's like, I see what you're trying to do, but... 19:13
japhb Awww, too bad. Humor fell flat. :-/
TimToady I liked it
masak it's not that it's not funny.
it's more like it's a rather un-impressive example of .pick :)
TimToady it's poeticial 19:14
japhb Ah, OK, got it.
Thanks, TimToady.
masak ok, moving on.
m: my @values = (1..100).pick(10); say (minmax @values).perl 19:15
camelia rakudo-moar f146fe: OUTPUT«2..91␤»
masak oh, it *is* a Range.
19:19 pdcawley_ left
sergot good night o/ 19:20
japhb o/\
Heh. Tried to wave, ended up clapping
19:21 pdcawley joined 19:22 itz joined 19:23 martinzaremba joined 19:25 denis_boyun_ joined 19:28 dwarring joined 19:29 Alula left 19:30 Alula joined
masak japhb: nice. great examples. 19:35
japhb: I'm curious: where does the name "metacombinators" come from? I would have called that a combinator.
19:36 virtualsue left
TimToady japhb: rule arraylist { <value> * % [ \, ] } <-- the [ \, ] looks like a fossil to me, since { <value> *% \, } should have the same effect nowadays 19:37
only the space after the <value> and the space after the \, matter
since Mouq++ fixed it 19:39
19:41 guru joined, ajr_ left
jnthn masak: Comes from me :) 19:41
19:42 guru is now known as ajr_
jnthn masak: on is a combinator for writing combinators :) 19:42
masak: So I somewhat tounge-in-cheekily called it a metacombinator, and it seems to have stuck :)
itz hmm I wonder if Apple's Swift lang is FLOSS?
19:43 martinzaremba left
TimToady japhb: I'd tend to write <-["\\\t\n]> as <-[ " \\ \t \n ]> because you can 19:43
jnthn Rightly, let's see if I can fix that <-> $_ { } bug...
FROGGS that is supposed to be the same as -> $_ is rw { } ? 19:44
jnthn That also has the bug I guess
r: my @a = 1..4; for @a <-> $_ { $_++ }; say @a 19:45
m: my @a = 1..4; for @a -> $_ is rw { $_++ }; say @a
camelia rakudo-moar f146fe: OUTPUT«1 2 3 4␤»
..rakudo-{parrot,jvm} f146fe: OUTPUT«2 3 4 5␤»
rakudo-moar f146fe: OUTPUT«1 2 3 4␤»
masak jnthn: oh, 'on' is the metacombinator. ok.
TimToady hmm, DUMP is not exactly "Perl 6" 19:47
19:47 martinzaremba joined
FROGGS it is as much Perl 6 as nqp:: is 19:47
and tbh, I don't use DUMP at all 19:48
masak either
jnthn It can be a useful guts debugging aid.
TimToady just wondering if it belongs in "Why Perl6?" is all. 19:49
jnthn *nod*
Yeah, point.
TimToady also the architecture slide that has PIRT, should that be PIR
jnthn PIRT is a thing.
TimToady okay
jnthn (It's the thing QAST becomes, then it gets turned into text.) 19:50
(It was this way with the intention that some day the textual state may vanish.)
TimToady well, everything will vanish someday... 19:51
FROGGS hehe
jnthn Right. May as well factor in preparation :P
OK, think I got a fix. :)
jnthn spectests it.
FROGGS quick jnthn is quick 19:52
TimToady "Look on my works and despair!" --King Ozymandeus
*dias 19:53
20:01 virtualsue joined
japhb bak from lunch, reading backlog 20:02
masak: Glad you like it. :-)
dalek kudo/nom: bd78aef | jnthn++ | src/Perl6/Actions.nqp:
Fix <-> $_ { } / -> $_ is rw { } pointy blocks.

We accidentally still emitted the code to bind an implicit $_ from the outer scope, scribbling over the declared parameter $_.
japhb masak: My patter was going to talk about 'on', actually, but that doesn't show up well in the slide.
TimToady: I bet it is. I used the real JSON::Tiny code, but between your comment and jnthn's .made comment, I think JSON::Tiny could use an update. :-) 20:03
(unless it's intentionally using old syntax for some backwards-compat reason)
Ah, jnthn replied about 'on'. :-) 20:04
jnthn OK, what else do I need to fix... :)
japhb jnthn: My perl6-debug-m problems? I haven't backlogged whether that was fixed in the last couple days. 20:05
jnthn Hmm
If it was, I didn't do it...
Really need some tests... 20:06
colomon jnthn: jvm issues? seem to be two rakudo-jvm issues bothering URI and ABC. unfortunately I haven't had the time to golf for you. 20:07
japhb TimToady: re: DUMP, I mostly put that in to indicate that we take serious debugging seriously. But yes, I agree it's not spec. But then, the same can said of the debugger, which I also want to show. As soon as I have it working. :-) 20:08
jnthn Ah, some NullPointerException and pre-comp thingy?
colomon pre-comp thingy for ABC
jnthn m: for [1,2],[3,4] -> $a [$x,$y] { say $a.perl }
camelia rakudo-moar f146fe: OUTPUT«Array.new(1, 2)␤Array.new(3, 4)␤»
jnthn m: for [1,2],[3,4] -> $a [$x,$y] { say nqp::iscont($a) }
camelia rakudo-moar f146fe: OUTPUT«0␤0␤»
jnthn m: for [1,2],[3,4] -> $a (*@) { say nqp::iscont($a) }
camelia rakudo-moar f146fe: OUTPUT«1␤1␤»
jnthn m: for [1,2],[3,4] -> $a (*@) { say $a.perl } 20:09
camelia rakudo-moar f146fe: OUTPUT«[1, 2]␤[3, 4]␤»
jnthn m: for [1,2],[3,4] -> $a [*@] { say $a.perl }
camelia rakudo-moar f146fe: OUTPUT«Array.new(1, 2)␤Array.new(3, 4)␤»
jnthn hmmmm...
p: for [1,2],[3,4] -> $a [*@] { say $a.perl }
camelia rakudo-parrot f146fe: OUTPUT«Array.new(1, 2)␤Array.new(3, 4)␤»
jnthn p: for [1,2],[3,4] -> $a (*@) { say $a.perl } 20:10
camelia rakudo-parrot f146fe: OUTPUT«[1, 2]␤[3, 4]␤»
jnthn can guess...
colomon jnthn: and java.lang.NullPointerException in URI, yes! You're more on top of this than I am. ;)
colomon was off trying it in another window to see what the error was.
japhb Re: Architecture slide, that's a transcription into PIC format of a slide I saw in a jnthn talk -- slide 25 of jnthn.net/papers/2013-yapceu-jvm.pdf updated with MoarVM. 20:11
20:12 SevenWolf joined
japhb (Source at github.com/japhb/japhb-talks/blob/...ecture.pic if anyone is interested in what that looks like.) 20:12
20:15 sivoais left
colomon japhb: is there more to the talk somewhere? I seem to have missed the URL... 20:17
FROGGS the uri problem is something about the default_port, which is a sub call to another package
japhb colomon: I'm not sure I catch your meaning. Are you looking for japhb.github.io/japhb-talks/WIP/why...alk.html#/ ? 20:18
colomon japhb++ # yes, yes I am
dalek rlito: dfd91f9 | (Flavio S. Glock)++ | / (4 files):
Perlito5 - js - fix subscripted constant
btyler japhb: is the CORE of nqp in the architecture slide meant to be color coded as p6?
japhb D'oh! 20:19
Nope. I had that on my list to fix, and totally forgot about it before uploading.
(I needed to look up the most idiomatic way in PIC to describe the change of color depending on which 'compiler' instance I was drawing, and had shelved the shaving of that particular yak.) 20:20
20:26 martinzaremba left 20:27 rurban left
jnthn discovers that Rakudo's compile-time arg passing analysis is smarter than he is today... 20:29
"This won't work." "Oh yes it will... --optimize=off" "lol runtime error...told you" "Oh."
vendethiel :D feels good tho, no ?
jnthn m: for [1,2],[3,4] -> $a [$x, $y] { say $a.perl } 20:30
camelia rakudo-moar f146fe: OUTPUT«Array.new(1, 2)␤Array.new(3, 4)␤»
jnthn That now doesn't lose the containerization
spectset attempt 2 :)
20:30 rurban joined
jnthn vendethiel: Yes. :) 20:30
I did the wrong fix and lost a slurpiness thingy 20:31
Anyways, here's hoping things work out this time :)
colomon working out this time++ 20:33
japhb colomon: Any comments on the slides?
20:34 kaare_ left
colomon japhb: only just got to closures. (juggling several balls at the moment, while 33% asleep.) 20:34
japhb: first impression is they are very nice
japhb TimToady: BTW, aside from DUMP and possibly the Rakudo-specific bits of the debugger and architecture, anything else you object to on "It's not Perl 6" grounds or so?
colomon: Understood! And thanks. :-) 20:35
colomon japhb: my only slight hesitation is in the user-defined operator slide -- we try to tell people not to overload an operator to do different things on different types, after all. but your example is very cute, so I would hesitate to change it. 20:36
jnthn TimToady: Was there an RT ticket for the bug?
japhb colomon: :-)
masak jnthn: don't think so.
oh wait.
masak double-czechs
jnthn m: use Test; for [1,2],[3,4] -> $a [$x, $y] { isa_ok $a.VAR, Scalar }; done; 20:37
camelia rakudo-moar f146fe: OUTPUT«not ok 1 - The object is-a 'Scalar'␤# Actual type: Array␤not ok 2 - The object is-a 'Scalar'␤# Actual type: Array␤1..2␤# Looks like you failed 2 tests of 2␤»
TimToady I don't think there was a ticket yet--you fixed it too fast
japhb: not really complaining about the DUMP even; part of Perl 6 is its culture, including tech culture
20:38 sivoais joined
japhb Ah, OK. 20:38
dalek kudo/nom: 394a74d | jnthn++ | src/Perl6/Actions.nqp:
Don't override a specified sigil in [...] unpack.
colomon afk # nom shopping
20:38 colomon left
masak TimToady: I'm not 100% sure rt.perl.org/Ticket/Display.html?id=122011 is a valid bug. 20:39
dalek ast: 4e6880c | jnthn++ | S06-signature/unpack-array.t:
Container handling test for "-> $a [$x, $y] { }".
masak TimToady: or rather, I agree with TheDamian in principle, but I can't find any evidence in S04 for either interpretation. 20:40
jnthn On 122011, it's clear to me that FIRST should only execute if we iterate the loop at least once.
Because otherwise there's no lexical scope for the FIRST phaser to exist in.
masak jnthn: ...but that argument could equally well be applied to LAST...
jnthn masak: Right. 20:41
masak jnthn: and LAST *does* fire!
jnthn masak: I was about to add I agree with Damian here.
masak jnthn: besides, there's always static scopes, so that argument doesn't work either...
jnthn masak: yeah but those are argh.
You should have to be using BEGIN or other BEGIN-time constructs to encounter those, or doing weird crap with our-scopes. 20:42
masak which *means* we'd prefer FIRST/lAST to only fire if there are iterations.
so LAST firing anyway is the bug, just as TheDamian expects.
jnthn imho, yes
Well, will let TimToady++ make a ruling before I go fixing...
masak I wonder if any spectests would break with that new behavior... 20:43
masak goes looking
20:46 Rotwang left
jnthn m: sub a {"foo"}; a(); say &a.soft 20:46
camelia rakudo-moar f146fe: OUTPUT«(Mu)␤»
jnthn m: sub a {"foo"}; a(); say &a.WHAT
camelia rakudo-moar f146fe: OUTPUT«(Sub)␤»
jnthn m: say (:2nd).perl 20:47
camelia rakudo-moar f146fe: OUTPUT«===SORRY!=== Error while compiling /tmp/DFtwbdC53o␤Malformed radix number␤at /tmp/DFtwbdC53o:1␤------> say (:2⏏nd).perl␤ expecting any of:␤ number in radix notation␤»
TimToady making LAST consistent with FIRST seems okay to me, though making it work within the lexical scope when it has to run after NEXT and the test is an interesting thing, at least if you don't want to clone every time through, uselessly except for the last time... 20:48
20:49 fhelmberger joined, itz left
masak I would definitely expect it to capture the lexpad of the last iteration... 20:49
jnthn std: say (:42monkeys).perl
camelia std ec3d853: OUTPUT«ok 00:01 124m␤»
TimToady m: for 1..10 -> $n { LAST { say $n } }
camelia rakudo-moar f146fe: OUTPUT«10␤»
masak right.
jnthn TimToady: Are we liberal enough that :42monkeys passes monkeys => 42? :D 20:50
TimToady m: for 10..1 -> $n { LAST { say $n } }
camelia rakudo-moar f146fe: OUTPUT«(Mu)␤»
masak jnthn: STD does.
m: for 1..10 -> $n { last if $n == 7; LAST { say $n } }
camelia rakudo-moar f146fe: OUTPUT«7␤»
TimToady monkey => 42 was the intent
*keys
jnthn masak: It *parses* it. A semantic check could still allow just nd/rd/st
OK :)
masak jnthn: I never saw it as limited to those.
timotimo is it terribly bad that i didn't get to writing the weekly today?
masak hugs timotimo 20:51
timotimo: looking forward to reading it! <3
PerlJam timotimo: not terribly bad, no. :)
TimToady it's the beginning of the heat death of the universe!
oh wait, that was last month
masak I thought it was a bit hotter than usual this time of year... 20:52
TimToady n: say :2nd
camelia niecza v24-109-g48a8de3: OUTPUT«Use of uninitialized value in string context␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1355 (warn @ 5) ␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 266 (Mu.Str @ 15) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /home/p6eval…»
japhb masak: But heat death is cold ....
jnthn TimToady: STD has this:
| $<num> = [\d+] <identifier> [ <?before <[ \[ \( \< \{ ]>> <.sorry("Extra argument not allowed; pair already has argument of " ~ $<num>.Str)> <.circumfix> ]?
TimToady: What the <.circumfix>? Copy-pasta?
*Why 20:53
It's unreachable thanks to the .sorry, no?
Oh wait...sorry continues, doens't it...
TimToady std: :42nd($_)
jnthn It's panic that doesn't.
camelia std ec3d853: OUTPUT«===SORRY!===␤Extra argument not allowed; pair already has argument of 42 at /tmp/BIoyLPbzaS line 1:␤------> :42nd⏏($_)␤Check failed␤FAILED 00:01 123m␤»
20:53 fhelmberger left
jnthn std: :42nd($_); :69th($_); 20:53
camelia std ec3d853: OUTPUT«===SORRY!===␤Extra argument not allowed; pair already has argument of 42 at /tmp/Otxwr9VVBn line 1:␤------> :42nd⏏($_); :69th($_);␤Extra argument not allowed; pair already has argument of 69 at /tmp/Otxwr9VVBn line 1:…»
jnthn right. 20:54
<-- slow today
masak slow heat death.
timotimo jnthn: i see you fixed the bug for arrays losing their itemness in subsignature unpacking as well as a problem with <-> $_ which i don't recall the symptoms of
20:55 molaf left
timotimo anything else cool i may have missed today? 20:55
masak apparently, the heat death is cool. 20:56
jnthn timotimo: Not from me
Though if you write slowly enough then I'll maybe have :69th done in time :)
japhb Heat death is also slow, so there you go. 20:57
hoelzro github.com/github/linguist/releases/tag/v2.11.2 grrrrrrrrrr 20:58
guess whose PR didn't make it into the release?
TimToady you need a better PR agency
masak interesting: there are *no* spectests for what LAST does with an empty loop. 20:59
shall I add one? :)
hoelzro TimToady: I guess so =/ 21:00
what really angers me is one of the maintainers has been merging pull requests left and right over the last 10 days
but he's been going in reverse chronilogical order
he even merged support for Swift as soon as that was created
japhb hoelzro: That's ... odd. Maybe trying to catch the latest versions of multi-patched PRs? 21:01
hoelzro but the requests that have been sitting in the queue for 5 months or more are getting no recognition
japhb I'd just talk to him and say "Hey, I notice my PR from back in <date> didn't make it in. Can you merge it now?"
hoelzro japhb: I've been looking at the activity feed; it's in descending order of the IDs
I've @ mentioned him a number of times on the issue
I have this guy's e-mail, but I don't know if contacting him that way would be appropriate 21:02
TimToady obviously the more recent ones have the potential to be more urgent, since the older ones obviously aren't :)
hoelzro TimToady: heh
you know what?
maybe I should just file a brand new pull request
japhb hoelzro: Is he GitHub staff? 21:03
hoelzro thanks btyler for your support
japhb: yes
TimToady but maybe he just cycles, and the new ones will now be after the old ones...
japhb You could always ping him that way. I believe there's even a #github on this network.
hoelzro haha
hmm
that's a good point
it's not waiting for merging; that I can understand
it's that the older stuff isn't even acknowledged 21:04
japhb nodnod
TimToady I remember being astounded the first time I ran into a user of rn that wanted to read newsgroups cyclically, not in order of preference
so much so that I remember his name 21:05
dalek ast: 1bb76a6 | masak++ | S04-phasers/in-loop.t:
[S04-phasers/in-loop.t] LAST in empty loop

Test for #122011.
See also backlog at irclog.perlgeek.de/perl6/2014-06-02#i_8809555
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122011
masak jnthn: voilà, failing test ;) 21:08
jnthn masak: Woulda been good if you fadge it... 21:09
Or is this a trick to make me fix it fast? :P
masak ...mayyybeee...
depends.
is it working? :P
dalek kudo/nom: 32e8b4a | jnthn++ | src/Perl6/ (2 files):
Implement :42nd form of colonpairs.
21:10
jnthn No, 'cus I was doing ^^
dalek ast: 68c1393 | jnthn++ | S02-literals/adverbs.t:
Basic tests for numeric adverbs.
FROGGS does that mean I could pass :1day to Date math methods? 21:11
jnthn yes.
FROGGS nice
timotimo oh, so it's any combination of : + number + word? 21:12
and that becomes what exactly again?
FROGGS :1day will become day => 1
right?
jnthn aye
timotimo: \d+ <identifier> 21:13
FROGGS wfm
timotimo oh 21:14
vendethiel clang warnings are really impressive, ehh...
timotimo that's cute
21:14 skids left
timotimo OpenSSL::Exploit.new(:0day) 21:14
japhb timotimo: Which one now? 21:15
Or were you just trying out :0day?
timotimo just testing the syntax ;)
japhb heh
timotimo openssl is such an easy target
hey!
we can soon have goto fail in perl6, too! :D
japhb At this point, I just expect that it's real ... and I was already thinking "Great, now I have to reboot all my active sessions, sigh ...."
timotimo mhm :S 21:16
jnthn masak: hmm...actually the test file you added it to doesn't get run yet 21:17
masak: Further, tests 1/2 don't pass
21:18 PZt left
masak oh, *that's* why they didn't pass. 21:18
I also noticed that.
jnthn: would it be better if I started a new file?
jnthn Did you look into why at all?
masak say, S04-phasers/last.t ?
timotimo oh my
jnthn No, we can fudge teh first two, just wondered if you'd analyzied it a bit
last.t would be fine with me, yeah
timotimo swift uses .. for ..^ and ... for ..
jnthn oh wait, does that exist?
masak jnthn: as to why, I noticed that 'NEXT' and 'LEAVE' were interleaved in at least one place. 21:19
jnthn: no, last.t does not exist yet.
I offered to create it.
and dump the new test in there.
jnthn masak: I misunderstood and thought you were saying to add it to an existing last.t
Anyway, can stay where it is
masak oki
just fudge all three?
jnthn Well, we don't run it at all yet
So I cna fudge the first 2 and add it once I fix the 3rd 21:20
masak oki \o/
masak managed not to break anything, despite not being very careful o/
japhb
.oO( The bull charged through the china shop ... and somehow managed not to knock anything over! )
21:21
masak nwc10: Python 2.7.7 gets released -- mail.python.org/pipermail/python-d...34694.html -- HN discussion is full of py2/py3 comments -- news.ycombinator.com/item?id=7833550
nwc10: glad it's not just Perl :) 21:22
TimToady is so glad we decided to break everything that needed breaking all at once
jnthn japhb: I'd say "that's bull", but... :)
japhb 'The second security issue is an integer 21:27
overflow in the strop module. [2] (You actually have no reason
whatsoever to use the strop module.)'
*chuckle*
21:31 donaldh joined
masak .oO( just strop using that module, already ) 21:32
s/already/m'kaay?/
japhb I heard that thought in two completely different voices before and after the s/// 21:33
jnthn noms a stropwafel insecurely
21:33 anaeem1_ left
japhb jnthn: Is that putting a half-eaten stropwafel back on top of the tea cup that it could now easily fall into? 21:33
masak no, it's eating it while not wearing a seatbelt. 21:34
or while not having fixed the heartbleed bug.
21:39 denis_boyun_ left 21:41 SevenWolf is now known as wolf, wolf is now known as SevenWolf 21:45 atta joined
PerlJam wonders if it would be useful to shadow Toby Inkster's Modern Object Oriented Programming in Perl book with an equivalent one using Perl 6. 21:47
21:49 colomon joined
masak books that exist are better than books that don't. 'specially Perl 6 books. 21:50
21:53 virtualsue left 21:55 oetiker_ joined
timotimo off to bed 21:55
o/
make more stuff for the weekly! :)
masak ;) 21:58
Ulti where can I find the docs on writing docs? :3 21:59
POD6 is a thing now right?
masak yes.
we like to spell it 'Pod'. 22:00
see S26.
Ulti thanks
22:00 hoverboard left 22:01 rurban left
Ulti heh S26 is suitably documentation like for something documenting documentation :D 22:02
dalek ast: a20558f | jnthn++ | S04-phasers/in-loop.t:
Fudge and fix a warning.
22:04
kudo/nom: bec414d | jnthn++ | src/core/MapIter.pm:
Ensure LAST only fires if we actually iterate.

Fixes RT#122011.
kudo/nom: f993683 | jnthn++ | t/spectest.data:
Run S04-phasers/in-loop.t.
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122011
masak jnthn++ 22:05
jnthn m: y/lr/rl/ 22:07
camelia rakudo-moar 394a74: OUTPUT«===SORRY!=== Error while compiling /tmp/nXxpXp2BxA␤Two terms in a row␤at /tmp/nXxpXp2BxA:1␤------> y/lr/rl/⏏<EOL>␤ expecting any of:␤ argument list␤ postfix␤ infix stopper␤ …»
jnthn std: y/lr/rl/
camelia std ec3d853: OUTPUT«===SORRY!===␤Bogus term at /tmp/mW6AYAYWc3 line 1 (EOF):␤------> y/lr/rl/⏏<EOL>␤Undeclared routines:␤ 'lr' used at line 1␤ 'rl' used at line 1␤ 'y' used at line 1␤ (in Perl 6 please use tr instead)␤Parse fa…»
jnthn Hmmm 22:08
I wanted to nab something from STD but...
oh, it does get it... 22:10
hmm
22:10 Sqirrel left 22:12 kivutar left 22:15 Sqirrel joined 22:20 dmol joined 22:22 martinzaremba joined 22:25 martinzaremba left 22:30 martinzaremba joined
japhb Are Rakudo's Perl6::Grammar and STD still far apart, or pretty close now? (The last time I thought about it was back when Niecza was actively developed, and at that time the contrast was large enough for people to point out semi-regularly.) 22:31
22:32 martinzaremba left
jnthn No, there's been a lot of convergence. 22:32
dalek kudo/nom: d78b631 | jnthn++ | src/core/Any.pm:
Make join not explode over Str type objects.

Fixes RT#120846.
22:33
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=120846
22:34 xenoterracide left
jnthn git commit 22:35
lol
dalek ast: 7272e0e | jnthn++ | S02-types/array.t:
Test for RT#120846.
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=120846
jnthn "This is not the window you're looking for..."
22:35 martinzaremba joined 22:36 ajr_ left
dalek ast: 450bd71 | jnthn++ | S02-types/lazy-lists.t:
Test for RT#120035.
22:40
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=120035
jnthn r: loop { CATCH { default { say 'hi' } } } 22:43
camelia rakudo-{parrot,jvm,moar} f99368: OUTPUT«(timeout)»
jnthn r: my $i = 0; while $i++ < 2 { when 'hi' { } } 22:44
camelia ( no output )
jnthn If anybody fancies writing some tests, RT#120498 can be closed with them. 22:45
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=120498
jnthn Enough for me tonight, I think :)
masak jnthn++
jnthn FROGGS: You can probably close rt.perl.org/Ticket/Display.html?id=67660 :) 22:48
22:48 skids joined 22:49 fhelmberger joined
masak ooh, and old one :) 22:49
an* 22:50
22:50 Pleiades` left
skids Wow, there are 42 forms of colonpair notation? :-) 22:52
22:53 btyler left 22:54 fhelmberger left 22:56 Pleiades` joined
jnthn m: :100colon_pair_notations.perl.say 22:57
camelia rakudo-moar f99368: OUTPUT«"colon_pair_notations" => 100␤»
jnthn :)
22:57 treehug8_ left 23:00 spider-mario left, jack_rabbit joined
jnthn 'night, #perl6 23:02
23:04 xenoterracide joined 23:05 rurban joined 23:07 rurban1 joined 23:11 rurban left 23:13 hoverboard joined
masak wow, jnthn went to bed before me tonight? :) 23:16
'night, #perl6
23:18 donaldh left 23:19 rurban1 left 23:26 xenoterracide left
japhb o/ 23:29
23:30 lizmat joined 23:35 rurban joined 23:38 woolfy joined 23:39 BenGoldberg joined 23:42 rurban left 23:46 cognominal joined 23:47 rurban joined, bbkr joined 23:49 dmol left 23:51 hoverboard left 23:55 rurban left 23:57 martinzaremba left
lizmat good *, #perl6! 23:58
yoleaux 17:23Z <jnthn> lizmat: if S02-magicals\KERNEL.rakudo.moar failing test 27 is anything to be expected from current churn, or if it's likely a platform-specific thing I should look into
lizmat jnthn: it means that the kernel name is not known: if you run the fudged perl6 file, it should tell you that 23:59
r: say $*KERNEL.name # jnthn: what does that say for you?
camelia rakudo-{parrot,jvm,moar} d78b63: OUTPUT«linux␤»