»ö« 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 firstdayonthejob left, TreyHarr1 is now known as TreyHarris, espadrine left 00:02 Azry left 00:04 shicheng left 00:06 skids joined, Azry joined 00:24 johndau joined 00:25 aleogen_ joined 00:27 Ven left, wbill left, aleogen left 00:30 Ven joined 00:40 shicheng joined 00:42 Skarsnik left 00:44 kurahaupo left 00:47 cdg left 00:48 cdg joined 00:49 RabidGravy left 00:53 cdg left 00:56 zacts left 00:58 zacts joined, zacts is now known as Guest13656 01:05 lichtkind__ left
teatime So how does zef compare to panda? 01:05
timotimo it does stuff in parallel 01:06
it has pretty outputs
timotimo heads towards bed 01:07
Xliff Is it in Ubuntu? Because Panda is broken, there. 01:08
My first sign that something was b0rked? 01:09
teatime was just curious. 01:10
Xliff Having to invoke panda like this: perl6 -I /usr/share/perl6/lib /usr/bin/panda
Otherwise panda couldn't find Command::Shell
01:11 kid51 joined
Xliff Hrm. zef isn't installable via apt. 01:11
01:13 aborazmeh joined, aborazmeh left, aborazmeh joined 01:18 stmuk_ joined 01:21 stmuk left
[Coke] .seen awwaiid 01:25
yoleaux I saw awwaiid 21 Mar 2016 14:50Z in #perl6: <awwaiid> yep
Xliff Looks like the File::Which package is broken. It doesn't install via panda OR zef
*gack* -- time for the manual method. 01:26
teatime rakudobrew was suprisingly quick and painless. 01:27
Xliff The File::Which build method for rakudobrew didn't work. 01:41
File::Which itself seems broken on Ubuntu
Yup. Ubuntu perl6 installation is completely b0rked. 01:47
At least the one I get from apt.
teatime mine from Fedora23 was too old
Xliff Ah well. Maybe I'll try the *shudder* Windows version. 01:49
Eh. Maybe not. Why does everything and their second removed cousin's left testical always want to install things on to C: drive? 01:51
And to make matters worse, don't give you the option to change that irresponsible behavior? 01:52
Feh. I guess I will go back to watching terrorists blow up Washington, DC
diakopter eh?
Xliff I'm watching a movie where terrorists (try) to blow up Washington, DC 01:53
Mainly because I can't get File::Which to work in Perl 6 under Ubuntu.
Just doesn't want to find the File::Which::Unix module. Even though I've gone and bloody copied the files to the right place by hand. 01:54
02:03 yqt left 02:11 lizmat_ joined 02:14 lizmat left 02:18 aborazmeh left 02:24 kid51 left 02:29 labster left 02:33 Actualeyes joined 02:40 molaf_ joined 02:43 molaf left
jack_rabbit Is there a reason this page switches from English to German halfway through? www.perlfoundation.org/perl6/index...ial_part_1 02:46
02:52 avenj left, avenj joined
[Coke] anything on the perlfoundation wiki is horribly out of date. 02:54
jack_rabbit ahh, good. I'll ignore it then. 02:56
02:57 kalkin- joined 03:00 shicheng left 03:01 kalkin-_ left 03:03 araujo_ joined 03:06 araujo left
Xliff moritz: Is this you? perlgeek.de/en/article/mutable-gram...for-perl-6 03:08
jack_rabbit: I hit that SAME PAGE earlier and was asking myself the same thing.
jack_rabbit: If you are looking for decent perl 5-6 writeups, then I've found this: 03:09
perlgeek.de/blog-en/perl-5-to-6/00-intro.html
jack_rabbit Nice, thanks! 03:10
Xliff perlgeek.de/en/article/discovering-...t-protocol <-- Aaaieee!!! Use of [goto] detected! 03:11
^_^
03:15 kentnl left, kent\n joined
Xliff Hrm. 03:18
Windows implementation of Rakudo doesn't like the last code block on this page..
perlgeek.de/en/article/discovering-...t-protocol 03:19
03:25 kaare_ joined
dalek Iish: 2d14e97 | kmwallio++ | lib/DBDish/SQLite.pm6:
Check for usage of in memory database
03:28
Iish: 53c677a | (Salvador Ortiz)++ | lib/DBDish/SQLite.pm6:
Merge pull request #57 from kmwallio/master

