»ö« 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:12 ryn1x left 00:24 Cabanossi left 00:26 Cabanossi joined 00:28 Util_ is now known as Util 00:32 thundergnat left 00:33 nadim left 00:34 thowe joined 00:36 margeas left 00:39 ryn1x joined 00:42 leedo left, leedo joined 00:45 Herby__ joined 00:47 cdg left, Kyo91_ joined 00:48 aindilis left 00:50 ryn1x left 00:54 darkmorph left 00:59 Kyo91_ left 01:01 astj joined 01:04 Kyo91_ joined 01:10 Kyo91_ left 01:15 bitrauser_ joined 01:16 cdg joined 01:17 aborazmeh joined, aborazmeh left, aborazmeh joined 01:18 bitrauser left, itaipu joined 01:20 aindilis joined 01:21 cdg left 01:29 ryn1x joined 01:34 ryn1x left 01:35 llfourn left, eliasr left 01:36 b2gills left, TimToady left 01:38 llfourn joined, TimToady joined 01:46 ilbot3 left 01:52 ryn1x joined, raschipi joined 01:55 ilbot3 joined, ChanServ sets mode: +v ilbot3 01:56 ryn1x left 01:57 COMBORICO left 02:01 wander left 02:06 cdg joined 02:10 cdg left 02:19 aindilis left 02:20 Kyo91_ joined 02:22 noganex joined 02:24 Cabanossi left, ryn1x joined 02:25 rgrau left, noganex_ left, Cabanossi joined 02:30 aindilis joined, Kyo91_ left 02:33 aindilis left, Herby__ left 02:45 aborazmeh left 02:56 itaipu left 02:58 ryn1x left 03:12 aindilis joined 03:19 raschipi left 03:27 ryn1x joined 03:39 Cabanossi left, Cabanoss- joined 03:40 Cabanoss- is now known as Cabanossi 03:47 cdg joined 03:52 cdg left 03:53 ryn1x left 04:08 khw left 04:16 thowe left 04:24 ryn1x joined 04:28 mr-fooba_ joined 04:29 mr-foobar left 04:32 Resol left 04:43 char_var[buffer] left 04:48 pilne left 04:49 xtreak joined 04:54 ryn1x left 04:58 troys_ is now known as troys 05:08 troys left 05:20 ryn1x joined 05:25 ryn1x left 05:45 evalable6 left, evalable6 joined, ChanServ sets mode: +v evalable6 05:54 wamba joined, lowbro left 05:56 lowbro joined, lowbro left, lowbro joined 06:02 ryn1x joined 06:09 llfourn left 06:11 j_b_s joined 06:12 redhands joined, parv joined
j_b_s testing hello 06:20
06:22 abraxxa joined
j_b_s what are main programming environments available for perl6 on windows 10? Looking to learn and familiarize with the language, but also start developing some tools to deploy on cloud (if possible) 06:23
teatime I don't really know, but I can point you to installation package for windows rakudo.org/how-to-get-rakudo/#Insta...ar-Windows 06:29
and some links to editors perl6.org/whatever/
06:30 salva joined
teatime if you want an easy way to type fancy Unicode operators on windows, WinCompose worked well for me in the past 06:30
and perhaps mi.cro.services/ might interest you
06:33 ryn1x left 06:38 Cabanossi left 06:40 Cabanossi joined 06:42 atroxaper joined
j_b_s great, thanks teat 06:45
ime
06:47 Herby_ left 06:52 CacoS joined 06:54 j_b_s left 07:02 domidumont joined, jonas1 joined 07:08 domidumont left, domidumont joined 07:11 redhands left 07:12 ryn1x joined, darutoko joined 07:16 ryn1x left 07:18 CacoS left 07:22 rba_ left 07:26 abraxxa left 07:27 abraxxa joined, atroxaper left 07:30 thunktone joined 07:31 rba joined 07:35 margeas joined, parv left 07:38 Cabanossi left 07:40 Cabanossi joined 07:42 abraxxa left, mr-fooba_ left 07:46 committable6 left, committable6 joined, xtreak left 07:47 xtreak joined 07:48 cdg joined, committable6 left, committable6 joined, ChanServ sets mode: +v committable6 07:49 zakharyas joined, sproctor joined 07:50 xtreak_ joined, xtreak left 07:52 cdg left 07:54 ryn1x joined 07:58 xtreak_ left 08:04 sena_kun joined 08:06 rba left, rba joined 08:09 eliasr joined, Cabanossi left 08:10 rindolf joined, Cabanossi joined, nadim joined, rba left 08:13 domidumont left 08:14 dogbert17 left, thunktone left, domidumont joined 08:17 zakharyas left 08:18 zakharyas joined 08:26 ryn1x left 08:27 dakkar joined 08:30 xtreak joined 08:40 abraxxa joined, abraxxa left 08:41 rba joined 09:09 ryn1x joined 09:10 domidumont left, andrzejku joined 09:11 domidumont joined 09:14 ryn1x left 09:21 lowbro left 09:32 ryn1x joined 09:44 W4RL0RD joined 09:46 W4RL0RD left, W4RL0RD__ joined 09:47 W4RL0RD__ left 09:49 W4RL0RD__ joined 09:51 ExtraCrispy joined, W4RL0RD__ left, lowbro joined, lowbro left, lowbro joined 09:58 wamba left 10:03 ryn1x left 10:05 ChoHag left 10:06 abraxxa joined 10:23 Cabanossi left 10:24 Cabanossi joined 10:25 greppable6 left, greppable6 joined, ChanServ sets mode: +v greppable6 10:28 pmurias joined 10:33 llfourn joined 10:39 S007 left 10:48 ryn1x joined 10:53 ryn1x left 10:54 cdg joined 10:55 astj left 10:56 astj joined, astj left, astj joined 10:59 xtreak left, cdg left 11:02 xtreak joined 11:04 S007 joined 11:07 ChoHag joined 11:17 raschipi joined 11:18 zakharyas left 11:23 Cabanossi left 11:24 ryn1x joined, wamba joined 11:25 Cabanossi joined 11:35 ChoHag left 11:47 wamba left 11:56 ryn1x left 12:01 xtreak left
Geth perl6-examples: 6ae35dec7e | (Shlomi Fish)++ | categories/euler/prob612-shlomif.p6
Refactor my code.
12:10
12:11 itaipu joined
[Coke] . 12:16
rindolf Hi all! 12:18
p6eval: [*] [2,3,5]
m: [*] [2,3,5]
camelia Potential difficulties:
Useless use of [*] in sink context
at <tmp>:1
------> 3<BOL>7⏏5[*] [2,3,5]
rindolf m: [*] 2,3,5 12:19
camelia Potential difficulties:
Useless use of [*] in sink context
at <tmp>:1
------> 3<BOL>7⏏5[*] 2,3,5
lizmat m: say [*] 2,3,5
camelia 30
geekosaur it doesn't auto-say stuff
rindolf lizmat: thanks
geekosaur because then the bot can;t easily be used to test for sink context issues
rindolf m: say [*] [2,3,5]
camelia 30
rindolf great
geekosaur or for auto-sinking issues, which do occaisonally come up 12:20
rindolf is this the idiomatic way to do a product?
12:21 darkmorph joined
lizmat m: my @a = 2,3,5; say [@] @a # also works ? 12:23
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3my @a = 2,3,5; say [@]7⏏5 @a # also works ?
expecting any of:
infix
infix stopper
postfix
statement end
lizmat m: my @a = 2,3,5; say [*] @a # better
camelia 30
geekosaur is trying to tell if that was a shell-y typo... 12:24
lizmat so yes, I would say it's the idiomatic to do a product on more than 2 values
12:27 ChoHag joined 12:28 khw joined 12:31 astj left 12:34 astj joined
Geth perl6-examples: 98a8fd04fd | (Shlomi Fish)++ | categories/euler/prob612-shlomif.p6
Rename var
12:35
perl6-examples: 1cedf866cf | (Shlomi Fish)++ | categories/euler/prob612-shlomif.p6
Refactoring
perl6-examples: 4e0ccae754 | (Shlomi Fish)++ | categories/euler/prob612-shlomif.p6
Extract a common function.
rindolf lizmat: thanks 12:36
12:39 ExtraCrispy left 12:41 zakharyas joined 12:42 pilne joined, zakharyas left 12:43 zakharyas joined
Geth perl6-examples: 89d76569ce | (Shlomi Fish)++ | categories/euler/prob612-shlomif.p6
Refactoring
12:48
perl6-examples: f4edd80c4e | (Shlomi Fish)++ | categories/euler/prob612-shlomif.p6
Refactoring - avoid a temp
perl6-examples: 34383395b1 | (Shlomi Fish)++ | categories/euler/prob612-shlomif.p6
Refactoring
12:56 japhdc joined, ryn1x joined 12:57 unicodable6 left, unicodable6 joined
Geth perl6-examples: 096a3981da | (Shlomi Fish)++ | categories/euler/prob612-shlomif.p6
Refactor: convert to nCr and bag().
13:02
13:04 wamba joined 13:16 cdg joined 13:21 ExtraCrispy joined
Geth perl6-examples: fe089d298e | (Shlomi Fish)++ | categories/euler/prob612-shlomif.p6
Refactoring
13:22
13:23 PMortens_logOnly left 13:25 PMortens_logOnly joined 13:30 cdg_ joined, ryn1x left 13:33 cdg left 13:38 ryn1x joined, Cabanossi left 13:40 Cabanossi joined 13:41 mson joined 13:48 bwisti left 13:49 napo1eon joined 13:51 Kyo91_ joined 13:52 napo1eon left, napo1eon joined 13:56 Kyo91_ left 14:00 Zoffix joined 14:01 Zoffix left, darkmorph left 14:03 ggoebel left 14:04 japhdotcom joined 14:06 japhdc left 14:08 Cabanossi left 14:10 Cabanossi joined, mempko joined 14:11 Cabanossi left
Geth perl6-examples: 259900d959 | (Shlomi Fish)++ | META6.json
Fix t/test-meta.t with a .git suffix.
14:11
14:12 Cabanossi joined, ryn1x left 14:14 Cabanossi left, Cabanossi joined 14:15 ggoebel joined, Cabanossi left 14:16 Cabanossi joined 14:21 xtreak joined 14:28 japhdotcom left 14:32 Herby_ joined
Herby_ o/ 14:32
14:33 rba_ joined 14:36 rba left
[Coke] \o 14:36
stmuk new perl6 video www.youtube.com/watch?v=AJm7M36DgD0 14:37
lizmat: for the weekly? ^^ 14:38
lizmat stmuk++ :-) 14:39
stmuk hmmm non-visible slides issues .. I'll see if I can get them 14:40
14:44 lowbro left 14:48 callyalater joined 14:49 scovit joined
scovit hello 14:49
m: my @F = []; say @F; say @F.map({ $_ - 1 })
camelia []
()
Herby_ Hello
scovit m: my @F = "".split(" "); say @F; say @F.map({ $_ - 1 })
camelia []
(-1)
scovit I think I am missing something about the functioning of split..
how do you understand what is going on there ^ ?
[Coke] m: my @F = "".split(" ").perl.say 14:50
camelia ("",).Seq
[Coke] m: say ""-1;
camelia -1
[Coke] ^^
scovit Thank you Coke, now how to solve the issue that "".split(" ") still give me "" ?
geekosaur you split a empty string, you got an empty list back
lizmat and that stringifies to "" 14:51
geekosaur ^
scovit I understand that there is a logic behind all this
[Coke] m: my @F = "".split(" ", :skip-empty).perl.say
camelia ().Seq
[Coke] ^^
lizmat stmuk: if we could have slides to go with the video, that would be brill :-)
scovit Thank you Coke 14:52
[Coke] found on docs.perl6.org/routine/split
scovit I didn't bother checking the docs, since 14:53
m: say ("",).Seq
camelia ()
scovit it was not at all clear where to look
geekosaur split would have been my first guess
[Coke] when trying to track something like that, break it down into pieces first, and see where things start going contrary to expectations. 14:54
scovit geekosaur of course, but there was no reason to assume that perl was behaving according to a logic
geekosaur ... 14:55
[Coke] That's a weird phrasing that doesn't actually tell me what your expectation was. 14:56
jdv79 AlexDaniel`: yeah, i mistakenly badded instead of skipping 14:57
thanks
scovit my expectation was that [] would be different from ("",).Seq 14:58
which was, but then say wouldn't show
[Coke] it is different.
scovit in the output of say
[Coke] say shows you the gist of something, not the true thing.
AlexDaniel` jdv79: it's actually non-obvious if you're doing an automated run for example. You have to check the exit code of make *and* configure, or alternatively check if perl6 executable exists
[Coke] use .perl to get closer to the metal.
AlexDaniel` jdv79: this is why I love bisectable, it does all that automatically :) 14:59
jdv79: … except that it is no good for that particular case :(
jdv79 haha
15:01 b2gills joined
geekosaur scovit, if you want to see the truth, use the .perl method. (which gives you a Str and the gist of a Str is itself, so you can safely 'say' it) 15:01
scovit geekosaur, of I can keep complaining, :skip-empty is not huffman coded
I think that what I am doing is fairly common 15:02
b2gills :skip-empty **is** huffman coded, because you shouldn't use it very often
scovit perl -nae 'print scalar @F' 15:03
it is the default here ^
[Coke] perl6 ain't perl5. 15:04
scovit I am just arguing that people will use it often
[Coke] docs.perl6.org/language/5to6-perlfunc#split
b2gills I just came back online, but I assume you used .split(''), which is better written as .comb
geekosaur your argument would be worth a bit more if it werent based on 'I think that...' 15:05
scovit b2gills nop
[Coke] Looks like that is missing the note about :skip-empty
Juerd Why is .split('') "better written as" .comb? timtowtdi!
b2gills I meant .split('',:skip-empty) is better written as .comb. It is about saying what you want rather than what you don't want. 15:07
15:08 kshannon left, kshannon joined
scovit geekosaur I might better spend my time counting the time arguments about huffman coding are based on handwaving than counting the times split is intended as :skip-empty 15:09
like in all perl5 scripts
geekosaur enough. I am not the one who decides these things, and you are veering close ot saying that our time is best spent accepting your beliefs as truths 15:10
un critically
b2gills m: ''.comb(/<-[\ ]>+/).perl.say 15:11
camelia ()
scovit I am arguing that spending time in such a discussion would be less worth than trolling you, sorry for the honesty
15:13 zakharyas left, ryn1x joined
b2gills There are many places where the default in Perl 5 is to throw away information, and the default in Perl 6 is to keep the information 15:14
AlexDaniel` .hug everyone 15:18
huggable hugs everyone
15:18 pilne left
scovit b2gills, I interpret the perl 6 default as keeping an identity element 15:18
15:19 piojo_ joined
scovit I honestly like the new default 15:19
b2gills m: say '123'.split('abc').perl.say
camelia ("123",).Seq
True
b2gills m: my @a = 1,2,3; say [@a,4,5].perl; say [|@a,4,5]; # another place that Perl 5 would throw away data that Perl 6 doesn't 15:20
camelia [[1, 2, 3], 4, 5]
[1 2 3 4 5]
raschipi Yep, very good principle to have, requiring that discarding information be done explicitly. 15:22
AlexDaniel` it depends on what you look at. Strings, for example, are normalized by default 15:25
15:26 troys joined 15:28 ggoebel left, xtreak left
b2gills To be fair, Unicode says that all the ways of encoding a grapheme cluster should be seen as equivalent. It only really becomes a problem when dealing with interfaces that don't follow that part of the spec, like file-systems. 15:29
raschipi Unicode is round-trip capable exactly because that isn't true. 15:33
15:34 eliasr left
geekosaur unixlike filesystems mostly don't claim to follow that spec (OS X being a specific exception, and that only for HFS+) so that's a slightly weird statement 15:35
in fact posix doesn't promise anything except byte strings 15:36
15:39 jonas1 left
raschipi That is because it has to support any encoding, not only Unicode ones. Unicode still didn't support Japanese properly until recently, for example (and the new standard that does isn't implemented in any POSIX operating systems anyway). So that's why they didn't change file names to require valid Unicode. 15:39
b2gills That was just an example, there are interfaces that take in utf8 data but treat it more like a list of numbers than text 15:40
raschipi There were talks on Usenix about requiring valid utf-8 in file names and about normalizing them. Apple is already implementing it, soon it will be available in other systems.
teatime unicode is so complex. I love it, but I, like, fear it somehow. 15:42
15:42 domidumont left
scovit I dubt linux will follow 15:42
b2gills There are certain times where it would be nice for a Str to keep around something like a shadow copy of it's original data for when round-tripping is useful. 15:43
scovit I tought there was an encoding specifically for that utf-c8 15:45
b2gills Or at least if Uni were usable with more of the setting
raschipi Linux will follow, it will just take a long time and many out-of-tree attempts to get the interfaces right before they committ to it. 15:46
15:47 ryn1x left
pmurias b2gills: making Uni more usable seems a lot better than a solution that sometimes works but breaks when you mess more with the string 15:48
scovit I think the developers of linux are committed to keep the kernel abi compatibility. While this seems more related to filesystems than the general kernel, it will break some applications 15:51
15:51 mson left
teatime were you having a problem with reading filepaths that get normalized and end up not the same bytes as the real filepath? 15:52
geekosaur scovit, maybe. I've been imagining a separate set of APIs for utf8 15:53
because there will be apps that need to use byte strings for compatibility or etc. 15:54
teatime geekosaur: implicit hardlinks? :)
15:55 Kyo91_ joined
geekosaur and, knowing programmers, probably someone relying on U+00E1 and U+0061 U+0301 being different 15:55
raschipi m: Blob.new(0xf8, 0x67, 0x65, 0x6b).decode('utf8-c8').codes #what a mess 15:56
camelia ( no output )
teatime predicts unicoded and filepathctl
raschipi m:say Blob.new(0xf8, 0x67, 0x65, 0x6b).decode('utf8-c8').codes
evalable6 7
geekosaur predicts linux will find the most byzantine possible way to implement it >.> 15:57
b2gills m: Blob.new(0xf8, 0x67, 0x65, 0x6b).decode('utf8-c8').uninames.map: &say 15:58
camelia <Plane 16 Private Use-10FFFD>
LATIN SMALL LETTER X
LATIN CAPITAL LETTER F
DIGIT EIGHT
LATIN SMALL LETTER G
LATIN SMALL LETTER E
LATIN SMALL LETTER K
teatime m: say Blob.new(0xf8, 0x67, 0x65, 0x6b).decode('utf8-c8').encode('utf8-c8').codes 15:59
camelia No such method 'codes' for invocant of type 'Blob[uint8]'. Did you mean 'does'?
in block <unit> at <tmp> line 1
b2gills m: say Blob.new(0xf8, 0x67, 0x65, 0x6b).decode('utf8-c8').encode('utf8-c8').bytes
camelia 4
15:59 Kyo91_ left, Cabanossi left 16:00 Cabanossi joined
raschipi m: say Blob.new(0xf8, 0x67, 0x65, 0x6b).decode('utf8-c8').encode('utf8-c8').^name 16:01
camelia Blob[uint8]
raschipi Yeah, but it breakes down in the midlle. Only works as long as one doesn't touch it.
teatime I'm not necessarily seeing the problem, or at least one that could be avoided w/ automation 16:03
16:04 domidumont joined
raschipi It's just that it's messy. The guts should be hidden. 16:04
m:say Blob.new(0xf8, 0x67, 0x65, 0x6b).decode('utf8-c8').codes # This should be '4', because I created it with 4 codes. 16:05
evalable6 7
raschipi But it's seven, the encapsulation is broken
teatime raschipi: when you decode it you're asking for the (perl-normalized/NFG, I guess) utf8 representation 16:06
16:06 Kyo91_ joined, xtreak joined
raschipi m: say Blob.new(0xf8, 0x67, 0x65, 0x6b).decode('utf8-c8') 16:06
camelia 􏿽xF8gek
moritz that is weird, if you ask me 16:08
raschipi It should output '�gek'
moritz four bytes to 7 graphemes
timotimo just improving Uni isn't enough to make things round-trippable
teatime moritz: it's 7 codepoints, isn't it?
timotimo that only makes normalization optional. you still can't deal with input that isn't valid utf8 or whatever
that's why utf8-c8 exists
teatime m: say Blob.new(0xf8, 0x67, 0x65, 0x6b).decode('utf8-c8').chars
camelia 4
moritz teatime: "􏿽xF8gek" looks like 7 graphemes to me 16:09
teatime yeah I don't understand how xF8 gets into the string output 16:10
timotimo it's what you get when you encode something to utf8 that was created with utf8-c8
teatime that seems like a bug
timotimo no
it is the intention
teatime well it's invalid utf8. ok fair enough. 16:11
raschipi Well, it is documented at least: docs.perl6.org/language/unicode#UTF8-C8
16:11 Kyo91_ left
teatime it's not like there's anything righter it could do 16:11
timotimo it could just output the binary garbage again, so that the next thing in the chain has to deal with it :P
16:12 ryn1x joined
timotimo users love it when their terminal suddenly shows only drawings and symbols instead of text 16:12
teatime I guess that's what would happen exactly if output encoding is utf8-c8, but since it's utf8 it doesn't output invalid utf8
raschipi If that's what they told the computer to do, that's what it should do.
timotimo yeah, then they just have to use utf8-c8 on the way out
teatime I'm still not seeing the problem, or at least the problem that could be hidden from the user (programmer).
(by which I mean I guess I missed the point, not that I think you don't have one) 16:13
timotimo m: say (Blob.new(0xf8).decode('utf8-c8') x 3).encode('utf8-c8')
camelia Blob[uint8]:0x<f8 f8 f8>
timotimo you can work properly with the strings it creates
complaining that it displays Xxf8 is a bit like complaining that .perl gives you \r where you would have expected the literal \r to be output to the console 16:14
similarly if you use that as the basis, you can end up splitting bytes in half. that's why Xxf8 is one grapheme. you can't accidentally grab only the first two codepoints 16:15
16:16 ryn1x left
timotimo does that sound sensible to you? 16:16
raschipi How can I send it down the standard output? Because I want to mess my terminal on purpose
The original bytes
timotimo many ways, for example $*OUT.write($the-weird-string.encode('utf8-c8')) 16:17
m: $*OUT.encoding = 'utf8-c8'; my $weirdstuff = Buf.new(0xf8).decode('utf8-c8'); $*OUT.write($weirdstuff)
camelia Cannot modify an immutable Str (utf8)
in block <unit> at <tmp> line 1
timotimo ah, i feared setting encoding afterwards isn't possible
m: my $raw-out = open('/dev/stdout', 'utf8-c8'); my $weirdstuff = Buf.new(0xf8).decode('utf8-c8'); $raw-out.say($weirdstuff) 16:18
camelia open is disallowed in restricted setting
in sub restricted at src/RESTRICTED.setting line 1
in sub open at src/RESTRICTED.setting line 9
in block <unit> at <tmp> line 1
16:18 sproctor left
timotimo c: HEAD my $raw-out = open('/dev/stdout', 'utf8-c8'); my $weirdstuff = Buf.new(0xf8).decode('utf8-c8'); $raw-out.say($weirdstuff) 16:18
committable6 timotimo, ¦HEAD(50324bb): «Too many positionals passed; expected 1 argument but got 2␤ in block <unit> at /tmp/ZuQ_7h2ewx line 1␤ «exit code = 1»»
timotimo c: HEAD my $raw-out = open('/dev/stdout', :encoding('utf8-c8')); my $weirdstuff = Buf.new(0xf8).decode('utf8-c8'); $raw-out.say($weirdstuff) 16:19
committable6 timotimo, gist.github.com/eec058d4876f950729...6cebab5cb9
raschipi Thanks timotimo.
timotimo you'll also need to pass :w to the open call 16:20
16:20 Khisanth left 16:21 darkmorph joined, dogbert17 joined, wander joined
wander Is there some way to use QAST in perl6? not for a concrete aim, just curious 16:22
timotimo yup! 16:23
looking for an example 16:24
16:24 buggable left
timotimo hm, i thought i could use zoffix' irc bot as an example 16:24
m: use QAST:from<NQP>; say QAST::SVal.new(:value<hi>).dump 16:25
camelia - QAST::SVal(hi)
16:25 bdmatatu joined
wander thank you~ I tried 'use QAST;' but fail XD 16:27
Geth doc: 920c6cb8ff | (Will "Coke" Coleda)++ | doc/Type/Any.pod6
Update signature to match that of the list variant.

Closes #1604
synopsebot Link: doc.perl6.org/type/Any
16:28 Khisanth joined
timotimo qast: ▸Op: :op<say>, ▸SVal: :value("Have fun!") 16:32
SourceBaby timotimo, OUTPUT: «Have fun!␤»
timotimo wander: zoffix built this bot with a little DSL for qast compilation and evaluation
SourceBaby: source
SourceBaby timotimo, See: github.com/zoffixznet/perl6-sourceable
wander got it 16:33
timotimo github.com/zoffixznet/perl6-source...ry.pm6#L49 - code starts here
16:35 ryn1x joined 16:37 scovit left 16:38 Kyo91_ joined 16:41 troys is now known as troys_, setty1 joined 16:44 ggoebel joined 16:46 pmurias left, xtreak left, ryn1x left 16:47 troys_ is now known as troys 16:48 dakkar left, jmarkert left 16:49 nadim left, rba_ left 16:50 rba joined, zakharyas joined 16:54 rba left 17:05 itaipu left, zakharyas left 17:06 itaipu joined, Kyo91_ left 17:08 zakharyas joined 17:16 Kyo91_ joined 17:19 thunktone joined 17:21 ryn1x joined 17:23 Zoffix joined
Zoffix raschipi: the arg is :enc not :encoding tho 17:23
(consistently inconsistent)
m: $*OUT.encoding('utf8-c8'); my $weirdstuff = Buf.new(0xf8).decode('utf8-c8'); $*OUT.write($weirdstuff) 17:24
camelia Type check failed in binding to parameter '$buf'; expected Blob but got Str ("\xF9")
in block <unit> at <tmp> line 1
Zoffix m: $*OUT.encoding('utf8-c8'); my $weirdstuff = Buf.new(0xf8); $*OUT.write($weirdstuff)
camelia ( no output )
Zoffix Changing encoding after write is defined and works. It's just Yet Another Inconsistency that it takes it as an arg instead of being asigned to 17:25
17:26 ryn1x left
Zoffix open('/dev/stdout') can be written as open(IO::Special.new: "<STDOUT>").say: "meow" 17:26
17:26 bwisti joined
Zoffix or, in 6.c, as just open '-' 17:27
timotimo OK
17:27 thunktone left
timotimo i don't do very much I/O it seems :) 17:28
17:29 thunktone joined 17:30 piojo_ left
Zoffix :) 17:32
17:33 mr-foobar joined 17:34 zakharyas left
timotimo i mostly have ARGFILES do stuff for me 17:34
17:34 ChoHag left
moritz something funny for the German-speaking 6ers: pbs.twimg.com/media/DM1GQCmXcAEYnCi.jpg 17:38
timotimo :D 17:39
Zoffix What does that word really mean?
ilmari now that'll give you a glowing clean
Zoffix same translation into Russian 17:40
moritz Zoffix: it's some kind of a hard soap 17:41
Zoffix heh
moritz curd soap, some other dictionaries say
no idea how accurate that is, but likely better than nuclear :-)
Zoffix :) 17:42
17:43 Zoffix left, pecastro left 17:44 pecastro joined 17:46 Rawriful joined 17:47 lostinfog joined 17:49 ryn1x joined, wamba left 18:00 TreyHarris left 18:03 troys is now known as troys_ 18:04 lostinfog left
stmuk I saw Hauptversionsnummernerhöhungsangst: The German word for fear of increasing the major version number 18:12
recently
18:13 TreyHarris joined
perlpilot Is there a corresponding geringerversionsnummernerhöhungsangst? 18:15
geekosaur what's the one for being afraid that the version number was increased by someone else? >.> 18:19
lizmat
.oO( Datenfernubertragungsanlage )
18:21
18:21 ChoHag joined, ryn1x left
moritz geekosaur: that's called "Erfahrung" :-) 18:21
geekosaur *snort*
perlpilot moritz: how do you get from there to Weisheit? 18:23
moritz perlpilot: how am I supposed to know? :-) 18:24
perlpilot :-)
lizmat more importantly: *why* do you want to know :-)
perlpilot that's okay ... I'll just google it ;) 18:25
18:25 ryn1x joined 18:30 ryn1x left 18:32 domidumont left 18:33 ExtraCrispy left, cdg_ left 18:38 Kyo91_ left 18:40 mson joined 18:41 darutoko left 18:44 itaipu left 18:47 PMortens_logOnly left, PMortens_logOnly joined 18:51 kyan joined
Geth doc: 4ec20e23db | (Elizabeth Mattijsen)++ | doc/Type/Iterable.pod6
hyper/race are no longer experimental

  - but keep the link for now, until the documentation has migrated here
18:55
synopsebot Link: doc.perl6.org/type/Iterable
18:56 itaipu joined 19:01 wamba joined 19:05 Kyo91_ joined, setty1 left 19:08 setty1 joined
raschipi Here waiting for this last change in the docs from lizmat to build so I can send the link to people... 19:09
lizmat raschipi: technically, we should probably wait until after the release 19:11
19:12 okl joined
lizmat not everybody is working with HEAD :-) 19:12
raschipi well, just need to know the audience
19:16 j_b_s joined, thunktone left 19:18 thunktone joined 19:28 thunktone left, setty1 left 19:29 setty1 joined 19:31 raiph joined, thunktone joined 19:34 ryn1x joined 19:35 okl left 19:37 PMortens_logOnly left 19:41 abraxxa left
raschipi Done, built. 19:42
19:42 cpage_ left 19:58 nadim joined 20:01 bdmatatu left 20:02 cdg joined 20:04 Kyo91_ left 20:07 cpage_ joined 20:09 ryn1x left 20:11 cdg_ joined 20:13 ryn1x joined, cdg left 20:14 ChoHag left 20:16 wamba1 joined, wamba left 20:20 Kyo91_ joined 20:27 troys_ is now known as troys 20:28 j_b_s left 20:31 ChoHag joined 20:34 espadrine joined
Geth modules.perl6.org: PunKeel++ created pull request #90:
Use Travis' repositories API instead of the Builds API
20:41
20:43 sena_kun left 20:45 Aceeri_ joined 20:47 ryn1x left 20:52 rindolf left 21:03 cpage_ left 21:05 bazzaar joined
bazzaar \o perl6 21:08
hi, was just reading gfldex's new post 'gfldex.wordpress.com/2017/10/22/th...me-time/', and spotted some minor typos 21:10
gfldex bazzaar: that's why I put it there before I put it on Rosettacode 21:11
bazzaar don't want to leave a comment just to point out their correction, so posting them here ( hope that's ok) 21:12
- pipe.Supply block ... line with contains('Rosetta .. has been clipped at 80 chars
- Proc::Async.new arguments .... 'find*HOME... missing a closing quote
- stdout.lines.tap block .... line with slurp.contains .... ends with }; ... should this be '); 21:13
gfldex: thanks for this informative post (and others too), it's much appreciated. 21:14
21:14 thunktone left 21:15 bdmatatu joined
gfldex bazzaar: I can't see those mistakes. 21:16
21:17 raschipi left
bazzaar gfldex: that's strange, I'm using Firefox on OpenSuse Leap 42.3, KDE destop 21:18
gfldex: I cut and pasted the individual code sections into a single file and ran it, got error messages at those 3 spots. 21:20
gfldex bazzaar: could you check gist.github.com/4e734902dcbabe3ff1...ef1676a579 please? 21:21
bazzaar: sadly wordpress and code don't mix that well 21:22
21:29 ryn1x joined 21:30 setty1 left
bazzaar gfldex: that code runs without error (I didn't doubt that it would :), it just seems to be the blog where it gets mangled. I don't know enough to suggest how it can be fixed 21:30
geekosaur as gfldex said, wordpress and code samples don't mix 21:31
21:34 ryn1x left
zostay Anyone have a suggestion how I could do some generic argument processing for .new? I've boiled the problem with what I'm trying to do down to the following snippet. 21:34
m: my %in = a => 1, b => <x y z>; class Z { has Int $.a; has Str @.b }; my %pin = do for Z.^attributes { my $v = %in{ .name.substr(2) }; .name.substr(2) => $v }; Z.new(|%pin);
camelia Type check failed in assignment to @!b; expected Str but got List ($("x", "y", "z"))
in submethod BUILDALL at <tmp> line 1
in block <unit> at <tmp> line 1
zostay I just can't figure out how to get the %pin assignment to do what I want it to. 21:35
21:35 bdmatatu left 21:37 cpage_ joined
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2017/10/23/...ds-racing/ 21:37
gfldex that's the only advantage of wordpress 21:38
I get a 5 seconds warning on an incomming weekly. :)
21:39 darkmorph left
lizmat hehe :-) 21:39
gfldex++
bazzaar Perl6 Weekly ... a great start to the week! lizmat++ 21:44
21:45 wander left
Herby_ lizmatt++ 21:53
lizmat++ rather 21:54
lizmat Herbby++
:-)
Herby_ :3
21:54 evalable6 left, evalable6 joined, ChanServ sets mode: +v evalable6
Herby_ Question, which I'll preface by saying I know little about regex and less about grammars 22:01
are grammars useful if you don't know the order of the text you're parsing?
for instance, if I have a string that could have: name date location language 22:02
but those variables could be in any order, and can change string to string
the order can change string to string 22:03
ugexe does [name | date | location | language] ** 5 suffice? 22:05
geekosaur record = field+ #`{ plus code to make sure the required ones are present} ; field = namefield | datefield | ...
very loosely
Herby_ hmm 22:06
ugexe er ** 0..4 22:07
22:10 ryn1x joined 22:11 callyalater left 22:13 bazzaar left
Geth modules.perl6.org: 93d02d138a | PunKeel++ | lib/ModulesPerl6/DbBuilder/Dist/PostProcessor/p20TravisCI.pm
Use Travis' repositories API instead of the Builds API

