»ö« 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.
lambd0x The newest rakudo is more reliable for large sized inputs when it boils down to sorting algs (e.g., bubble up to counting, bucket) ;) . I enjoyed seeing it had improved performance in comparison to last month. Gotta sleep, later. 00:46
tushar I have an array and I would like to create same length of array by joining the index of first array with a text. I am achieving this by below code. Is there any other way of doing the same? 00:53
m: my @a = [1..4]; for @a.pairs.hash.keys.sort -> $idx { say join("", "V", $idx); }
camelia rakudo-moar 8be36b: OUTPUT«V0␤V1␤V2␤V3␤»
geekosaur m: my @a = ^4; say @a >>~>> 'V' 01:05
camelia rakudo-moar 8be36b: OUTPUT«[0V 1V 2V 3V]␤»
tushar geekosaur: you are doing joining of array element with text, not array index with text. Also, joining results are other way around. I am trying to get "V0, V1, V2, V3". 01:08
geekosaur m: my @a = ^4; say @a.keys >>R~>> 'V' 01:09
camelia rakudo-moar 8be36b: OUTPUT«(V0 V1 V2 V3)␤»
geekosaur m: my @a = [5..8]; say @a.keys >>R~>> 'V' 01:10
camelia rakudo-moar 8be36b: OUTPUT«(V0 V1 V2 V3)␤»
tushar geekosaur: thanks. How can i forget R operator? hmm.. 01:11
perlawhirl alternatively...
m: my @a = 1..4; say @a.keys.map('V'~*) 01:12
camelia rakudo-moar 8be36b: OUTPUT«(V0 V1 V2 V3)␤»
tushar Is there anyway to check the empty array?
geekosaur or alternately
m: my @a = ^4; say 'V' <<~<< @a.keys
camelia rakudo-moar 8be36b: OUTPUT«(V0 V1 V2 V3)␤»
geekosaur and what is "check the empty array"?
m: my @a; say +@a 01:13
camelia rakudo-moar 8be36b: OUTPUT«0␤»
tushar In perl 5 we can check whether an array is defined or not using "define" keyword. I read some where that defined doen't work exactly same as Perl5. So, is there any way to check if array is empty array or not? 01:14
geekosaur I thought they removed that, actually; defined is not sensible on list or hash 01:15
(iirc it did'nt tell you whether it was empty; it told you whether it had storage allocated) 01:16
tushar hmm.. How can we do that in Perl 6? 01:18
Juerd tushar: Just use the array itself as the condition 01:19
geekosaur as I already showed
Juerd m: my @array = (); if (@array) { say "Not empty" } else { say "Empty" } 01:20
camelia rakudo-moar 8be36b: OUTPUT«Empty␤»
Juerd m: my @array = (1, 2, 3); if (@array) { say "Not empty" } else { say "Empty" }
camelia rakudo-moar 8be36b: OUTPUT«Not empty␤»
geekosaur (and yes, at least as of perl 5.18 defined @array and defined %hash are deprecated)
Juerd Note that this is the same in Perl 5 and Perl 6. Even in Perl 5, you shouldn't use defined with arrays, as geekosaur already explained.
tushar @geekpsaur and @ Juerd.. thanks for your help 01:21
perlawhirl tushar: also, the brackets aren't required around simple conditionals like this... more idiomatic perl6 is just: if @array { ... } 01:23
unless you're trying to write polyglot code that runs in both perl 5 and 6 :D 01:24
tushar perlawhirl: thanks. I am getting used to it now.
geekosaur in p5: my @a = 1; pop @a; # @a is now empty but defined
which usually isn't what you intended, and arguably allocation state is an internal detail that was being leaked 01:25
BenGoldberg m: my @a = 1; say @a.elems; 02:21
camelia rakudo-moar 8be36b: OUTPUT«1␤»
BenGoldberg m: my @a = 1; say @a.!elems;
camelia rakudo-moar 8be36b: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Malformed postfix call␤at <tmp>:1␤------> 3my @a = 1; say @a.7⏏5!elems;␤»
BenGoldberg m: my @a = 1; say elems R.@a; 02:22
camelia rakudo-moar 8be36b: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared name:␤ R used at line 1␤␤»
dalek osystem: 85652c5 | (Sterling Hanenkamp)++ | META.list:
Adding Getopt::ForClass to the Perl 6 ecosystem
05:01
cxreg probably useful: github.com/indutny/uv_link_t 05:07
maybe better directed at #moarvm 05:09
markk For email this is. But it isn'^H/w 2 06:29
Erk. Sorry stupid connection over mobile 06:30
brrt has… t/04-nativecall/13-union.t always been flappy? or rather, for how long has it been so? 07:19
does not seem to respond to MVM_JIT_DISABLE
which are typical much more repeatable anyway
nine brrt: does look familiar. I think I've seen it fail at times 07:32
brrt hmmm
weird
masak m: my ($temperature = 37, $pressure = 19, $balloonCount = 65); say $pressure 08:03
camelia rakudo-moar 8be36b: OUTPUT«(Any)␤»
masak morning, #perl6 :)
[ptc] masak: o/ 08:05
lizmat masak: that should either at least die or work 08:17
evidently it is parsed
afk& 08:20
masak lizmat: agree, I think 08:21
lizmat: it's surprising that it means *something* to Perl 6, but that something is not Least Surprise to the user
also, not the first time this is brought up -- there's probably an RT somewhere :) 08:22
arnsholt I wonder who submitted the RT =) 08:24
(Also, I feel rather strongly that $balloonCount should be 99 =)
masak ah; sorry about that 08:25
m: my ($balloonCount = 99); say $balloonCount 08:26
camelia rakudo-moar 8be36b: OUTPUT«(Any)␤»
masak it's almost more disturbing when it's only the one variable declared
...because parentheses are just for grouping, right? right? :)
moritz ... except when not :/ 08:30
arnsholt Well, when looking at --target=ast for the case with parens, it looks like the integer literal is gone from the AST 08:32
El_Che aah. I hate it when DHL marks something as 'delivered' when it isn't 08:34
lizmat El_Che: don't get us started on DHL :-) 08:35
tadzik :D
delivery seems like something that's tricky to get right
El_Che lizmat: the USA import hing?
t
lizmat El_Che: yeah that
lizmat still waiting for them to take us to court :-) 08:36
brrt wonders about that story
lizmat in short: you cannot send something from NL to yourself in the US if you're not a US citizen 08:39
arnsholt tadzik: Logistics is tricky. Chock full of NP-complete problems
lizmat DHL gladly did and charged us for it there and back. we still refuse to pay
arnsholt Travelling salesman for example is a pretty fundamental part of logistics
tadzik nodnod
moritz arnsholt: the algorithmic side usually isn't the problem 08:40
arnsholt: the problem is more regulations, company policy and stuff
arnsholt That's true. There are good approximations for TSP
moritz dealing with organizational boundaries
all that "good" stuff
El_Che dhl is annoying. When you order stuff from the USA to BE, they automatically add import taxes + an administrative fee for their work 08:41
other don't do it
you only pay if customs thinks you should pay (base on value or volume or whatever)
dhl does it for you without asking 08:42
brrr
masak lizmat: curious. so the shipment actually got all the way to the US, and then got sent back? 08:46
lizmat: one would think that DHL had been in exactly such a situation before, and could be a little proactive -- "hey, this won't work" or something 08:47
lizmat yup, all the way to Cleveland, OH (destined for Salt Lake City) and then back
masak: exactly our point
masak lizmat: I don't see how it's in your interest to pay. I don't see how it's in their interest to take you to court over such an absurd thing. (though I Am Not A Lawyer.) 08:49
lizmat well, they've been threatening to do this for over a year now :) 08:49
llfourn_ it's probably in their interest to at least threaten it ;)
lizmat well, that's the thing, they don't threaten themselves 08:50
they have a collection agency do that
masak outsource your threatening
llfourn_ ah
tadzik "we're not evil"
lizmat and now I think the collection agency basically has told them this isn't working
and now they don't know what to do
tadzik: I don't think they're evil, just incompetent 08:51
after the collection agency returned the contract to get the money from us to DHL
they said they would reply
to this day, we never got a reply in writing from DHL
just a phone call from some understudy at DHL who was told to phone us to tell us they decided we should pay 08:52
lizmat the person who called us had not read the file at all 08:52
so, incompetence reigns
tadzik heh 08:52
tadzik right, “don't attribute to malice what you can attribute to simple incompetence” 08:53
llfourn_ though I think some malicious people may have figured out how to abuse that assumption :\ 08:54
masak there should be a term for such people, who know to abuse Hanlon's razor 09:00
"Hanlon parasites"?
masak .oO( Hanlon parasite (n.) a person who exploits people's willingness to attribute their malice to incompetence due to Hanlon's razor ) 09:01
llfourn_ I never knew it was an razor attributed to Halon till now 09:02
masak ah; you're just saying that to be malicious :P
llfourn_ maybe someone who abuses common knowledge of a razor could be stabber 09:03
they cut you with the razor
or something similar
masak stabbing is not so naturally associated with razors, IMHO
llfourn_ true
cutters :P
masak "Hanlon slasher", perhaps
llfourn_ yeah that's good :)
masak yes, I think I prefer that
lizmat
.oO( I want to be a lumberjack! )
llfourn_ I'm pretty sure Occam slashers are a thing too 09:09
konobi lizmat: it's surprisingly well paid if you have the degree 09:11
llfourn_ m: role R { method f {...} }; class A { method f { } }; class B does R { has A $.a handles <f> is required }; 09:33
camelia rakudo-moar 8be36b: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Method 'f' must be implemented by B because it is required by a role␤at <tmp>:1␤»
llfourn_ ^ since $.a handles 'f' I think this should work
psch i think that's on composition order, somehow 09:36
m: class A { has $x handles <foo> }; say A.^can('foo');
camelia rakudo-moar 8be36b: OUTPUT«(foo)␤»
psch a handled method gets added to the class of the Attribute
but the role-stub check probably happens before that
no idea if we can change that
jnthn It's because role composition happens before attribute composition because roles might bring along attributes
llfourn_ hmm that makes sense 09:37
jnthn That in itself can't change. It's possible that the handles trait could do its work more immediately but I fear that'd have a different surprise
llfourn_ I'll make an RT for later consideration :) 09:38
psch ISTR we have that already
jnthn oh...yeah, it'd break when the handles is in a role, at least if we don't make further changes to compensate for that :)
psch i think it was about 'does Positional' and 'has @.a handles <AT-POS ...>'
have the RT, i mean 09:39
llfourn_ psch: I've looked for an RT wrt to handles and stub methods but haven't found 09:39
psch llfourn_: alright, maybe it was just discussion here and didn't make it to RT :)
llfourn_ I did make a RT related to delgating array stuff to arrays via handles but not really the same thing 09:39
llfourn_ RT #129325 09:46
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=129325
llfourn_ I'd guess the solution would be to delay required method checking until after attribute composition 09:47
jkramer m: IO::Path.new('foo/../baz').absolute('/bar').resolve 10:18
camelia rakudo-moar 8be36b: OUTPUT«IO::Path is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting line 1␤ in method new at src/RESTRICTED.setting line 32␤ in block <unit> at <tmp> line 1␤␤»
jkramer Hmm
Can someone confirm that IO::Path.absolute returns a Str when according to the docs it should return an IO::Path? 10:19
# perl6 -e "IO::Path.new('foo/../baz').absolute('/bar').resolve"
Method 'resolve' not found for invocant of class 'Str'
docs.perl6.org/type/IO::Path#method_absolute 10:20
brrt m: IO::Path.new('foo/../baz').absolute.say; 10:21
camelia rakudo-moar 8be36b: OUTPUT«IO::Path is disallowed in restricted setting␤ in sub restricted at src/RESTRICTED.setting line 1␤ in method new at src/RESTRICTED.setting line 32␤ in block <unit> at <tmp> line 1␤␤»
brrt yep, returns a Str
jkramer Ah, there's already a report rt.perl.org/Public/Bug/Display.html?id=126262 10:22
masak new blog post: strangelyconsistent.org/blog/where-in-the-sky (not really Perl 6, not yet anyway) 10:41
gfldex masak++ # for consistently writing strangly :) 10:44
masak haven't been all that consistent in my writing lately... :) 10:45
moritz masak++
masak instead, I've been building up a backlog of posts-I-want-to-write
moritz I've also written a non-Perl 6 blog post: perlgeek.de/blog-en/misc/2016-bio.html (warning: pseudo philosophical ramblings in there)
masak moritz++ # blog post 10:47
lizmat masak: there's an app for that 10:56
I mean, an app that you can point at the sky at it will show you stars / planets, even below the horizon :-) 10:57
masak I address that in the post -- that's not what I'm after ;)
I'm sure there are plenty of good apps out there
but I don't want the pre-packaged ready answer 10:58
I want the joy of carrying out the calculation right (using my own code)
(yes, I realize that is weird. I'm into re-inventing wheels to see if I can.)
lizmat masak: oops, should read more carefully :-) 10:59
masak: the apps I've seen are amazing, really
masak I should try them.
masak especially when I get numbers of my own, to compare :) 10:59
lizmat I seem to remember SkyView Free 11:00
brrt recalls 'so long, and thanks for all the fish', in which writing-a-program-to-compute-the-position-of-the-stars is a plot device 11:01
arnsholt moritz: "Who are you?" gives me a proper Babylon 5 flashback =) 11:02
gfldex I am me, that I am certain of. What that means I am not certain of.
moritz gfldex: that's kinda the point :-) 11:03
masak gfldex: even Descartes got a bit further than that :P 11:04
gfldex moritz: your post made me think of what will remain of me when I am not. There is pretty much nothing left of the original Linux or Unix source code. But what about man-pages? Does writing docs made me immortal (for a value of immortal that depends on how long humans use english)? 11:05
moritz gfldex: and, is it really important that something will remain of you, after your death? 11:06
you won't care anymore
the idea is nice, but why?
gfldex For the I-am-me-problem it has relevance. 11:07
moritz gfldex: also, today's Linux evolved from Linux 0.01. Even if none of the code of Linux 0.01 remains in today's kernel, its inheritance in terms of project/community still influences Linux today
(where by Linux 0.01 I mean the first code that Linus wrote, even if it never had that version tag) 11:08
gfldex I can refer to something persistent that others can refer to, proving that I am not imagining me (for low values of proof).
moritz others can refer to your body, or to your lines on IRC just the same 11:09
moritz is being obnoxious today
gfldex also humans seam to like grave stones, what is a completely pointless endeavour for the person whos name is on it.
[ptc] it's nice to have the feeling that one has made a contribution to society etc., at least while one is still "here", however afterwards it only probably matters to those left behind 11:10
moritz: nice post btw :-)
moritz [ptc]: thanks
gfldex: right, that's really for those left behind to help them deal with their grief 11:11
RabidGravy if anyone fancies shutting up a warning in panda github.com/tadzik/panda/pull/330 11:33
lizmat done 11:38
RabidGravy cool 11:45
masak I'm seeing issues with precompilation 11:56
new behavior from a change doesn't kick in until I manually remove lib/.precomp 11:58
lizmat masak: I assume you have the latest / greatest ? 12:00
masak ...probably not. good point.
masak makes it so
Woodi hi #perl6 :) 12:04
masak symptoms seem to be gone in the latest/greatest. lizmat++ :) 12:05
Woodi I think we need more talk about what we want from repos. version is something like smallest granularity so in case version isn't changed on source changes repo should not kick in. and it works good for eg. system wide installations. for devs there is other repo representation but probably we do not know how to create/manage repos in nice way... IMO of course 12:09
nadim hi 12:15
[Coke] ho 12:16
nadim [Coke]: you taukin' to me, you taulkin' to me ... ;) 12:18
dalek c: 12ec5fc | jnthn++ | doc/Type/Str.pod6:
Correct and expand on the documentation of ords.
13:46
bioduds sqlite is the only I could put to work so far, with DBLis 13:50
DBIish 13:51
ZoffixW You sure you got all the libs? sqlite is the only one included with that module 13:53
yoleaux 23 Jun 2016 14:13Z <hahainternet> ZoffixW: alternate design looks superb
ZoffixW .oo( alternate design??? )
moritz that's from June. doc.perl6.org maybe?
bioduds sqlite will do for now
bioduds :) 13:53
moritz postgres dbiish driver worked fine for me, last I tried 13:54
ZoffixW c: &say 13:56
Undercover ZoffixW, The code is hit during stresstest [WARNING: this line is a proto! Check individual multies] See perl6.WTF/src_core_io_operators.pm....e.html#L20 for details
ZoffixW c: &say, \()
Undercover ZoffixW, The code is NOT hit during stresstest See perl6.WTF/src_core_io_operators.pm....e.html#L21 for details
ZoffixW c: Any, 'pairs', \() 13:57
Undercover ZoffixW, The code is hit during stresstest See perl6.WTF/src_core_Any.pm.coverage.html#L98 for details
ZoffixW Neat \o/
ZoffixW Next step would be to make it know which stresstest *file* hits the code, but currently that'd take forever to run. Volunteers to make this parser generate separate reports per input file per run are needed: github.com/MoarVM/MoarVM/blob/line..._report.p6 13:58
So that way, it has to read the annotations (that takes forever) just once and then just would go in and generate separate reports for each stresstest file and then the bot would just look up which files hit a particular line :) 13:59
And perl6.WTF/ has core coverage now :)
moritz does it have known bugs? 14:04
moritz perl6.wtf/src_core_Any-iterable-met...erage.html if you look at lines 35 to 37 14:05
the first two of those lines aren't covered, the next is. Why?
there's no conditional involved there
ZoffixW Yeah, it's all still experimental, based on timotimo++'s coverage MoarVM branch.
This one is also reported as uncovered perl6.WTF/src_core_Any.pm.coverage.html#L464 Even though there is a test that covers it: github.com/perl6/roast/blob/master...airs.t#L94 14:06
dalek c: 5e1399a | gfldex++ | doc/Type/Mu.pod6:
text and example is for routine take, not .take
c: 845f0b4 | gfldex++ | doc/Type/Mu.pod6:
add method Mu::take
c: 8b565ab | gfldex++ | doc/Type/Mu.pod6:
fix definition of sub take
dalek c: b373bcf | gfldex++ | doc/Type/Mu.pod6:
doc sub take-rw
14:21
dalek c: 82fd097 | gfldex++ | doc/Language/control.pod6:
link to sub take
14:29
c: 70ccb63 | gfldex++ | doc/Language/control.pod6:
mention take-rw
El_Che Rakudo 2016.09 packages for Ubuntu and Centos: github.com/nxadm/rakudo-pkg/releas...ag/2016.09 14:50
pmurias hmm, if we integrated our Perl 6 grammar with vim, would it be usefull to create new vim text objects that would make use of it? 15:04
like we could have a "expression starting at cursor", "quoted string", "whole identifier with hyphens" etc text-objects 15:05
stmuk El_Che++ 15:20
El_Che: I was thinking of doing dpkg and rpm releases for next month's star 15:21
El_Che stmuk: that would be a great addition. Are you thinking of one pkg per module of one pkg for star? 15:26
El_Che bbl 15:35
stmuk El_Che: ideally
mst "are you think of X, or Y?" 15:36
"ideally"
gfldex lolibloggedalittle: gfldex.wordpress.com/2016/09/21/ar...your-keys/ 15:37
timotimo mst: there wasn't an or between X and Y there
mst El_Che: your actual question was "are you thinking of one package per module or one package for star?" right? 15:38
Ulti compare and contrast mattoates.co.uk/files/perl6/bioinfo...09-16.html with mattoates.co.uk/files/perl6/bioinfo...09-21.html 15:39
timotimo Ulti: good improvement 15:43
Ulti yup 15:44
timotimo i hope there'll be some more future improvement, too :) 15:45
Ulti tempted to just fix the code to be faster :P 15:46
the main thing is a load of hash creation which is genuinely a "feature" of my code
however does kind of point out if that was shaved my stuff gets way faster 15:47
dalek c: 8b59639 | coke++ | doc/Type/Mu.pod6:
fix whitespace
15:48
bioduds subs cant have named arguments? 15:50
inicialização-do-programa do-zero => True; 15:51
tadzik yes
bioduds sub inicialização-do-programa( Bool $do-zero = False ) {
ilmari m: sub foo (:$bar) { say $bar }; foo bar => 42 15:51
camelia rakudo-moar 77a2ff: OUTPUT«42␤»
tadzik m: sub with-named(:$arg) { say $arg }; with-named arg => "bazinga"
camelia rakudo-moar 77a2ff: OUTPUT«bazinga␤»
ilmari tadzik: ⁵
timotimo yo tadzik :)
bioduds oh
:$ ok 15:52
thanks :D
tadzik ilmari: tadzik.net/pub/EOgR4QJ5MZ.png you confused me a lot :D
timotimo: yo dawg o/
ilmari tadzik: haha. I got them the other way around here
tadzik the joys of the irc bridge :P 15:53
ilmari that can happen with unbridged irc too, since you don't get your own messages back
so your client shows your thing immediately, whereas others get the network delay 15:54
tushar Is there any way I can stay connected to this channel and never leave? 16:17
mst tushar: get a client that satys connected 16:19
vcv get a vm, use tmux/screen with irssi/bitchx/another cli client 16:20
there is irccloud.com too but that costs $$ 16:21
tushar mst: how and from where can I get client? 16:22
tushar vcv: I have already got IRC Cloud app on my phone 16:23
tushar mst: I will explore the IRC client option. Thanks. 16:25
mst I run irssi on a server. there's also weechat and znc 16:26
ilmari riot.im/
has web, android, ios clients
ilmari and bridges to freenode, mozilla and w3c IRC 16:26
ilmari[m] waves from riot 16:27
tushar ilmari: thanks. 16:31
xdxdxd How would I organize a ton of retrievable information on different pokemon into a separate perl6 file 17:59
xdxdxd oh 18:02
I'd use a map, right?
avuserow hi xdxdxd, depends on what information you want and how you want to retrieve it. you might be able to get away with a file that defines and exports some hashes or objects, or maybe something like SQLite would be more appropriate
xdxdxd It will be nearly 2,000 lines or so of information on each individual pokemon 18:03
Would SQLite be more suitable for that?
timotimo SQLite is quite fantastic in any case 18:04
you can use DBIish to use it from perl6
avuserow SQLite and other databases would excel if you had a bunch of relational data beyond just "pokemon 1 has weight X and height Y", since you could write SQL queries allowing you to ask "what's the most powerful move learned by normal types", or similar 18:07
you can answer the same question if the data is stored in p6 data structures, but you'll have to write the iteration as perl6 rather than SQL. may or may not be better. 18:08
xdxdxd I'll definitely be going with SQLite then
thanks for the help
baest I've just upgraded to 2016.09 and I see the last letter being cropped. It didn't do that in 2016.08.1. Test case: pastebin.com/HYPpTEPA 18:09
Anybody seen anything similar?
sorry, last letter being cropped in simple client/server application 18:10
baest output is "12", was expecting "123" 18:11
timotimo baest: i suggest you send a newline after the 3 18:15
baest timotimo: yes, make sense, but it wasn't necessary before. You don't think it is an error? 18:16
jnthn No, and there's an explanation here: docs.perl6.org/type/IO$COLON$COLON...hod_Supply
timotimo when a string is received, perl6 has to keep the last character around in case the next char received is a combining character
if there's a newline or some other control character at the end, we know there can't be a combiner 18:17
dalek c: c9918db | (Alexey Melezhik)++ | doc/Language/exceptions.pod6:
tried to make it clear what happens with the code following after CATCH blocks
c: 36648dc | (Alexey Melezhik)++ | doc/Language/exceptions.pod6:
adjustment after talk with people by IRC
c: 4a4c9e3 | (Alexey Melezhik)++ | doc/Language/exceptions.pod6:
s/upper/outer/
c: a5f98bd | gfldex++ | doc/Language/exceptions.pod6:
Merge pull request #876 from melezhik/master