SQLite: Check for usage of in memory database
03:33 noganex_ joined 03:37 noganex left
Ben_Goldberg Xliff, goto &subroutine is vastly different from goto label. The latter is evil, the former not so much. 03:37
03:44 Ben_Goldberg left 03:48 khw left 04:03 AlexDaniel left 04:06 araujo_ left 04:07 araujo joined 04:16 rindolf joined 04:53 vendethiel joined 04:55 nadim joined 04:58 _nadim left 05:01 skids left
Hotkeys ?p6> (;) 05:20
m: (;)
fun thing
camelia rakudo-moar 54ce66: OUTPUT«(signal XFSZ)Non-QAST node visited BOOTInt␤Weird node visited: BOOTInt␤Resultchild 0 can't returns! BOOTInt␤- QAST::Stmts :BY<comp_unit ua u> :context<sink> (;)␤ - QAST::Stmt :BY<comp_unit ua u u> :context<sink> :final (;)␤ - 0␤␤Non-QAST …»
Xliff How is "goto &sub" less evil than "goto label" 05:21
Hotkeys I think goto is evil in general 05:22
Xliff Especially when &sub might take parameters... but then again, probably requirement that &sub take none.
Ohh.... goto &sub inherits callers argument stack. 05:23
Hotkeys: Well, everyone has their own opinions. 05:24
For me, as long as it's readable, and used in a non logical-headache inducing way, I will use it. 05:25
So "goto &sub" actually makes a lot of sense.
05:42 labster joined 05:46 milwen left 05:48 Cabanossi left 05:51 Cabanossi joined 05:55 xinming left 06:00 vendethiel left 06:03 musiKk_ joined 06:14 Xliff left 06:18 jack_rabbit left, snarkyboojum joined 06:36 CIAvash joined, domidumont joined 06:38 domidumont left, domidumont joined 06:40 Sgeo__ joined 06:44 domidumont left 06:57 espadrine joined
moritz \o 07:03
07:06 domidumont joined 07:09 bjz joined 07:10 domidumont left 07:11 snarkyboojum left, FROGGS joined 07:12 domidumont joined, sjoshi joined 07:17 firstdayonthejob joined 07:24 telex left 07:26 telex joined 07:27 shicheng joined 07:32 nakiro joined
rindolf moritz: hi. o/ 07:51
07:52 espadrine left 07:54 darutoko joined 07:56 firstdayonthejob left 07:57 Upasaka left 07:58 sno left, Upasaka joined 08:05 zakharyas joined 08:08 Amnez777 left 08:09 Amnez777 joined 08:12 abraxxa joined, Amnez777 left, Amnez777 joined 08:15 Ven left 08:17 Ven joined 08:18 bjz_ joined 08:19 bjz left 08:23 sno joined 08:27 Guest11071 left 08:28 ely-se joined 08:33 wamba joined 08:44 shicheng left 08:52 kaare_ left 08:54 dakkar joined 08:57 RabidGravy joined
teatime a doc I'm reading describes ^^ as 'Short-circuit exclusive or (XOR)'... a short-circuit XOR would keep evaluating arguments until it either succeeded or encountered two true values, right? So a binary XOR could never actually short-circuit, but must always evaluate both operands, correct? 08:57
moritz teatime: correct
m: say 1 ?^ 1 ?^ (say 42) 08:58
camelia rakudo-moar 54ce66: OUTPUT«42␤True␤»
moritz doesn't look very short-circuity to me
uhm, that's just an or, not an XOR 08:59
moritz confused
m: say 1 ?^ 1
camelia rakudo-moar 54ce66: OUTPUT«False␤»
moritz it simply seems to look for an odd number of trues
teatime it's a binary operator, right? 09:00
m: say 1 ?^ 1 ?^ 1
camelia rakudo-moar 54ce66: OUTPUT«True␤»
09:00 espadrine joined
teatime m: say 1 ?^ 1 ?^ 1 ?^ 1 09:00
camelia rakudo-moar 54ce66: OUTPUT«False␤»
teatime heh that is weird
oh no it makes perfect sense
09:00 zakharyas1 joined
jast what did you expect? 09:00
09:00 zakharyas left
teatime (1 ?^ 1) ?^ 1 == False XOR True 09:01
^^ isn't binary though according to docs 09:02
jast ^^ isn't actually XOR, though
teatime so this should be 1, then Nil: 09:03
m: 0 ^^ False ^^ 1 ^^ ""
camelia ( no output )
teatime m: say 0 ^^ False ^^ 1 ^^ "", 0 ^^ 1 ^^ 1
camelia rakudo-moar 54ce66: OUTPUT«1Nil␤»
jast according to the reference docs, it returns the first true argument iff there is exactly one (in a chain of ^^s), and Nil in any other case
so it short-circuits as soon as it finds the second true argument
teatime that sounds mostly like how I'd expect short-circuit XOR to work. 09:04
RabidGravy erp
09:05 espadrine_ joined
jast it's not actually XOR, formally speaking, so I guess that can cause some confusion 09:05
teatime I mean normally a short-circuit operator would return the last argument evaluated, but in case of XOR that would cause it to return true values when the actual XOR operation should return false so that wouldn't make any sense.
jast: I mean, it returns true when XOR would be true and false when XOR would be false, so I don't follow?
jast: unless you would also say that && is not logical-and
jast well, XOR is, by definition, a binary operator 09:06
09:06 CIAvash left
jast and if you have a chain of proper XORs, the result is true iff the number of true arguments is odd 09:06
teatime eh, if you say so, I'm familiar w/ it as an n-ary operator
jast yeah, but then still the 'odd number of true inputs' normally applies 09:07
teatime yes, ^^ is not binary XOR and being infix makes it appear like it would be.
jast: it does? to me, XOR means 'exactly 1 input is true'
I have more background in circuits than math though, so maybe I am mis-led by that 09:08
I understand why A XOR B XOR C ... should be true when an odd number of inputs are true, but I would expect xor(A, B, C, ...) to be true when exactly 1 input is true. 09:09
jast Wikipedia claims the "exactly one true input" interpretation is rare compared to the "odd number of true inputs" in circuits
I don't have a notable background in circuits myself, though
09:09 espadrine left 09:10 fireartist joined
jast example gate: www.nxp.com/documents/data_sheet/74LVC1G386.pdf 09:10
09:10 kent\n left 09:11 fireartist left
teatime I guess you're right. 09:11
TIL.
jast well, the important part is that ^^ pretty much does what you expected :} 09:13
09:14 fireartist joined 09:15 kent\n joined 09:17 virtualsue joined 09:19 vendethiel joined
teatime can I declare my own infix operator that does quote-bareword-on-the-left like => does ? 09:19
moritz teatime: no, that'd need to be more than just an operator 09:22
teatime k. 09:24
09:31 Upasaka left, Upasaka joined
lizmat_ clickbaits p6weekly.wordpress.com/2016/03/21/...happening/ 09:34
09:34 lizmat_ is now known as lizmat
RabidGravy Ooooh. I upgraded my Fedora yesterday and it appears that the parse stage of building rakudo is 40% quicker 09:36
that's got to be coincidence right?
09:36 sena_kun joined
moritz RabidGravy: jnthn++ did some impressive optimizations, though I don't know if they account for 40% :-) 09:38
09:40 Upasaka left, Upasaka joined 09:43 vendethiel left
timotimo well, if your rakudo parse stage was currently running against the ram limit and starting to swap about 1 or 2 megabytes worth of ram, then perhaps :P 09:43
RabidGravy possibly 09:46
09:49 kurahaupo joined, TEttinger left 09:52 luiz_lha joined, luiz_lha is now known as Guest25453 09:53 Guest25453 left 09:58 kurahaupo left 09:59 kurahaupo joined 10:00 virtualsue left 10:01 johndau left
moritz timotimo: I think the savings are more than 1 or 2 mb ram 10:04
timotimo: that's just the base savings, that is, memory usage of an empty while loop
RabidGravy which is all good
moritz timotimo: but if you do more (and compiling rakudo does a lot more), the memory savings will be more pronounced
10:06 adhoc joined 10:08 foo_ left 10:10 adhoc left
timotimo i guess :) 10:14
10:17 guui15215454 joined 10:19 luiz_lha_ joined, luiz_lha_ left 10:20 guui15215454 is now known as luiz_lha
RabidGravy well all my modules still work, so all's good 10:21
DrForr And that's all that's important :) 10:32
dbohdan DrForr: Hi! I wasn't able to test your server yesterday. 10:35
It was down as far as I could tell. 10:36
DrForr No worries.
It's not exactly meant to be a production-quality server. 10:37
But feel free to check now...
dbohdan Okay. Starting... 10:38
Looks like I was right. Something siege does instakills it. 10:40
DrForr Okay, that's good to know. I can at least test it at home... 10:47
I've got no real idea what Crust does internally, I've just been layering on top of that. 10:51
I don't think what I did should break existing Crust, but obviously something has. 11:00
11:02 virtualsue joined 11:08 vytas left 11:11 virtualsue left 11:12 vytas joined 11:17 bjz joined 11:19 labster left, bjz_ left 11:21 vendethiel joined 11:23 xinming joined 11:29 kid51 joined 11:36 brrt joined 11:38 FROGGS left 11:43 vendethiel left 11:47 RabidGravy left 11:49 kurahaupo left 11:51 kid51 left 12:20 vendethiel joined 12:21 shr joined 12:22 sjoshi left 12:23 sjoshi joined 12:27 nadim left 12:28 nadim joined 12:39 musiKk_ left 12:42 vendethiel left 12:47 shr left 12:50 vendethiel joined 12:53 xinming left, Sgeo__ left, xinming joined 13:12 vendethiel left 13:20 g4 joined, g4 left, g4 joined 13:22 ecocode joined 13:25 Khisanth left 13:28 tokomer joined 13:32 tokomer left 13:34 bjz left
fireartist can rakudo be built with mingw/gcc on Windows? 13:35
jnthn fireartist: Never tried it myself, but I know the MoarVM configure script has a section for MinGW 13:37
So "in theory"
fireartist ok, that's good enough for me - I'll give it a try :-)
jnthn Cygwin is the no-go
fireartist ok 13:38
13:38 vendethiel joined, Khisanth joined
lizmat jnthn: if Cygwin is a no go, why do we still have IO::Spec::Cygwin.pm ? 13:42
jnthn lizmat: Well, to be clear, it's a no go for MoarVM 13:44
lizmat ah... ok
jnthn lizmat: You might get r-j running there
And it may not be a no go forever...
It's libuv that is our main blocker, fwiw.
I would worry about it, except it hasn't stopped Node.js taking over the world anyway, so... ;) 13:45
moritz sometimes wishes it would have 13:46
13:46 bjz joined
jnthn haha :) 13:46
brrt fireartist: fairly sure you can
i've built moarvm+rakudo on mingw/gcc with strawberry perl in the past 13:47
fireartist brrt: thanks - I'll report back how I get on
brrt :-) 13:48
13:48 ZoffixW joined
ZoffixW .tell lizmat if you're looking for content for the next Weekly, you could post the MeetUp for March 30th Toronto Perl Mongers. I'll be giving a "Wow, Perl 6!" talk that will go over the cool bits of Perl 6: www.meetup.com/Toronto-Perl-Mongers...228600742/ 13:49
yoleaux ZoffixW: I'll pass your message to lizmat.
13:49 ZoffixW left
lizmat wow, that was quick 13:50
yoleaux 13:49Z <ZoffixW> lizmat: if you're looking for content for the next Weekly, you could post the MeetUp for March 30th Toronto Perl Mongers. I'll be giving a "Wow, Perl 6!" talk that will go over the cool bits of Perl 6: www.meetup.com/Toronto-Perl-Mongers...228600742/
lizmat more importantly: Zoffix lives! :-) 13:52
13:53 maybekoo2 joined
El_Che cygwin + cygwingcc for buidling rakudo: no-no. Like jnthn says: libuv 13:54
it's on the info page of cygwin
I adapted the page with the info: rakudo.org/how-to-get-rakudo/#Insta...tar-Cygwin 13:55
13:56 RabidGravy joined 13:59 maybekoo2 left 14:00 Ven left 14:02 vendethiel left 14:03 Ven joined 14:05 Khisanth left 14:12 maybekoo2 joined
sena_kun What can cause "Malformed termination of UTF-8 string"? A full story: emacs(if needed), native C function with Str as argument in signature. If I call this function with latin or unicode characters - it's okay. If string contains cyrillic characters - error raises. 14:15
RabidGravy you can supply the encoding to native functions if required 14:16
sena_kun A, oh, I fixed it.
RabidGravy "is encoded('utf8')" for instance 14:17
14:18 Khisanth joined
teatime What is an "infix stopper" ? 14:19
arnsholt sena_kun: What was the problem, OOC? 14:22
jnthn teatime: Something that blocks the grammar from parsing an infix in various places it shouldn't
RabidGravy DrForr, the META.info for prancer is missing commas in the "provides"
jnthn teatime: Why, out of curiosity? :) 14:23
psch wonders the same
14:23 espadrine_ is now known as espadrine
jnthn I'm guessing it showed up in an "Expected" message :) 14:23
RabidGravy yeah it does sometimes
psch trying to build something that complains about an infixstopper by looking at where we use it in Perl6::Grammar is a bit hard :P 14:24
s/something/a snippet/
DrForr Thanks, will take care of it in a few minutes.
teatime yeah, but I was also kindof hoping I could define one to use instead of ;
can I define anything that would take the place of ;
14:25 sjoshi left
sena_kun arnsholt, I accidently dropped last character when pass size of string to function. 14:25
teatime or define an operator that would take params but needn't be followed by ; ?
jnthn teatime: I don't think infixstopper is about that...
14:25 Upasaka left
psch m: 1 + 1 1 + 1 14:25
camelia rakudo-moar 54ce66: OUTPUT«5===SORRY!5=== Error while compiling /tmp/IU3SYd6mGs␤Two terms in a row␤at /tmp/IU3SYd6mGs:1␤------> 031 + 17⏏5 1 + 1␤ expecting any of:␤ infix␤ infix stopper␤ statement end␤ statement modifier␤ …»
psch that expects infixstopper
teatime jnthn: yeah, I figured upon hearing the def. an error message had made me hope it was, earlier :)
jnthn eat_terminator is where we swallow ; 14:26
psch so a slang that adds '\n' might work
which turns this rather python-ish vOv
jnthn Well, the other thing you can do in a slang is hijack the same mechanism that } uses to be end-of-statement-without-;
teatime psch: I've got this much working: '©' ↤ ⟦↕<c o>⟧ ⋯ ↕<(c)>;
Hotkeys Is there nice slang support yet? 14:27
psch jnthn: right, that's probably the better idea. afair teatime wants to allow linebreaks inside statements
jnthn Hotkeys: No
Yeah
perlpilot teatime: what is that?
jnthn Using <?ENDSTMT> to mark the place should do it
teatime perlpilot: hehe, a very compact notation for XCompose
psch ...or just run with ; as statement terminator :)
Hotkeys Is there any sane way to modify the language grammar? I tried to do it ala Slang::SQL but that didn't work 14:28
And neither does that module for me
psch Hotkeys: Slang::Tuxic should currently work. not sure in how far v5 works, but that'd be a more extensive example 14:29
teatime perlpilot: that expands to: co cO Co cO oc Oc oC OC (c) (C)
Hotkeys Alright
DrForr So the Slang mechanism broke again? 14:30
jnthn Hotkeys: There's no officially supported way yet, no 14:31
It'll be part of the macros work masak++ is leading the way on 14:32
Hotkeys Cool 14:33
14:36 Upasaka joined 14:37 cdg joined
Hotkeys Looking forward to it 14:37
perlpilot teatime: looks like Ook! :) 14:39
sena_kun If I want to count bytes of Str, I need to manually create buffer from this string>>=call 'bytes'? Is it the most simple way?
:m say Buf.new("someó".encode).bytes;
Oh. 14:40
:m say Buf.new("someó".encode).bytes;
psch m: # not :m
camelia ( no output )
moritz m: say Buf.new("someó".encode).bytes
camelia rakudo-moar 54ce66: OUTPUT«6␤»
sena_kun m: say Buf.new("someó".encode).bytes;
camelia rakudo-moar 54ce66: OUTPUT«6␤»
sena_kun I did it finally.
14:41 luiz_lha left
moritz sena_kun++ 14:41
teatime perlpilot: lol.
sena_kun We have "chars", "elems" and "codes" for string. Don't know is it reasonable(sure not), but having something like "bytes" is handy when you need to pass unicode array and lenght to nativecall. 14:42
teatime perlpilot: my nick references the same book/universe as the name 'ook'
sena_kun: chars & codes def. make sense to have both.
sena_kun teatime, I don't complain about "why so many lenghts!". 14:43
teatime how though, do you iterate over characters or codepoints (rather than get a count of them) ? 14:44
14:44 brrt left
psch m: say Buf.new("someó".encode($_, :replacement('?'))).bytes for <utf8 utf16 ascii iso-8859-1 windows-1252> # Str.bytes might not make sense 14:45
camelia rakudo-moar 54ce66: OUTPUT«6␤5␤5␤5␤5␤»
jnthn Well, .bytes is sensitive to the encoding, and computing how many bytes it'll need is about the same effort as encoding it, in general. 14:46
Work that'd then be repeated to actually encode it to pass it
sena_kun Okay, seems reasonable.
jnthn So it's probably better to just write a wrapper sub that takes a Str, encodes it, and then pass a Buf to the native sub along with its .bytes count 14:47
sena_kun Wrapper is a cool idea, thanks.
hoelzro o/ #perl6 14:48
Hotkeys o7 14:50
teatime .comb seems to split like .chars counts, so that's awesome; and there's .ords. so I guess that works! 14:51
TimToady .ords will not always agree with .comb/.chars though 14:52
.ords can't do NFG
teatime TimToady: I was expecting .ords to output a list the length of .codes()
14:53 Khisanth left
teatime TimToady: "how though, do you iterate over characters or codepoints (rather than get a count of them) ?" 14:53
TimToady .comb will work for NFG 14:54
.ords can't return negatives for synthetics though
so it's forced back down to the Uni level 14:55
teatime I don't understand. is NFG a perl-specific term for how it calls a composing sequence a single char ?
TimToady yes, that's our term for it
teatime k. now, what would a negative codepoint indicate? what's a synthetic? 14:56
TimToady it actually makes temporary syntetic characters for graphemes without a precomposed form in NFC
teatime ah ok
TimToady sort of NFC on steroids
but .ords isn't invited to the party :) 14:57
jnthn There's also .NFC and .NFD and the K forms on Str if you want the codepoints in a particular normalization form.
teatime what I was wanting from .ords() was literal codepoints though, so 'A̲b̲c̲d̲.'.chars == 5, .codes == 9, 'A̲b̲c̲d̲.'.ords == (65 818 98 818 99 818 100 818 46) 14:58
is that behavior that can be relied on?
jnthn: and hopefully it wouldn't modify the input or renormalize unless asked, right? 14:59
jnthn teatime: Str and Uni are immutable 15:00
teatime: We never do anything on them in-place
.NFC returns you a new object, not changes the Str itself. So yeah, it's safe 15:01
You can rely on .ords to only give you Unicdoe codepoints, though 15:02
moritz wonders what will happen to NFG once Unicode decides that it needs a new joiner character that can glue together two "normal" base characters
jnthn moritz: Up to the Unicode folks.
moritz: We've defined NFG in terms of Annex #29 15:03
moritz: And so outsourced the problem :)
Hotkeys Is nfg 'new-fangled graphemes'
jnthn Hotkeys: Normal Form Grapheme, a play on Normal Form Composed
Hotkeys I was close 15:04
perlpilot Hotkeys: I like your version though and may use it in the future :)
TimToady also a pun on the No F-ing Good
Hotkeys :p
15:04 skids joined
TimToady most things in the design of Perl 6 serve multiple purposes :) 15:05
jnthn TimToady: I guess you realized that one before I actually used it in a lightning talk? :P
jnthn didn't notice it until he was wondering how to do a funny lightning talk...about Unicode :P
moritz this one serves to torment jnthn on behalf of the folks who write articles about Perl 6 :-)
TimToady indeed, it was part of why I coined "NFG" in the first place 15:06
15:06 Khisanth joined
jnthn hah...took me ages to notice 15:06
TimToady to the pure, all things are pure :P
to be sure, NFG might be more of an Americanism
USians being particularly fond of their various isms... 15:08
arnsholt jnthn: I remember smiling in anticipation when you used NFG to describe the various Unicode horrors in that lightning talk =D 15:09
15:18 tokomer joined, ecocode left
[Coke] agrees to give a talk/tutorial at baltimore perl workshop, and realizes "oh crap, now I have to write something!" 15:25
15:25 ely-se left
Hotkeys Lol 15:26
fireartist building rakudo - should I be using the default 'nom' branch? 15:31
moritz fireartist: if you like living on the (b)leading edge, yes
fireartist: otherwise you might want to build a relese tag
fireartist thanks :-)
I'll try that before I report any test failures! 15:32
dalek osystem: eadda08 | titsuki++ | META.list:
Add Algorithm::Kruskal to ecosystem