Loading should be faster (smaller page), and the build endpoints includes PRs from what I can tell. Related issue: #51
22:13
modules.perl6.org: 00d721fc83 | (Zoffix Znet)++ (committed using GitHub Web editor) | lib/ModulesPerl6/DbBuilder/Dist/PostProcessor/p20TravisCI.pm
Merge pull request #90 from PunKeel/pk-travis-api

Use Travis' repositories API instead of the Builds API
modules.perl6.org: 330a881f0c | (Zoffix Znet)++ (committed using GitHub Web editor) | use-me-for-commit-triggers
[REBUILD] it
22:14
22:15 konsolebox left 22:16 wamba1 left 22:17 wamba joined
El_Che thx lizmat for th weekly! 22:19
22:25 troys is now known as troys_
timotimo "Easy things should be hard, hard things should be possible." i've got the feeling this might have been typo'd 22:27
geekosaur or thinked 22:28
thinkoed
22:43 ryn1x left 22:49 Herby__ joined 22:51 stanrifkin joined
stanrifkin Is there a online perl website to test code directly in the browser? 22:52
gfldex glot.io
stanrifkin I didn't know that. Thank you. 22:53
22:53 bdmatatu joined
Herby__ didnt know that either 22:54
learn something new every day!
22:54 Voldenet left
Herby__ m: say "foobar" ~~ /foo <?before bar>/; 22:59
camelia 「foo」
22:59 Voldenet joined, Voldenet left, Voldenet joined 23:01 bitrauser joined 23:02 espadrine left, bitrauser_ left 23:06 stanrifkin left 23:10 ryn1x joined, mson left 23:12 bazzaar joined 23:13 cdg joined
bazzaar \o perl6 23:13
Herby__ o/ 23:14
23:16 cdg_ left
bazzaar Hi, I'm wondering if anyone sees the value of showing 'coding' tags on modules.perl6.org, in addition to (and seperate from) the 'utilisation/purpose' tags currently on the page 23:17
23:17 cdg left 23:18 Rawriful left
bazzaar coding tags could be automatically populated, and so wouldn't need input from the module authors 23:21
they could be based on the occurence of a limited number of keywords in the module code, which could be further reduced to a bag of code subjects (tags) 23:24
so if I wanted to look for modules that employ grammars, or action objects, or asynchronous code, or given blocks, or *, then I could 23:27
potentially the code subjects (tags) could be further expanded to detail the occurrence of their component list of keywords 23:29
ugexe the tags (code) doesn't mean anything until it has been parsed/ran 23:32
otherwise there is greppable6, our irc version of grep.metacpan.org, if you just want to grep source code 23:33
23:36 bdmatatu left, pilne joined, raschipi joined
bazzaar I quess I'm just looking at this from a learning perl6 perspective, I might want to find different ways of writing action objects code, for example 23:37
It might be nice to be able to do that by using a tag interface to point me at the relevant modules 23:39
raschipi another online place to run perl6 is to message camelia here in this channel 23:40
geekosaur or in /query or /msg 23:41
raschipi yes, that's what I meant, /msg for message 23:42
bazzaar the list of code subjects (primary tags), and component keywords (secondary tags upon which the tagging is based) needn't be large or too complicated
23:43 margeas left
geekosaur I suspect it's more likely to happen if someone contributes code... 23:44
ugexe since you can't parse perl6 code without running it i'm not sure a simple tag can convey much significance 23:45
23:47 R0b0t1_ left
bazzaar I realise that I'm just asking a question, and that doesn't necessarily move things along, sorry for that 23:48
23:49 R0b0t1_ joined
bazzaar maybe full parsing isn't necessary, just the occurrence? But yes a full parse solution would undoubtedly provide more utility if needed. 23:52
23:55 ryn1x left
ugexe well for instance you want to find other grammars. but i doubt you're interested in `my $grammar = ` and rather `grammar ...` 23:55
and consider how many ways you can write each of those 23:56
i imagine something ok could be done but it'd probably be pretty gnarly 23:57