Exceptions handlers and enclosing blocks.
baest ok, sounds reasonable, thanks guys! 18:18
timotimo i don't know if it mentions this, but you can use :bin to get bufs instead of strings 18:19
that way you'll get to ignore the possibility of combining characters 18:20
smls timotimo: Has a way to specify an encoding been added yet? Then you could use 'utf8-c8' to pass through arbitrary bytes while still working with strings. 18:21
timotimo smls: i expect utf8-c8 will still have the part added to it that cares about combining characters
smls Ah, right. 18:22
MetaZoffix What would the :bin go into though? There's already a $conn.Supply(:bin) 18:22
smls But it won't ever throw an encoding error, right?
Xliff_ Does anyone know how I would go about writing this in nqp? 18:22
loop (my $iv; $iv !=:= IterationEnd; $iv = iter.pull-one) 18:23
MetaZoffix Oh, there isn't one on client's .Supply
timotimo hm? 18:24
baest timotimo: it mentions it, yes, I will look into it. Thanks
Xliff_ nqp: 0 18:26
camelia ( no output )
MetaZoffix c: Iterator, 'pull-one', \() 18:27
Undercover MetaZoffix, Something's wrong: ␤ERR: Too many positionals passed; expected 2 arguments but got 3␤ in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 25␤ in block <unit> at -e line 6␤␤
MetaZoffix m: Iterator.^can('pull-one').say
camelia rakudo-moar 77a2ff: OUTPUT«Too many positionals passed; expected 2 arguments but got 3␤ in block <unit> at <tmp> line 1␤␤»
MetaZoffix m: Iterator.HOW.say
camelia rakudo-moar 77a2ff: OUTPUT«Perl6::Metamodel::ParametricRoleGroupHOW.new␤»
jnthn smls: No, didn't get to adding encodings support yet 18:28
smls: I'm currently working through a bunch of encodings stuff including enabling user-space ones
MetaZoffix TIL 9 years ago I helped out the Perl 6 effort for 4 days... even had an svn commit bit :P irclog.perlgeek.de/perl6/search/?ni...ffset=6900 18:29
jnthn Though today distracted myself with fixing bugs and Unicode 9 support :)
MetaZoffix has no recollection of those events
timotimo finally a rot13 encoding "natively" in rakudo
smls jnthn: Ah, so CPAN modules could add encodings?
timotimo will we be doing something like with Inline::? where if we use an encoding that doesn't exist natively we "use" Encoding:thething 18:30
El_Che lo 18:34
MetaZoffix \o\ 18:35
smls jnthn: Will you expose a complex system of IO layers to userspace, like Perl 5? ;) perldoc.perl.org/PerlIO.html 18:40
jnthn smls: Yeah, the idea is that you'll be able to having something implement the Encoding role and then pass it to the :$enc parameter (and if you pass a string as today we'll resolve it to an Encoding object first) 18:43
smls neat
jnthn In general, the VM-level I/O will deal in binary, and we'll pull the "management" of I/O up to the Perl 6 level, which should make doing various tweaks easier 18:45
The various built-in encodings will still use VM-provided implementations.
But by taking them apart from I/O, you'd be able to re-use them when you have bunches of bytes and want to toss them into a streaming decoder.
(Like the body of a HTTP request after you've looked at the headers to know what encoding it needs) 18:46
smls You mean you can switch encodings in the middle of reading from a socket or filehandle? 18:47
jnthn Well, more that you'll get bytes in and coordinate decoding of them 18:48
smls ok 18:50
Is CR/LF newline-conversion considered separate from encodings? 18:51
jnthn In current plans I've got it as a parameter given to the decoder 18:54
jnthn While "separate pass" is architecturally pretty it's performance ugly. 18:55
Though I suspect for user-space encodings somebody will end up putting a role on CPAN that you can just use and it will do it as another pass. 18:56
jnthn Since a decoder is just an object, though, there's no reason you can't nest them, delegating to an inner one then acting upon what it produces. 18:58
So I guess you can recreate IO layers that way ;)
smls :) 18:59
Woodi jnthn: is that work introduces something like C++ streams ot just decoders over IO ? 19:00
*or 19:01
jnthn Wouldn't the standard API of various of our IO handles be closer to that? 19:02
dalek c: 0997b2c | (Zoffix Znet)++ | doc/Type/Array.pod6:
Document Whatever|Callable arg forms in .splice
jnthn has mostly managed to escape C++ so far ;)
Cooking & 19:03
timotimo jnthn: C++ streams are ... complicated, complex, and powerful 19:04
you do stuff like std::cout << formatting-options-here << "hey" << more-formatting-options << 1234 << std::endl;
and these formatting options can be a whole lot of stuff
i've never used it to anywhere near its full potential
Woodi timotimo: so probably module space, if someone would like to write such thing... but manual from 90s for streams was nice :) 19:06
timotimo module space, yes
food time \o/ 19:07
moritz though in C++, << just desugars to some method call, so it's something you could build with regular method calls too 19:57
timotimo right
moritz but if you did, you'd realize how... extravagant the API is :-) 19:58
timotimo damn, someone just told me they're trying to learn c++ and gave me a screenshot of how their code errored
and it looked like no C++ i'd ever seen before
turns out there's a thing called C++/CLI by microsoft that basically puts C++ on top of the CLR or something like that
dalek c: 35c396e | (Jan-Olof Hendig)++ | doc/Type/CallFrame.pod6:
Fixed typo
20:31
dalek c: c3ca435 | (Jan-Olof Hendig)++ | doc/Type/Callable.pod6:
Fixed typo in pod directive
20:38
timotimo hey everybody, upgrade your irssi versions, there's a remote-crash vulnerability in new-ish versions 20:52
moritz waits for the Debian security update 20:54
ah, it's there
timotimo i should really boot into my updated weechat 20:55
moritz turns out that irssi's /upgrade comand works well, except for two gotchas: It seems to drop SSL connections, and it opened old privmsg windows for me in addition to keeping the old ones 21:04
geekosaur the ssl one is noted in the advisory 21:07
stmuk I upgraded recently to weechat! :) 21:08
timotimo yay weechat
wee yaychat!
geekosaur that makes sense actually: connections in the clear have only OS process level state, but SSL/TLS has additional state in process memory
timotimo the SSL library used probably doesn't allow extracting all that data and transplanting it into another process? 21:10
geekosaur openssl is rather protective of that data, with good reason 21:10
timotimo right 21:11
geekosaur (current state of the encryption algorithm)
geekosaur (also ephemeral keys and such) 21:11
(well, I suppose that's part of the current state...) 21:12
AlexDaniel Oh, seems like gogs&notabug are less dead nowadays 21:58
timotimo what's that? 22:00
AlexDaniel timotimo: basically a free/open-source alternative to github 22:02
AlexDaniel timotimo: for example: notabug.org/hp/gogs/ 22:04
timotimo i see 22:06
AlexDaniel last time I checked not only it was very … useless… but these projects were also a bit dead. Good to see them alive again 22:09
timotimo twitter.com/loltimo/status/778718244429365248 22:12