See github.com/titsuki/p6-Algorithm-Kruskal
15:36
osystem: 1831140 | azawawi++ | META.list:
Merge pull request #176 from titsuki/add-kruskal

Add Algorithm::Kruskal to ecosystem
15:37 tokomer left, khw joined
fireartist yay! all tests pass building moar/2016.02 on mingw/windows - I'll just stay away from 'nom' for now... 15:41
15:44 fireartist left, g4 left
[Coke] note sthat 2016.03 is going to be -really- close to what's on nom, so reporting bugs there is useful. 15:46
Hotkeys Did something strange happen with windows nom 15:49
Oh fireartist left
15:50 vendethiel joined
[Coke] also note that jnthn is building nom on windows all the time. 15:50
Hotkeys I use windows on my main computer so me too 15:51
[Coke] sorry about the delay in the release, folks; I'll try to get to it tonight or, latest, tomorrow. Thank you for your patience - we had a potential blocker, but dev team has decided to press on, no worries.
Hotkeys Well not all the time
Maybe every few days
16:03 nakiro left
RabidGravy hahaha 16:06
So, some time ago I set up a domain as a weird but common mis-spelling of another domain I own 16:08
but left the e-mail to go to the server
so I log in the server and check the email and I have 58 messages - all from recruiters
Hotkeys Nice 16:09
All of them typoed your email?
RabidGravy yeah 16:10
jnthn hah...the incredible competence of recruiters :P 16:11
16:11 domidumont left 16:12 vendethiel left
stmuk_ masak: www.meltingasphalt.com/a-codebase-i...-organism/ 16:14
[Coke] I tend to get a lot of sysadmin related notes for an italian company that isn't quite spelled coleda. :) 16:21
RabidGravy I get stuff all the time for some guy who is apparently a movie productiion manager, whole scripts and budget breakdowns on occassion 16:23
most odd
16:24 musiKk_ joined
Hotkeys Why are the Texas ops calls Texas ops 16:25
stmuk_ I have a namesake who breeds Spaniels ... google image for my name used to get a dog image much to the amusement of ex co-workers :/
jnthn Hotkeys: 'cus they're bigger than the non-texan forms 16:29
And apparently "everything's big in Texas" 16:30
(e.g. the immigration queue you stand in upon arrival)
[Coke] jnthn: I imagine it's also because texas don't give a rat's ass about yer fancy unicode.
jnthn Very possibly :P
Hotkeys Wonderful 16:31
16:44 cdg left
ugexe it always makes me think of them as 10 gallon hats 16:58
17:08 sena_kun left 17:22 bzipitidoo joined 17:25 shicheng joined
bzipitidoo Perl6 is too slow. And memory intensive. I made a small program just to count the number of byte values in a file, a histogram. It worked fine on a little file, but choked on a 90M file. The OS killed the 1st version after a few minutes, for taking too much memory. I modified it, and tried again. After 20 minutes, I gave up on it. The C version of this simple little program took 1.2 seconds on the 90M file. 17:26
cfedde got it in one! 17:28
stmuk_ bzipitidoo: doc.perl6.org/language/faq#Is_Perl_..._for_me%3F
dalek c: 8fa7964 | (Zoffix Znet)++ | doc/Language/regexes.pod:
Fix code typo (Closes #430)
diakopter bzipitidoo: could you nopaste the program somewhere? 17:29
bzipitidoo Yes. Someone tell me again where to put it?
17:29 dakkar left
diakopter gist.github.com 17:29
[Coke] and yes, perl6 needs optimization; but we may be able to point out changes you can make in your code to help. 17:32
bzipitidoo Thanks. Here it is. Did a little hack to coerce all UTF-8 values > 255 to 255. gist.github.com/anonymous/90311d86df5d12b7c3fd
17:33 Actualeyes left, musiKk_ left 17:34 Guest13656 left
[Coke] also, what does perl6 --version report? 17:35
btw, that code doesn't compile. 17:36
bzipitidoo "This is perl6 version 2014.07 built on parrot 6.6.0 revision 0" Default for Ubuntu 15.10
[Coke] m: gist.github.com/anonymous/90311d86df5d12b7c3fd
camelia rakudo-moar 54ce66: OUTPUT«5===SORRY!5=== Error while compiling /tmp/IxBOMrgx62␤Unsupported use of bare "say"; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument, or use &say to refer to the function as a noun␤at /tmp/IxBOMrgx62:24␤------> …»
[Coke] bzipitidoo: that version is ancient and should not be used.
tadzik oh gosh :D
[Coke] please try 2016.02; you'll get the same compiler error I'm seeing, and hopefully better performance. 17:37
diakopter it's basically rewritten since then
17:37 zakharyas1 left
[Coke] gogole for "rakudobrew" - it's like perl5's perlbrew and will let you more easily get newer versions if your OS isn't keeping up 17:38
of note, it's a completely different VM on the backend that is optimized more for Perl 6.
diakopter tries gogole.com 17:39
[Coke] grins. 17:40
diakopter oh look it works
[Coke] ahaha!
that's awesome. GoGoLe++
bzipitidoo The version I used didn't have a problem with a bare "say". I just wanted a CR.
And yes, an ongoing problem with distros is that they don't keep up. I was hoping to avoid having to install perl6 myself, leave it to the distro.
diakopter distros will always be hopelessly behind 17:41
kmwallio I think they also have some variants where if your handplacement is a key to the left or right or something like that (for google)
[Coke] bzipitidoo: we just had our first "official" release on christmas of last year; anything before that is basically a different language. (though there's a lot of similarity) 17:42
diakopter but yes, someone should try to get debian and ubuntu and mint and a thousand others to pull the latest
[Coke] diakopter: back in the parrot days, I would have hoped Allison would do that. 17:43
not sure if we have someone championing that these days. (macports is probably up to date, mojca++)
mst bzipitidoo: an ongoing problem is that you're running ubuntu and it's terrible at this 17:44
bzipitidoo: the debian-perl team are excellent. then ubuntu takes a snapshot of a random version of their work and doesn't update it after the release ships
ilmari debian unstable currently has moarvm/nqp/rakudo 2016.02
mst bzipitidoo: this continues to frustrate me, since I help out the debian-perl team regularly but then ubuntu is still terrible
diakopter that's the problem with forking something so large, you are forced to snapshot because testing is horrific 17:45
timotimo so, how's the performance of that script with a 90 mb file now with a non-ancient version of rakudo? 17:46
ilmari huh, the debian nqp package depends on angular and bootstrap. is that because of the profiler?
timotimo um, yeah, but we pull those out of a CDN usually
they must have manually patched that
jnthn o.O 17:47
diakopter (eyeroll)
jnthn Not worrying about that was the point of pulling them from a CDN :P
ilmari but then you can't use it offline
timotimo that's right
kmwallio how difficult is it to maintain a private ppa thing?
diakopter because we care about offline people who wouldn't have that in their cache
17:48 geekosaur left
jnthn ilmari: Yeah...I figured that'd be a relatively rare thing to want to do, given interents are fairly widely distributed these days :) 17:49
17:49 Xliff joined
Xliff mls: 'abc-abc-abc' ~~ / $<string>=( [ $<part>=[abc] ]* % '-' ) / 17:49
ilmari now that it's in testing I guess it could be added to jessie-backports
Xliff mls: 'abc-abc-abc' ~~ / $<string>=( [ $<part>=[abc] ]* % '-' ) / 17:50
ilmari so people running stable can get a reasonably-uptodate perl6 too
diakopter jnthn: they might be convinced to split the profiler thingie to an optional other package
Xliff mls: 'abc-abc-abc' ~~ / $<string>=( [ $<part>=[abc] ]* % '-' ) /
17:50 geekosaur joined
Xliff Why is "m:" turning into "mls:" 17:50
Bloody client.
timotimo it's a smart client you have 17:51
ilmari that's neiter the alphabetically-first or last-speaking nick starting with m
timotimo let me help yo uthere
m: 'abc-abc-abc' ~~ / $<string>=( [ $<part>=[abc] ]* % '-' ) /
camelia ( no output )
timotimo m: say 'abc-abc-abc' ~~ / $<string>=( [ $<part>=[abc] ]* % '-' ) /
camelia rakudo-moar 54ce66: OUTPUT«「abc-abc-abc」␤ string => 「abc-abc-abc」␤ part => 「abc」␤ part => 「abc」␤ part => 「abc」␤»
Xliff m:
jnthn diakopter: I don't mind if somebody decided to do the work on that tbh...I don't care to maintain it in the nqp repo much though :) 17:52
Xliff Yeah. had to change the nick completion suffix.
Wheee!
I'm going through regexp examples and that one confused me until I tried it here. Now I grok. 17:53
This is what I get for going through P6 tutorials before coffee.
diakopter Xliff: you can also /msg camelia privately (fyi) 17:54
perlpilot Xliff: which tutorial?
Xliff diakopter, Thanks.
doc.perl6.org/language/regexes#Named_captures
teatime m: say @?INC
camelia rakudo-moar 54ce66: OUTPUT«5===SORRY!5=== Error while compiling /tmp/kfVEX1lbfR␤Variable '@?INC' is not declared␤at /tmp/kfVEX1lbfR:1␤------> 3say 7⏏5@?INC␤»
17:55 shicheng left
teatime I am having zero luck trying to use perl6 -I and -M 17:55
perlpilot teatime: use lib '/path/to/lib';
17:56 abraxxa left
teatime ok, that works; is -I just broken curently? 17:57
timotimo i think -I is broken with the repl
teatime kk
Xliff I'm trying to get explanation of the keyword TOP when it is used in grammars. I am assuming that's the starting point for a grammar, but using 3 separate pages and they all mention it, but don't describe it. 17:58
So I am making assumptions which may prove to be silly, later on.
perlpilot Xliff: yep, that's the default starting rule for a grammar
Xliff perlpilot, is that used anywhere else? 17:59
Like.... classes or such?
My brain wants to assume it is the new BEGIN.
See? Silly.
perlpilot no, that is silly :)
Xliff =)
psch m: grammar G { }; G.^can('parse')[0].signature.say # that's why we use TOP there
camelia rakudo-moar 54ce66: OUTPUT«(Grammar $: $target, :$rule = "TOP", :$args = { ... }, Mu :$actions = Mu, *%opt)␤»
perlpilot BEGIN is the new BEGIN :)
Xliff Bad brain!
psch Xliff: the name is arbitrary, but the parse method takes it as default 18:00
where $rule is the rule to start with :)
ilmari teatime: also, @*INC no longer exists, it's $*REPO.repo-chain
18:00 abaugher left
Xliff Thanks, pschj 18:01
psch, even
Now if I can only get Ubuntu's rakudo package to properly give me a working panda implementation.
perlpilot Xliff: you'd best use rakudobrew IMHO
timotimo um, ubuntu's rakudo package?
18:02 firstdayonthejob joined
timotimo what version is ubuntu offering you there? 18:02
Xliff Tried, perlpilot.
Same issues.
Lemme boot the VM, "timo" x 2
timotimo :)
18:02 abaugher joined
perlpilot bets it's pre-christmas 18:03
timotimo hopefully not
18:03 _nadim joined
Xliff It's sad. I use VirtualBox, but to get fully working cut and paste, I have to SSH in using PuTTY 18:03
root@infinity:~# perl6 -v 18:04
This is Rakudo version 2016.02 built on MoarVM version 2016.02
implementing Perl 6.c.
perlpilot oh, nice
perlpilot puts his cynicism in check for a while
Xliff Ther problem here is that I need to -I /usr/share/perl/lib
Otherwise stuff doesn't work.
timotimo you could output the $*REPO thingie 18:05
18:05 nadim left
timotimo to see what it thinks is in there 18:05
Xliff m: say "$*REPO.repo-chain" 18:06
camelia rakudo-moar 54ce66: OUTPUT«/home/camelia/.perl6.repo-chain␤»
Xliff That same command gives error in the VM.
timotimo you need a () there 18:07
otherwise it won't call the method in the string for you
18:08 khw left
ilmari m: say $*REPO.repo-chain 18:08
camelia rakudo-moar 54ce66: OUTPUT«(inst#/home/camelia/.perl6 inst#/home/camelia/rakudo-m-inst-2/share/perl6/site inst#/home/camelia/rakudo-m-inst-2/share/perl6/vendor inst#/home/camelia/rakudo-m-inst-2/share/perl6 CompUnit::Repository::AbsolutePath.new(next-repo => CompUnit::Repository::NQ…»
Xliff root@infinity:~# perl -e 'say $*REPO.repo-chain()'
$* is no longer supported at -e line 1.
ilmari Xliff: perl6, not perl 18:09
timotimo that's perl5 :)
Xliff DOH!
See?
COFFEE
timotimo that also explains why panda doesn't work
[Coke] or tea, we're not judgy.
RabidGravy or beer
[Coke] ok, maybe a LITTLE judgy. :)
bzipitidoo okay, "This is Rakudo version 2016.02-200-g54ce66e built on MoarVM version 2016.03 implementing Perl 6.c." Worked on a small file, still chewing on the 90M file. 3 minutes so far. 18:10
Xliff Hmmm...
Any way to get a prettier output when using "say" on an array? 18:11
timotimo you can dd it, or get Data::Dump::Tree from the ecosystem
perlpilot Xliff: define "prettier"
Xliff: but what timotimo said. :)
timotimo bzipitidoo: i wonder if it'd be better to read the file in chunks rather than all-at-once
Xliff timo x 2: No working panda.
timotimo well, it'd still be interesting to see what your repo chain looks like 18:12
ilmari I notice a bunch fo the CompUnit::Repository:: classes don't have a .gist
RabidGravy right, after a day of domestic sysadmining what shall I write or finish next
Xliff (CompUnit::Repository::Installation.new("/root/.perl6/2016.02"), CompUnit::Repository::Installation.new("/usr/share/perl6/site"), CompUnit::Repository::Installation.new("/usr/share/perl6/vendor"), CompUnit::Repository::Installation.new("/usr/share/perl6"), CompUnit::Repository::AbsolutePath.new(next-repo => CompUnit::Repository::NQP.new(next-repo => CompUnit::Repository::Perl5.new(next-repo => CompUnit::Repository))), Com
pUnit::Repository::NQP.new(next-repo => CompUnit::Repository::Perl5.new(next-repo => CompUnit::Repository)), CompUnit::Repository::Perl5.new(next-repo => CompUnit::Repository))
ilmari only the ones that consume ::Locally do 18:13
Xliff Please note, libs are in /usr/share/perl6/lib
timotimo OK, so i wonder why panda ends up installed in /usr/share/perl/lib, like, without the 5
er, without the 6
bzipitidoo Maybe. Is $*IN.getc the same as the old C library function getc, just gets 1 byte, or does it do UTF-8, and return multi byte values? 18:14
Xliff So to run panda, I need to do "perl6 -I /usar/share/perl6/lib panda"
timotimo it's not supposed to have a "lib" folder there, though
isn't it supposed to have an installation file tree?
Xliff Then it's a packaging fault.
s/fault/issue/ 18:15
timotimo potentially; i didn't rm -rf my install/ in a long time. i do have a "lib" folder there
but it's also not in my repo chain. and it's completely empty
Xliff I may purge my entire perl6 install and start over to see if that fixes. it. 18:16
root@infinity:/usr/share/perl6# ls
bin dist lib precomp repo.lock resources runtime short site sources vendor
timotimo yeah, mine looks like that, too 18:17
Xliff root@infinity:/usr/share/perl6/lib# ls
File JSON Panda Panda.pm Shell
[Coke] if your perl6 is installed into /usr/share/perl6, it should already know about that lib dir.
timotimo would a urandom dd be a good candidate to test against your script? also, can i have the newest version of your script, too?
Xliff So when I go to use Panda, with the proper -I set, when panda goes to compile new modules, it will miss things like Shell::Command
Because -I /usr/share/perl6/lib isn't set 18:18
[Coke] Xliff: your install sounds broken - is perl6 in /usr/share/perl6/bin/perl6 ?
Xliff [Coke], I would generally agree.... but it doesn't.
[Coke], No
[Coke] ... then why is your perl6 lib there? 18:19
Xliff It's installed in /usr/bin/perl6
[Coke] Custom installation choice?
Xliff [Coke] because that'
that's where the package manager put it.
Nope. That was done via straight apt install
[Coke] ... sounds like they broke it. 18:20
Xliff That's what I'm sayin!!! =)
[Coke] ok.
so, obv. I'm coming in late here, but I'd use rakudobrew and work out of your home dir for now.
sorry if this was already covered.
Xliff OK. I have rakudobrew installed. 18:21
timotimo it was suggested. it was also said that that fails in the same/similar way
iirc
Xliff I will nuke existing perl6 packages and start from there.
But won't rakudobrew need perl6?
[Coke] timotimo++
bzipitidoo Doesn't get much simpler than this: use v6; while defined $_ = $*IN.getc { print $_; }
perlpilot rakudobrew installs perl6 itself (that's its job)
timotimo rakudobrew is implemented in perl5 18:22
Xliff Yeah.
Nuke packages and start from there, then.
I think I found a page on that, yesterday.
Been a while since I've compiled something from scratch (6 months) 18:23
[Coke] We should probably remove "pre-glr" as a target now.
bzipitidoo So I ran that snippet with this: time ~/.rakudobrew/bin/perl6 echo.pl < 90Mfile > /dev/null
And it is still horribly slow.
perlpilot bzipitidoo: aye, IO isn't all that optimized yet
timotimo the lookup of $*IN must be super expensive there
awwaiid A tool that I've started to use more is 'tmate' -- it is in apt-get and other package managers and basically lets you create a one-time terminal+ssh session that you can give to someone to debug. Maybe Xliff might be well served pairing with someone in such a fashion 18:24
timotimo is building rakudo right now
awwaiid (it is a shared session, so both parties can contribute)
18:26 abaugher left 18:27 abaugher joined 18:28 domidumont joined
Xliff Aaaand.... we're off! 18:28
"rakudobroew build moar"
Er: "rakudobrew build moar"
F!@#& coffee... this calls for chai. 18:29
perlpilot tmate is just tmux in disguise? 18:30
diakopter timotimo: maybe you could get rakudobrew into debian/ubuntu as a tool to create a "dev checkout tree" for Perl 6. sneaky. 18:32
er, *tadzik
timotimo maybe :)
Xliff panda now bootstrapping successfully! 18:35
18:36 mprelude joined
Xliff "pandal install Readline" -- a little slow on the uptake there, but it started. 18:37
Any other module suggestions for a starting perl6 coder?
timotimo first start is slow, successive starts ought to be faster
Xliff kk
RabidGravy though panda does seem relatively slow to start always 18:38
18:38 tmch left
RabidGravy for some reason i haven't been sufficiently motivated to look into 18:38
timotimo could be
it already has JSON::Fast, though .. *shrug* 18:39
Xliff 7.6G avail. I hope that's enough for my perl6 experiments. :)
RabidGravy I build it on a raspberry pi with an SD not bigger than that :)
18:40 spider-mario joined
ilmari the sum of my ~/.rakudobrew, ~/.perl6, ~/src/{rakudo,moarvm,nqp} is 830MB 18:41
Xliff panda faiiled installing CheckSocket 18:43
bzipitidoo 20 minutes for "use v6; while defined $_ = $*IN.getc { print $_; }" to read a 90M file and send it to /dev/null. real21m12.686s user20m49.204s sys0m21.160s Any performance improvements for I/O in the works? Maybe I should read the file in 4K blocks?
RabidGravy Xliff, in what way did it fail?
timotimo i'm running my int @a; @a[$_]++ for $*IN.slurp-rest(:bin); say @a.join("\n")
it's spending a lot of its time increasing and decreasing reference counts in frames and such 18:44
Xliff So far Perl6 is using less than 360 megs.
RabidGravy, it failed test 1. 18:45
timotimo i'm at 13 seconds for 4 megabytes
Xliff Let me pastebin the results.
RabidGravy yeah, as I'd be waaaay surprised it it failed that
Xliff pastebin.com/t0XUhhPP 18:46
ugexe m: my $foo = [1,2,3]; my $a := $foo.grep(* > 2); my $b := $foo.grep(* < 3); my $c := grep *, $a.Slip, $b.Slip; say $c.perl; # can the assignment to $c be done nicer than using .Slip .Slip? 18:48
camelia rakudo-moar 72ba5a: OUTPUT«(3, 1, 2).Seq␤»
18:48 cpage_ left
ugexe ==>> seems like it would do what i want (but nyi) 18:49
RabidGravy Xliff, that's odd, is by some weird happenstance 'localhost' not '127.0.0.1' ?
Xliff For this VM, localhost is ::1 18:50
However, I don't remember setting this system up for IPv6 so let me adjust hosts file. 18:51
LOL!
That fixed it.
RabidGravy yeah, the test could be a bit flaky if the 127.0.0.1 isn't the same as localhost 18:52
[Coke] I'd open a ticket on that with the module author.
ab5tract ugexe: well volunteered? :)
Xliff [Coke], will do
RabidGravy [Coke], nah he's a real twat
teatime umm, I think localhost should not be ::1
[Coke] teatime: why not, on a ipv6 only system? 18:53
Xliff teatime: That's IPv6 representation of 127.0.0.1 equivalent.
teatime I know what it is.
RabidGravy *and* the IO::Socket::INET will quite happily connect to a v6 if the name resolves that way 18:54
18:55 _nadim left, _nadim joined
RabidGravy the tricky thing is that currently there is no way of knowing *which* it is going to use 18:55
teatime I guess I'd have to lookup if there's any RFCs about it. It ust struck me weird, I have never had a host configured with a localhost -> ::1 mapping, and definitely not a reverse mapping for it. but all mine are dual-stack.
I'll look into it. 18:56
RabidGravy here I have ::1 -> 'localhost6'
teatime right. 18:57
RabidGravy FreeBSD machine that I logged in has ::1 -> localhost *and* 127.0.0.1 -> 'localhost' 18:58
Xliff That's how mine was configured.
Well. Github issue created. 18:59
RabidGravy cheers, but I think [Coke] was joking as I already know ;-) 19:00
Xliff RabidGravy, yes. I figured. I was playing the Straight Guy 19:01
<RabidGravy> [Coke], nah he's a real twat
teatime The relevant RFCs are 6761 and 2606... don't seem to forbid it.
Xliff Kinda clued me in.
19:02 shicheng joined
Xliff Now I really need that chai. 19:02
timotimo why wouldn't localhost be both ::1 and 127.0.0.1
teatime timotimo: I guess I can't think of a really good reason. other than 'things that don't expect this might break'.
Xliff teatime++ 19:03
timotimo i'm willing to call those things "broken" in that regard :)
Xliff The larger question is "how might things expect this?"
19:03 vendethiel joined, sortiz joined
teatime Xliff: when you getaddrinfo() or similar you can choose whether to query for v4, v6, or both addrs. 19:05
s/both/either/
so I guess any s/w that asks for v6 or either when it can't handle it is broken.
timotimo m: 'use nqp; my $l = $*IN.slurp-rest(:bin); my int $s = $l.elems; my Mu $result := nqp::list_i(); loop (my int $idx = 0; $idx < $s; $idx++) { my int $val = $l.AT-POS($idx); nqp::bindpos_i($result, $val, nqp::atpos_i($result, $val) + 1) }; 19:07
camelia rakudo-moar 72ba5a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6s4z6PzJ2B␤Unable to parse expression in single quotes; couldn't find final "'" ␤at /tmp/6s4z6PzJ2B:1␤------> 3val, nqp::atpos_i($result, $val) + 1) };7⏏5<EOL>␤ expecting any of:␤ sing…»
19:07 zacts joined
timotimo m: use nqp; my $l = $*IN.slurp-rest(:bin); my int $s = $l.elems; my Mu $result := nqp::list_i(); loop (my int $idx = 0; $idx < $s; $idx++) { my int $val = $l.AT-POS($idx); nqp::bindpos_i($result, $val, nqp::atpos_i($result, $val) + 1) }; 19:07
camelia ( no output )
timotimo ^- this is not really that fast, but a profile reveals that it apparently spends 50% time all-in-all inside AT-POS
RabidGravy teatime, the IO::Socket::INET quite happily handles either, the problem is that you never know which one you got
teatime finally, good discussion here: bugs.debian.org/cgi-bin/bugreport....bug=427067
timotimo and it also does a bunchton of allocations
[Coke] I wasn't joking; if the test failed and it shouldn't, ticket++ 19:08
teatime [Coke]: I was just interested/curious, I wasn't commenting on whether or not to file a ticket. 19:09
RabidGravy I'm actually tempted to just TODO the test 19:10
'ang on let me try something 19:12
Xliff teatime: Then I would agree. I thought it might be like that, but I've never looked. 19:13
I've never used getaddrinfo()
teatime it's the best/newest lowest-level API for things that use the system resolver. 19:14
RabidGravy I was going to make a module that exposed it at some point
19:14 wamba left
Xliff Well, off to learn about Junctions. 19:16
o7
teatime notes that localdomain is not technically reserved.
Xliff Well, that was fast. 19:19
I must let my mind percolate over the practical implication of Junctions.
19:20 musiKk_ joined
Xliff OK... so now that "cmp" is now "leg" ... who is going to make the obvious joke about "chicken" leg "wing"? 19:22
19:22 FROGGS joined 19:26 espadrine left 19:28 musiKk_ left
Xliff Ouch.... 19:30
The changed ternary operator is going to take a bit to get used to.
Going from "(a) ? b : c" to "(a) ?? b || c" makes it harder to swap languages between Perl6 and... everything else. 19:31
RabidGravy you'll learn after you've typed it wrong twenty times
psch m: 1 ?? 2 || 3 # err
camelia rakudo-moar 72ba5a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/hNxVnId6yA␤Confused: Found ?? but no !!␤at /tmp/hNxVnId6yA:1␤------> 031 ?? 2 || 3 # err7⏏5<EOL>␤»
Xliff But I can see why that change would be necessary. Especially for the parser.
19:31 labster joined
Xliff RabidGravy, yeah, but when you are on a project that uses multiple languages at different stages, what used to be natural across all becomes a special case in one. 19:32
So there's an extra gear shift in your mind that has to become automatic.
psch switching from perl6 to something else is usually what trips me up... :) 19:33
Xliff So I think... for me.... twenty is optimistic! :)
moritz Xliff: fwiw Junctions come in handy on occasion, but they aren't something that you want to use as the foundation of your software
psch "what do you mean java, even a single statement needs a semicolon?" or "what do you mean php, you don't do implicit returns?"
Xliff moritz: Yes. I can see that.
masak what moritz said.
Xliff BTW --- GOOD WRITEUPS! I'm loving these.
Some small errors but the information comes across. Thank you. 19:34
masak Xliff: btw, it's ?? !!, not ?? ||
[Coke] I find that nearly every time I've wanted Junctions for something, Perl 6 wanted me to want Sets instead.
Xliff masak: GAK! You are correct. That makes it even harder!
masak Xliff: the mistake I always tend to make is to write it as ? ! in other languages :P
Xliff Because "!!" isn't what you'd consider to be an "alternate" operator. 19:35
And as far as Junctions go.... I don't think I'll be using them much unless the fancy strikes me.
And their use would be fairly conservative. 19:36
I can't (yet) see my mind flexible enough to identify a problem as "Hey! Junctions would be good here!"
At least at first.
psch non-metal-math bitmasks vOv
Xliff What? 19:37
psch eh, non-math bitmasks rather
Xliff Sevendust meets Calculus?
Oh. Wait. You said "NON-metal"
psch as in, ' if $name eq any<Smith Jones> { } '
yeah uhm
Xliff Sooo less interesting. Even if it was a typo.
psch and "bitmask" as "how bitmasks are used" even
sooo, a clearly too low information densitiy comment 19:38
Xliff No. I get it.
[Coke] bitmasaks.
19:38 vendethiel left
Xliff LOL 19:38
psch 'if $post eq any(@banned)' is probably somewhat realistic :)
Xliff more like 19:39
psch *poster
Xliff 'if $ip eq any(@banned)'
Which is an idiom I would have killed for, 10 years ago.
Gotta wonder what the performance hit on any() is as compared to looping
timotimo it can be pretty punishing 19:40
19:40 nadim joined
Xliff Is any() iterative, or is there some branching going on behind the scenes.... (dependent on type, of course) 19:40
timotimo it's short-circuiting 19:41
i don't know what branching means here
19:41 _nadim left
timotimo the way autothreading on junctions works is a bit round-about 19:42
19:43 nadim left, nadim joined
Xliff timotimo: Branching - Taking the elements of x in any(x) and converting it to some form of tree so that the comparison is less than O(N) 19:44
Particularly for a large x
timotimo ah. well, any is about much more than just eq
and you can't do better than O(n) here
you're thinking of sorting :) 19:45
Xliff Yeah
timotimo you can use a hash instead, that'll get you better complexity
a hash or a set
Xliff Was thinking more hashing.
Data::Dump::Tree fails *sigh*
timotimo :o 19:46
why?
Xliff Lemme pastebin
19:47 vendethiel joined
Xliff pastebin.com/455QJid7 19:47
pastebin implements a really annoying captcha check.
timotimo huh 19:48
Xliff misses the day when Submit actually meant SEND THE THING, DAMMIT!
timotimo time for --notests
:P
maybe the tests aren't right at the moment
Xliff Possible. I do understand this is bleeding edge, here.
timotimo it looks like the format of DDT may have changed since the tests were last touched, who knows
Xliff I miss the .cpan days when I could find the build trees and do manual checks. 19:49
19:50 hankache joined
timotimo what, like "panda look"? 19:50
or modules.perl6.org/repo/Data::Dump::Tree :)
Xliff Oooh! And it even puts me in the right CWD 19:52
hankache hello #perl6
timotimo greetings hankache :)
Xliff "panda look Data::Dump::Tree"
timotimo i know :)
hankache hiya timotimo
timotimo it starts a subshell, too, so when you exit out, you're back to where you were
Xliff People should TELL ME these things before I go and put my virtual foot in my virtual piehole. 19:53
19:55 darutoko left
Xliff Is there a way to get an interactive p6 shell? 19:56
timotimo "perl6" 19:57
Xliff Tried that. thought it was just looking for a program
19:58 shicheng left
timotimo currently it greets you with: 19:58
19:58 kent\n left, rindolf left, ribasushi left
timotimo To exit type 'exit' or '^D' 19:58
19:58 kentnl joined, kentnl left, kentnl joined
timotimo > 19:58
Xliff Yeah. I don't get any response when I do that. Even ^D doesn't work
timotimo that sounds like you're supposed to type ^D literally
both of those work for me
19:58 cgfbee left, zostay left, raydiak_ left, hcit left
timotimo though perhaps it was just taking some time to pre-compile Linenoise or Readline for you 19:59
Xliff Trying again with a "sleep 60" sent to my brain.
Nope. Still nothing. 20:00
20:00 hcit joined, zostay joined
timotimo it doesn't even give you a "> "? 20:00
Xliff Nope. That's what I would expect to see. 20:01
timotimo you did say you were using "rakudobrew build moar"?
oh
i know what's wrong
Xliff Yes
O?
timotimo when you're inside "panda look", panda is holding the compunitrepo's lock
that prevents the lookup/load of Linenoise and/or Readline
Xliff Ouch.
timotimo so your child is waiting for its parents parent to exit
Xliff And there it goes. 20:02
hoelzro timotimo: is that a bug with panda? or just an LTA behavior with CUR that's there for now?
20:02 cdg joined
timotimo not exactly sure. i expect we can make panda not do that 20:02
Xliff I guess we'll go with the browser method, then. 20:03
20:04 Upasaka left
Xliff And --notests 20:04
20:07 ribasushi joined
timotimo i'm opening an issue about the tests 20:09
20:11 raydiak_ joined
Xliff Yeah. Looks like the Match internals changed􏿽x85 20:12
20:12 synopsebot6 left, itaipu joined, synopsebot6 joined
timotimo the internals ouf our match objects are unlikely to change or have changed 20:12
Xliff Well, at least what DDT is reporting. 20:13
20:13 Upasaka joined 20:14 musiKk_ joined
timotimo it's possible that the way ddt dumps match objects changed, but the tests weren't updated yet 20:14
20:15 shicheng joined
dalek osystem: 87ce5ce | RabidGravy++ | META.list:
change CheckSocket to META6.json
20:16
RabidGravy puts back his /etc/hosts how it was before 20:17
Xliff timotimo: Yes. You said that before, and I think you're right.
20:17 cgfbee joined
timotimo it's just that when you said "the match internals", it sounded like you meant the match object itself. as in, the one perl6 supplies 20:17
Xliff What I said wasn't what I meant. Sorry. 20:18
timotimo no worries :)
Xliff timotimo: pastebin.com/V38BddUH 20:19
Note lines 20-23 and 34 thru 37 20:20
timotimo sorry, i've gotta run now
Xliff OK.
psch RabidGravy: i was thinking of turning Audio::PortMIDI::DrumTab into a module 20:22
RabidGravy: and then i wrote a test and decided i don't want to write more tests
RabidGravy :) 20:23
psch also the format is pretty "typically musicians", with all those non-standardized everythings /o\ 20:24
RabidGravy yeah, it's emtirely possible that the oxX actually mean something different to drummers but they don't to me :-O 20:25
psch en.wikipedia.org/wiki/Drum_tablature
well, it fits with that
...almost 20:26
RabidGravy oh I see
psch well, what your amen notation doesn't do is the ghost notes
the citation reveals a bit more of the madness :l
Xliff Ooh! Amen break?
Where?
RabidGravy Xliff, it's one of the examples in Audio::PortMIDI 20:27
psch Xliff: github.com/jonathanstowe/Audio-Por...mples/amen
hankache what editors do you use to write Perl 6 code? 20:28
Xliff Thanks.
perlpilot vi
(vim really these days)
Xliff Damn. I can almost read this... Is that a sign of impending dementia?
hankache, If you are running Windows, you can't go wrong with Sublime Text 3 20:29
20:29 shicheng left
hankache well i use Atom but lately i broke it 20:29
maybe it's a sign ;)
20:30 domidumont left
RabidGravy last time I used a "real" vi I actually got quite annoyed with it 20:30
weakened by years of vim
Hotkeys Last time I used real vi it was in the tty when I was configuring arch
It was not fun
RabidGravy no it was probably vim 20:31
Hotkeys Maybe
Either way it didn't play nice with the tty
I say tty 20:32
RabidGravy the only place you see the real vi is things with some SysV heritage like Solaris
Hotkeys I'm probably using that wrong too
I mean the console bit when you aren't running x
RabidGravy yeah, you see unless you've really used a teletype you haven't really lived 20:33
Hotkeys Haha
Xliff RabidGravy, I see what you mean by the "x" and the "X". I can't tell the difference in that example. 20:34
Used this for comparison.
www.youtube.com/watch?v=qwQLk7NcpO...l=malminho
Hotkeys It was so annoying to use that I ended up using nano for initial setup of arch
Yes nano
Xliff I'd need to grab a drum sequencer and program it to really see.
"teletype" -- you mean those weird things that look like tube TVs that spewed green shit out at you? 20:35
Been there. Done that.
RabidGravy well actually I meant the things like big typewriters with rolls of papart 20:36
er paper
Hotkeys Xliff: that's a terminal I believe 20:37
teatime Hotkeys: think you have it backwards
a teletype == a typewriter connected to a serial, phone, etc. line
Xliff Oh god! I was arong. 20:38
s/arong/wrong/
Hotkeys And a terminal is a clienty computer that spews green stuff at you no?
RabidGravy mind I haven't used a dumb terminal for ages either
Xliff c3.staticflickr.com/3/2142/16789489...3278_b.jpg
Hotkeys Right a dumb terminal
I was not backward teatime
Xliff Seen one of these, but haven't been crazy enough to use them.
RabidGravy used to quite like the keys on the Wyse terminals back in the day 20:39
Hotkeys I'm the king of making typos
RabidGravy and of course the lovely IBM 5251, best keyboard EVAH!
Hotkeys I can't imagine that'd be fun
On a tty
Xliff Hotkeys: I will give you a run for your money,.
See? Fat fingers. ",." instead of "."
20:40 sno left
Xliff I want a claky keyboard that is so heavy it could be considered a deadly weapon. 20:40
RabidGravy yeah the old IBM ones
Xliff SOLID keys. Not this chicklet stuff that we are currently dealing with.... (I'm looking at YOU, Apple!) 20:41
RabidGravy even the ones you got with PC XTs were better than modern ones
Xliff I loved the XT keyboards.
[Coke] (clacky keyboard) see obra's kickstarter. (which is long kicked) 20:43
RabidGravy yeah they looked nice
20:43 MadcapMobile left
RabidGravy psch, another thing that could be done with drum tab parser is turning them into Hydrogen patterns 20:46
gwan!
Hotkeys Mechanical keyboards or bust 20:47
[Coke] I remember the worst keyboard of all time, the Atari 400. (it's at least in the top 10) 20:48
20:48 shicheng joined, rindolf joined, Hotkeys is now known as SrKeys
SrKeys I am señor keys now 20:49
Fyi
I forgot that I'm in like 1,000,000 channels on freenode and this nick change is relevant to only one
psch RabidGravy: uh, probably? i have literally no experience with hydrogen :) 20:51
Xliff RabidGravy, since you suggested it, maybe you want to write the patch?! =) 20:54
RabidGravy which patch?
Xliff The one where you convert drum tab notation into hydrogen patterns. 20:55
20:55 cpage_ joined
Xliff psch, unfortunately you have quite the experience with hydrogen. We all do. It's literally -everywhere- 20:55
SrKeys Drum you say?
www.catb.org/jargon/html/story-of-mel.html 20:56
RabidGravy Oh it would just rip the guts out of the amen example and use Audio::Hydrgogen to build the pattern
SrKeys I'm h
Oh
Different kind of drum
I'm dumb
Xliff suddenly realizes that RabidGravy is talking about the drum software, not the element.
SrKeys Good story anyway
Xliff D'oh!
www.hydrogen-music.org/hcms/ 20:57
I am downloading it now.,
RabidGravy yeah, it's quite good
20:58 hankache left
RabidGravy that's why I wrote github.com/jonathanstowe/Audio-Hydrogen 20:58
:)
Xliff LOL
[Coke] all this talk about music reminds me that I haven't seen colomon in a while. 20:59
.seen colomon #in a while
yoleaux I haven't seen colomon #in a while around.
[Coke] .seen colomon
yoleaux I saw colomon 15 Mar 2016 20:02Z in #perl6: * colomon is afraid something is broken in Rat literals in rakudo.
colomon o/
Xliff LOL
Speak of the devil
[Coke] \o 21:00
colomon is still afraid something is broken in Rat literals
[Coke] do you have a test? 21:01
RabidGravy who was it that was talking about making a fluidsynth module?
[Coke] I saw a note or ticket about very large rat literals that ended up comparing identical when they weren't.
21:02 sno joined
colomon [Coke]: let me see if I can dig up what I was playing with (that wasn’t it, but might have been related) 21:02
[Coke] but I haven't seen any spectest failures regarding it.
colomon m: say “98989898889898989898090909093983830​2233848473393040383234234509484.3489​523478234723847238432423”.Rat.nude 21:04
camelia rakudo-moar 72ba5a: OUTPUT«Cannot convert string to number: trailing characters after number in '0398989898889898989898090909093983830⏏5​2233848473393040383234234509484.3489​523478234723847238432423' (indicated by ⏏)␤ in block <unit> at /tmp/Y9UCYfzYm8 line 1␤␤Actu…»
colomon m: say “98989898889898989898090909093983830​2233848473393040383234234509484.3489​23478234723847238432423”.Rat.nude 21:05
camelia rakudo-moar 72ba5a: OUTPUT«Cannot convert string to number: trailing characters after number in '0398989898889898989898090909093983830⏏5​2233848473393040383234234509484.3489​23478234723847238432423' (indicated by ⏏)␤ in block <unit> at /tmp/rncNFIe9DN line 1␤␤Actua…»
colomon m: say “98989898889898989898090909093983830​2233848473393040383234234509484.3489​523478234723847238432423”.Rat.nude
camelia rakudo-moar 72ba5a: OUTPUT«Cannot convert string to number: trailing characters after number in '0398989898889898989898090909093983830⏏5​2233848473393040383234234509484.3489​523478234723847238432423' (indicated by ⏏)␤ in block <unit> at /tmp/QcSzybOpny line 1␤␤Actu…»
colomon argh
m: say “989898988898989898980909090939838302233848473393040383234234509484.3489523478234723847238432423”.Rat.nude 21:06
camelia rakudo-moar 72ba5a: OUTPUT«(9898989888989898989809090909398383022338484733930403832342345094843489523478234723847238432423 10000000000000000000000000000)␤»
21:06 kurahaupo joined
colomon m: say (989898988898989898980909090939838302233848473393040383234234509484.3489523478234723847238432423).Rat.nude; 21:06
camelia rakudo-moar 72ba5a: OUTPUT«(9898989888989898989809090909398383022338484733930403832342345094843489523478234723847238432423 9999999999999999583119736832)␤»
colomon notice those are exactly the same number converted to a Rat two different ways, with two different results. 21:07
21:11 yqt joined
SrKeys colomon: might have to do with the epsilon 21:11
[Coke] ISTR there's a slightly differnent path for strings and not strings. 21:12
Xliff Subtracting the second from the first gives 0
[Coke] but even if the path was different, the final answer should be the same. wondering if something is hitting a Numeric in there at some point. 21:13
colomon hitting a Num
that’s my guess too
21:13 FROGGS left
[Coke] which could be if one path is careful and the other ain't. 21:13
colomon Xliff: note they clearly are not equal 21:14
[Coke] m: say <12345.6789>.perl; say (12345.6789).perl;
camelia rakudo-moar 72ba5a: OUTPUT«RatStr.new(12345.6789, "12345.6789")␤12345.6789␤»
[Coke] pretty sure that's been there since Christmas, then. 21:15
colomon Xliff: but I would expect subtracting one from the other to spill over into floating point
21:17 TEttinger joined
colomon [Coke]: may have been there quite some time, it would be hard to notice. 21:17
21:23 trnh joined
Xliff colomon: I was hoping it would hit FP, too. Since its reporting 0, doesn't that indicate the difference is smaller than epsilon? 21:26
colomon Xliff: I’m not sure what you mean by epsilon? 21:27
Xliff The smallest FP number representable.
colomon oh, no, this shouldn’t be anywhere near that. 21:29
Xliff *shrug*
Just a thought.
colomon but it’s drastically more digits of precision that our floating point has
Xliff RabidGravy, got a hydrogen question for you if you have the spare bandwidth. /j #hydrogen
RabidGravy sure
Xliff RabidGravy, #hydrogen is open. I'm already there. 21:30
RabidGravy eh? 21:31
Oh I see
Xliff :)
colomon m: say “989898988898989898980909090939838302233848473393040383234234509484.3489523478234723847238432423”.Rat - (989898988898989898980909090939838302233848473393040383234234509484.3489523478234723847238432423).Rat; 21:34
camelia rakudo-moar 72ba5a: OUTPUT«-4.12669351001948e+49␤»
colomon Am I doing something stupid here? that’s what I get when I subtract one from the other, not zero. 21:35
colomon poinders making “Am I doing something stupid here?” his motto 21:36
geekosaur m: “989898988898989898980909090939838302233848473393040383234234509484.3489523478234723847238432423”.Rat.perl.say 21:37
camelia rakudo-moar 72ba5a: OUTPUT«989898988898989898980909090939838302233848473393040383234234509484.348952347823472397436717074015177786350250244140625␤»
geekosaur something looks slightly wrong there...
colomon indeed 21:38
geekosaur oh, hm
geekosaur wonders if the Str->Rat coercion is limited to actual Rat vs. FatRat 21:39
moritz the literal probably degrades right into Num
colomon moritz: then why doesn’t the Str->Rat version do so? 21:40
geekosaur oh, I see. 21:41
because you're directly converting the Str instead of letting perl6 decide to store the numeric literal in a Num initially and then converting that? 21:42
colomon hmm…
m: “989898988898989898980909090939838302233848473393040383234234509484.3489523478234723847238432423”.Rat.WHAT
camelia ( no output )
colomon m: say “989898988898989898980909090939838302233848473393040383234234509484.3489523478234723847238432423”.Rat.WHATa
camelia rakudo-moar 72ba5a: OUTPUT«Method 'WHATa' not found for invocant of class 'Rat'␤ in block <unit> at /tmp/uuj4EIVcZC line 1␤␤»
colomon m: say “989898988898989898980909090939838302233848473393040383234234509484.3489523478234723847238432423”.Rat.WHAT
camelia rakudo-moar 72ba5a: OUTPUT«(Rat)␤»
21:42 itaipu left 21:45 itaipu joined 21:46 pdcawley left
Xliff m: (989898988898989898980909090939838302233848473393040383234234509484.3489523478234723847238432423).WHAT 21:47
camelia ( no output )
21:47 wamba joined
Xliff m: say (989898988898989898980909090939838302233848473393040383234234509484.3489523478234723847238432423).WHAT 21:47
camelia rakudo-moar 72ba5a: OUTPUT«(Rat)␤»
21:47 pdcawley joined
Xliff Interesting that you got an answer to the subtraction, but that might be coz my VM is 32 bit. 21:48
Oh, no. I got zero because both terms used ".Rat.nude" instead of ".Rat" 21:49
lucs Um, a FakeDir appeared in my $HOME (not sure quite when); can I just delete it? 21:50
21:58 pdcawley left 22:05 Ven left 22:07 pdcawley joined 22:10 ribasushi left 22:15 kid51 joined 22:16 ribasushi joined
RabidGravy lucs, yeah, it's p6doc doing that I think 22:19
lucs Okay, thanks. 22:20
(It might consider doing it in /tmp or something, just saying.) 22:21
22:22 daxim left 22:26 Sgeo__ joined 22:37 maybekoo2 left 22:44 jack_rabbit joined 22:49 vendethiel left, rindolf left, AlexDaniel joined 22:50 musiKk_ left 22:51 kurahaupo_ joined, kurahaupo left 22:58 _nadim joined 22:59 nadim left
RabidGravy right that's me done for the day 22:59
toodles
timotimo toddlers, RabidGravy 23:00
SrKeys I 23:02
I want to leave you all with this disgusting lump of mess
m: my @nonsense = [-8, 3], [4,-2], [4,1], [-73, 6]; (map {$_+99}, flat [Z] deepmap {$_+6}, ({flat @^a Z @^b} for (-> *@_ { (@_[0], |deepmap({$_*4}, @_[1,2]), @_[3]).Array }(|@nonsense))))».chr.join.say
camelia rakudo-moar 72ba5a: OUTPUT«ayy lmao␤»
timotimo ".chrs" is neater than ">>.chr.join" 23:03
23:04 RabidGravy left
SrKeys timotimo: that's no fun 23:04
this isn't about clean
timotimo OK :) 23:05
SrKeys :p
tadzik hahah 23:08
timotimo heyo tadzik 23:09
how are you on this wonderful day?
tadzik quite alright!
m: my @a = "hip" xx 2; say ~(@a, @a.WHAT.perl), "!"
camelia rakudo-moar 72ba5a: OUTPUT«hip hip Array!␤»
timotimo heh. 23:10
i think the cat wants to be played with
tadzik I planned to go to bed early, and did, like 3 hours ago. I woke up recently and feel rested -_-
timotimo oh, huh
23:10 Woodi left
timotimo i hope that feeling lasts you a good long while :) 23:10
23:11 Woodi joined
tadzik I wish :P 23:11
23:12 kid511 joined 23:13 kid51 left 23:14 trnh left 23:22 bzipitidoo left 23:25 bjz_ joined 23:26 itaipu left 23:28 bjz left, kentnl left 23:32 vendethiel joined 23:36 nowan left, nowan joined 23:37 kent\n joined 23:41 z8 joined
timotimo played the cat a bit 23:45
23:49 daxim joined 23:53 kentnl joined, kentnl left, kentnl joined, kent\n left, vendethiel left 23:55 Ben_Goldberg joined 23:56 _nadim left