»ö« 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:00 mcmillhj_ joined
timotimo hm, it could be that's from the innards of NativeCall actually 00:00
krshn does not seem to be particular to Math::Primesieve 00:02
timotimo can you run rakudo's nativecall tests for me? they're in the rakudo star source folder under t/nativecall, should be
krshn Tried installing ABC
gist.github.com/skrisna/1872530985...c890d8accf
timotimo that's a different explosion, hmm. 00:03
krshn Don't see it 00:04
gist.github.com/skrisna/db58ca49d5...e597a5d527
00:04 mcmillhj_ left
timotimo well, with the primesieve the tests explode, but with ABC it fails to fetch the git repo 00:04
oh
don't see *that*
is there a t folder in there at all? 00:05
krshn No
timotimo what kind of stuff is in there?
oh, wait, the rakudo star for mac is precompiled and probably doesn't come with source at all
krshn gist.github.com/skrisna/675382b75a...3a4f6a6255 00:06
timotimo ah, yeah, no sources at all
krshn I need to leave now. But I will follow-up later tonight 00:08
timotimo i'm going to bed soon, though
BenGoldberg I've got a silly question: 00:09
m: 42.^add_method( 'woot', sub (Int) { say 'ok' } ); 42.woot;
camelia ok
00:09 cpage_ joined
BenGoldberg Will it always be ok to use an ordinary 'sub' there? 00:10
00:10 poohman left
BenGoldberg Or will things ever change such that add_method's second argument must be of type Method? 00:10
00:11 poohman joined 00:12 krshn left 00:13 sufrostico joined 00:19 Actualeyes left 00:22 Cabanossi left 00:23 poohman left 00:24 Cabanossi joined 00:28 poohman joined 00:30 Guest61242 left 00:32 gfldex left 00:38 lookatme joined 00:39 pierre_ joined 00:40 colomon_ joined 00:41 colomon left, colomon_ is now known as colomon
lookatme morning o/.. 00:43
00:53 kurahaupo_ left 01:00 dolmen joined 01:01 Actualeyes joined 01:06 pb122 joined, lookatme left 01:15 khw left 01:22 Cabanossi left
BenGoldberg m: my class Foo { }; my class Bar hides Foo { }; say Metamodel::Primitives.rebless(Foo.new, Bar); 01:24
camelia Bar.new
01:25 dolmen left, zapwai joined
BenGoldberg has just discovered that perl6 *does* have something like perl5's bless ^ 01:25
01:27 yqt left, lookatme joined 01:29 khw joined 01:33 japhdc joined 01:35 poohman_ joined 01:37 poohman__ joined, poohman left 01:38 Cabanossi joined, japhdc left 01:40 poohman_ left 01:43 astj_ joined 01:45 ilbot3 left, perlawhirl joined 01:47 astj left, itaipu joined 01:50 ilbot3 joined, ChanServ sets mode: +v ilbot3 01:58 poohman__ left 02:00 lookatme left, mcmillhj_ joined 02:01 poohman joined 02:02 JAP6H joined 02:04 mcmillhj_ left 02:07 JAP6H left 02:27 poohman left 02:28 lookatme joined 02:33 ryan___ joined 02:38 ryan___ left, ryan_____ joined, poohman joined
BenGoldberg m: sub foo(-->"x") {}; sub bar(Int) { }; bar(foo) if False; 02:44
camelia 5===SORRY!5=== Error while compiling <tmp>
Calling bar(Str) will never work with declared signature (Int)
at <tmp>:1
------> 3sub foo(-->"x") {}; sub bar(Int) { }; 7⏏5bar(foo) if False;
BenGoldberg m: sub foo(-->Int) {"x"}; sub bar(Int) { }; bar(foo) if False;
camelia ( no output )
02:46 itaipu left 02:50 ryan_____ left 02:53 Cabanossi left, Cabanossi joined 02:56 mcmillhj_ joined 02:58 lookatme left 02:59 lookatme joined 03:01 TEttinger left, TEttinger joined, mcmillhj joined 03:02 mcmillhj_ left 03:07 poohman_ joined 03:08 aborazmeh joined, aborazmeh left, aborazmeh joined 03:09 poohman left 03:13 aborazmeh left 03:14 mcmillhj_ joined 03:19 mcmillhj_ left 03:20 aborazmeh joined, aborazmeh left, aborazmeh joined, pierre_ left 03:22 BenGoldberg left 03:26 mcmillhj_ joined 03:29 cpage_ left 03:30 pierre_ joined, mcmillhj_ left 03:31 cpage_ joined 03:34 sivoais left 03:36 Cabanossi left
grondilu /j lichess 03:36
oops
03:36 zapwai left
lookatme o? 03:37
03:37 Cabanossi joined 03:41 mcmillhj_ joined
geekosaur spot the irssi user >.> 03:41
03:42 mcmillhj1 joined
grondilu well, I'm sure there are plenty other IRC client that use that syntax 03:45
though I am indeed using irssi
03:45 cpage_ left, khw left 03:46 mcmillhj1 left 03:51 ramortegui joined, gfldex joined
TEttinger Floe has /j work as well 04:01
grondilu I'm not sure but I think that syntax is part of the IRC protocol itself 04:03
04:03 aborazmeh left 04:04 aborazmeh joined, aborazmeh left, aborazmeh joined 04:05 cpage_ joined 04:06 khw joined 04:08 cpage_ left 04:09 cpage_ joined 04:10 mcmillhj1 joined 04:13 cpage_ left 04:14 kyan left, cpage_ joined 04:15 mcmillhj1 left 04:19 cpage_ left 04:25 wamba joined
geekosaur not actually, no 04:27
well, let me qualify that a bit. there is an access control feature to tell the server you want access to something, and it grants or denies it and if it is granted you start receiving things related to it 04:28
but /join is also *in clients* related to what you are seeing at the moment, and that level is not covered by protocol; every IRC message in either direction is tagged with the sender/recipient 04:29
so it operates on two levels. also the IRC wire protocol differs in a number of respects from the one clients give you
as to the command itself, I can use / but also have GUI-ish ways to do it 04:30
er I can use /j
irssi's just the most common client where /j is the primary user interface to it :)
04:32 NeuralAnomaly_ left 04:34 sammers left 04:36 aborazmeh left, Cabanossi left 04:37 krshn joined, Cabanossi joined 04:43 curan joined 04:48 ramortegui left, khw left 04:49 mcmillhj1 joined 04:50 pierre_ left 04:53 mcmillhj1 left 05:01 cpage_ joined 05:02 cpage_ left, cpage_ joined 05:03 cpage_ left, cpage_ joined 05:08 mcsnolte left 05:15 Actualeyes left 05:25 CIAvash joined 05:26 nadim_ joined 05:30 sivoais joined 05:31 sivoais left, sivoais joined 05:39 Actualeyes joined 05:40 anton_p joined, mcmillhj1 joined 05:42 wamba left 05:45 mcmillhj1 left 05:46 domidumont joined 05:49 lowbro joined, lowbro left, lowbro joined 05:51 pierre_ joined, domidumont left 05:52 domidumont joined, skids left 05:55 pierre_ left 05:57 pierre_ joined 06:02 xtreak joined 06:06 nadim_ left 06:09 xtreak left 06:10 mcmillhj1 joined 06:15 mcmillhj1 left 06:23 mcmillhj1 joined 06:25 wamba joined 06:27 mcmillhj1 left 06:33 xtreak joined 06:46 lizmat left 06:50 Cabanossi left 06:52 Cabanossi joined 06:54 pierre_ left 06:57 pierre_ joined 06:58 rubystallion joined
rubystallion I find it often hard to work with lazy sequences. Is there a way to turn lazyness off at first so I can get my script running correctly and then turn it on again? 07:02
Also is there an elegant way to non-destructively return an array except at index $i? I currently first copy the array and then splice the new array. 07:04
07:06 lizmat joined
lookatme What' 07:15
What's wrong with lazy sequence ?
07:20 Cabanossi left, mcmillhj1 joined
rubystallion lookatme: lazy sequences can only iterate once, so when I accidentally access a sequence twice, I will get runtime errors 07:21
07:22 Cabanossi joined 07:23 japhdc joined 07:25 mcmillhj1 left 07:28 z448 joined
lookatme rubystallion, How about a lazy List/Array ? 07:29
07:32 z448 left 07:35 zakharyas joined 07:36 mcmillhj1 joined
rubystallion lookatme: I basically want to avoid sequences. I don't need laziness, I'm just looping through file lines or using gather/take, which creates lazy sequences 07:36
07:41 mcmillhj1 left
lookatme rubystallion, But using gather/take will not create a lazy sequence if you don't add lazy 07:41
tyil if I have a multi sub, one with (Str $option, Any $value) and one with (Str $option, Bool $value), will it always use the second one when given a Bool? 07:51
07:51 mcmillhj1 joined
lookatme Yeah, I think 07:52
so
lizmat that's the idea 07:53
lookatme m: multi sub f(Any) { }; multi sub f(Bool $v) { "CALLME".say; }; f(1.so); f(True);
camelia CALLME
CALLME
07:54 wamba left
lookatme Just like you thought, it will use the best match version 07:55
tyil neat, thanks :D
07:55 mcmillhj1 left
tyil I wasnt sure if it was pure coincidence in my code, or intentional behaviour :p 07:55
08:02 aindilis joined
lookatme tyil, Em, please check out this docs.perl6.org/language/glossary#i...i-Dispatch 08:02
08:03 rindolf joined
tyil will do 08:04
08:05 mcmillhj1 joined 08:10 mcmillhj1 left 08:24 wamba joined 08:25 mcmillhj1 joined, japhdc left 08:29 AndyDee joined 08:30 Dee22 joined, AndyDee left, mcmillhj1 left, eyck joined, xtreak left, chee left 08:31 xtreak joined, Dee22 left, Dee22 joined 08:32 chee joined, xtreak left 08:33 xtreak joined, Dee22 left, Dee22 joined 08:36 Cabanossi left 08:37 xtreak left, Cabanossi joined 08:38 xtreak joined 08:40 mcmillhj1 joined 08:43 darutoko joined 08:44 mcmillhj1 left 08:45 CIAvash left 08:48 poohman_ left, rurban joined 08:49 rurban left 08:50 jsimonet left 08:53 poohman joined 08:54 jsimonet joined 09:15 krshn left, gregf_ joined 09:21 Cabanossi left 09:22 Cabanossi joined 09:31 TEttinger left 09:34 lookatme left 09:45 xtreak left 09:46 xtreak joined 09:47 xtreak left, darutoko left, xtreak joined 09:50 noganex joined 09:52 xtreak left 09:56 rubystallion left 09:57 xtreak joined 10:01 japhdc joined 10:03 lowbro left 10:05 Zoffix joined, astj_ left 10:06 astj joined 10:07 astj left, astj joined
Zoffix Well, no one bothered to mention it to rubystallion before they left, but... Just call .cache on your Seq, it'll make it cache it. Many other things cache them, like using indices $seq[42] caches it. I think the issue was the one-shot nature of seqs, not actually their laziness, but if you want to reify everything on stuff just call .elems 10:08
m: my @a = ^10; say @a[^Inf .grep: none 3] 10:10
camelia (0 1 2 4 5 6 7 8 9)
Zoffix And this is one way to non-destructively splice out an el from array. Basically giving it a lazy inf list of indices (so it stops when it reaches end of list) with a none junction that excludes the index you don't want 10:11
m: my @a = ^10; say @a[flat ^3, 4..*] 10:12
boo
camelia (timeout) 10:13
Zoffix Well, that would've been another but I don't think flat preserves laziness when called in this way
m: my @a = ^10; say @a[|^3, |(4..*)]
camelia (0 1 2 4 5 6 7 8 9)
Zoffix m: my @a = ^10; say @a[0, 1, 2, 4, 5, 6, 7, 8, 9]
camelia (0 1 2 4 5 6 7 8 9)
10:13 Zoffix left 10:15 AndyDee joined 10:16 japhdotcom joined 10:17 xtreak left, Dee22 left 10:18 xtreak joined, japhdc left, xtreak left, xtreak joined 10:23 xtreak left 10:29 itaipu joined 10:33 robertle joined 10:34 pierre_ left 10:35 lowbro joined, lowbro left, lowbro joined, pierre_ joined 10:37 robertle_ left, mcmillhj1 joined, astj left 10:38 astj joined 10:39 xtreak joined 10:40 robertle_ joined 10:41 mcmillhj1 left 10:42 robertle left 10:44 wamba left 10:51 mcmillhj1 joined 10:56 mcmillhj1 left, pierre_ left 10:59 itaipu left, japhdotcom left 11:03 zostay left, zostay joined 11:07 u-ou left 11:13 mcmillhj1 joined 11:17 mcmillhj1 left 11:29 u-ou joined 11:33 astj left, mcmillhj1 joined 11:34 Cabanossi left 11:36 astj joined 11:37 mcmillhj1 left, Cabanossi joined 11:39 xtreak left 11:41 rurban joined 11:46 xtreak joined, wamba joined 11:49 astj left 11:50 xtreak left 11:55 xtreak joined 11:57 astj joined 12:00 mcmillhj1 joined 12:04 xtreak left 12:05 xtreak joined, mcmillhj1 left 12:08 astj left 12:13 mcmillhj1 joined 12:17 astj joined 12:18 mcmillhj1 left, pierre_ joined 12:20 astj left 12:21 Cabanossi left 12:22 Cabanossi joined 12:23 kyan joined 12:30 astj joined 12:37 raschipi joined
[Coke] unsurprised to see perlmonks still full of vitriol about six. 12:46
raschipi m: my @foo is default (NaN); @foo[1;4;3;6;8;7] = "batman"; say @foo.perl
camelia 5===SORRY!5=== Error while compiling <tmp>
Signatures as constraints on variables not yet implemented. Sorry.
at <tmp>:1
------> 3my @foo is default (NaN)7⏏5; @foo[1;4;3;6;8;7] = "batman"; say @foo
raschipi m: my @foo is default(NaN); @foo[1;4;3;6;8;7] = "batman"; say @foo.perl
camelia Index out of range. Is: 4, should be in 0..0
in block <unit> at <tmp> line 1

Actually thrown at:
in block <unit> at <tmp> line 1
raschipi m: my @foo;@foo[1;4;3;6;8;7] = "batman"; say @foo.perl 12:47
camelia [Any, [Any, Any, Any, Any, [Any, Any, Any, [Any, Any, Any, Any, Any, Any, [Any, Any, Any, Any, Any, Any, Any, Any, [Any, Any, Any, Any, Any, Any, Any, "batman"]]]]]]
raschipi How can I set a default and then have P6 autovivify values? 12:48
jnthn You can't, because the auto-vivification is done via. multi-dispatch on a type object 12:49
12:49 wamba left
raschipi So, no Nanana batman jokes, got it. 12:49
timotimo [Coke]: who poked the hornet's nest this time? :) 12:50
12:50 mcmillhj1 joined
[Coke] www.perlmonks.org/index.pl?node_id=1189896 12:50
jnthn m: my @foo[1;4;3;8] is default(NaN); @foo[0;3;2;7] = 'batman'; say @foo; 12:51
camelia 5===SORRY!5=== Error while compiling <tmp>
is default on shaped Array not yet implemented. Sorry.
at <tmp>:1
------> 3my @foo[1;4;3;8] is default(NaN)7⏏5; @foo[0;3;2;7] = 'batman'; say @foo;
expecting any of:
constraint
jnthn aww
12:57 yqt joined 13:06 rurban left 13:12 wamba joined 13:13 matiaslina joined 13:15 rurban joined 13:16 Zoffix joined 13:17 mcmillhj1 left
Zoffix So someone quoted me again? :) Sheesh, I should start charging for it. 13:17
timotimo it's almost as if saying something on the internet has to mean something
Zoffix .tell stmuk_ the blue news bar on perl6.org should probably be updated to latest Rakudo Star news 13:18
yoleaux Zoffix: I'll pass your message to stmuk_.
13:18 mcmillhj1 joined
MasterDuke_ the OP was pretty negative, but the rest of the posts weren't 13:20
raschipi I liked the timeline with the comparisson between Perl5 and Perl6. 13:21
Zoffix Yeah, I won't even bother replying to them. What's the winge even? A large software project isn't magically bugless and uber optimized? :)
13:22 skids joined
raschipi Yep, saying a new software project is new shouldn't surprise anyone. 13:22
timotimo i think most people still object to us calling perl6 "new" 13:23
Zoffix FWIW, I think among core devs I'm the most pessimistic about Perl 6's stability yet at this very moment I'm writing web app code I plan to use in money-making production stuff to replace a Perl 5 app that has 123365 lines of code 13:26
ZofBot: haters gonna hate. 13:27
stmuk_ "hard things are hard and take a long time for mostly volunteer projects"
yoleaux 13:18Z <Zoffix> stmuk_: the blue news bar on perl6.org should probably be updated to latest Rakudo Star news
13:28 cygx joined
cygx o/ 13:28
Zoffix \o
cygx my problem: I need to bundle some files with a module with relative paths that must not change
can Rakudo and/or zef help me with that? 13:29
Zoffix cygx: and %?RESOURCES isn't good due to changing paths?
cygx exactly 13:30
Zoffix No idea :/
Why do relative paths must not change?
13:30 rurban left
cygx I want to bundle libtcc.dll for the revived version of my TinyCC module, including its include directory 13:31
it's kins of a problem if I end up with a flat resource direcroty full of files named <CHECKSUM>.h 13:32
*kind
timotimo oh but some developers are paid! 13:38
13:39 jonas1 left 13:40 curan left, wamba left
jnthn cygx: I ended up doing a hack like this: github.com/jnthn/p6-ssh-libssh/blo...aw.pm6#L22 13:46
daxim remember when rakudo took half a minute to tally the words in a 30 kilobyte text file? stackoverflow.com/a/3136410/46395 13:47
cygx jnthn: that's one possibility 13:49
alternatively, I misht just stick the stuff into $*VM.config<prefix> (at least on win32)
13:50 ufobat joined, khw joined
Zoffix daxim: not read all the text there, but I see the user was using `say [+] 1..100000` as a measure and that's terribly flawed because that (now) just calls .sum on Range object. You could do `say [+] 1..99999999999999999999999999999999999999999999999999999999999999999999` and Perl 6 will give you an answer almost instantly while other langs (like Perl 5) will crash with out of memory 13:51
raschipi m: say [+] 1..99999999999999999999999999999999999999999999999999999999999999999999 13:52
camelia 4999999999999999999999999999999999999999999999999999999999999999999950000000000000000000000000000000000000000000000000000000000000000000
raschipi That's just for ranges or can it do it for sequences too? 13:57
13:59 u-ou left
Zoffix raschipi: just ranges 14:01
m: say sum {rand} ... * > .5
camelia 1.12044888125413
Zoffix m: say sum {rand} ... * > .5
camelia 0.961826126359131
Zoffix (not all sequences are predictable)
raschipi When P6 builds arithmetic or geometric series, does it record they were built that way? 14:03
moritz depends on what you mean by "records" 14:04
it's part of the internal state of the series
raschipi Is there a way to retrieve that information? I'm thinking of a module that automatically gets the sequence from the series if possible. 14:07
ops, other way around, get's the series from the sequence.
jnthn It's not reachable from the outside, afaik. 14:08
otoh, you could override the ... operator :-)
And export the overload from your module
Then at least you'd have the original sequence values to work with
14:08 u-ou joined
jnthn (Though would have to re-do the inference logic yourself then...) 14:09
14:09 krshn joined
raschipi It could also sum infinite series when possible then. 14:10
timotimo perhaps it'd be enough to wrap infix:<...>
that's "nice" and manipulative
program-wide, i mean
krshn hi 14:11
raschipi oi 14:12
krshn timotimo: did you get a chance to look at the zef issue from yesterday?
timotimo sorry, i didn't 14:13
Zoffix Well, I ended up repsonding to that monger thread: www.perlmonks.org/index.pl?node_id=1190064 14:14
Mostly 'cause I see it's in the thread about moritz++'s book :)
14:15 lizmat left
timotimo good reply 14:16
Geth perl6.org: cf164c0059 | (Zoffix Znet)++ (committed using GitHub Web editor) | source/index.html
Update news

  - The April changes are now in the past
  - We got new Star; put it in the news
14:18
14:18 rurban joined 14:20 Actualeyes left 14:21 k-man left
moritz aye, upvoted 14:22
Geth ecosystem: CurtTilmes++ created pull request #339:
Add LibCurl to ecosystem
14:23
14:26 lizmat joined, poohman left 14:27 cdg joined, Zoffix left, k-man joined
Geth ecosystem: b72e4e8d79 | (Curt Tilmes)++ | META.list
Add LibCurl to ecosystem

See github.com/CurtTilmes/perl6-libcurl
14:27
ecosystem: 77e254863f | (Curt Tilmes)++ (committed using GitHub Web editor) | META.list
Merge pull request #339 from CurtTilmes/master

Add LibCurl to ecosystem
14:28 kentnl left 14:29 lowbro left 14:30 kent\n joined
curt_ LibCurl is a significantly different approach to libcurl from Net::Curl already released -- please check it out! 14:30
moritz provided by LibCurt? :-) 14:31
curt_ :)
I'm really getting into NativeCall -- it is awesome!
raschipi And it's not even finished yet. 14:32
14:32 kurahaupo_ joined 14:34 Actualeyes joined, wamba joined 14:35 Cabanossi left 14:37 Cabanossi joined, itaipu joined 14:40 kurahaupo_ left 14:45 alimon joined 14:47 mcmillhj left 14:48 mcmillhj1 is now known as mcmillhj 14:53 domidumont left
raiph m: module Foo { enum Mode is export < album auto ... >; sub bar ( Mode $mode ) is export { } }; import Foo; bar album; bar not-gonna-work 14:58
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
not-gonna-work used at line 1
Geth perl6.org: 29fee590b3 | (Zoffix Znet)++ (committed using GitHub Web editor) | fetch-recent-blog-posts.pl
Update blog fetcher for latest Mojolicious
raiph .tell tyil Just a fyi but you could make a Mode error a compile-time error (though with an arguably poorer message); see irclog.perlgeek.de/perl6/2017-05-11#i_14566571 15:00
yoleaux raiph: I'll pass your message to tyil.
15:03 krshn left 15:04 itaipu left 15:06 mcmillhj_ left 15:08 mcmillhj_ joined 15:09 xtreak left
Geth ecosystem: 13a29c9a14 | (Curt Tilmes)++ | META.list
Add Redis::Async to ecosystem

See github.com/CurtTilmes/perl6-eredis
15:09
15:20 pierre_ left 15:21 raiph left, raiph joined 15:28 sufrostico left 15:33 peteretep joined
cygx I've decided to just copy the files into wherever Rakudo is installed 15:42
after `zef install TinyCC::Resources::Win64`, using the packages compiler should be as easy as `perl6 -MTinyCC::Win64` 15:43
for people interested in the current state of affairs, the example code works: github.com/cygx/p6-tinycc/blob/mas...example.p6
15:49 stmuk_ left 15:50 stmuk joined
timotimo once we've got a pure-perl6 C compiler, some modules will become a bunch easier to distribute :) 15:50
15:52 mcafee joined
zostay how do you convert a Hash to a completely immutable Map, such that the values are immutable too? 15:54
it doesn't seem to be quite as straightforward as it is for Arrays to Lists
or i'm doing something dumb
cygx bye o/
15:54 cygx left
timotimo m: my %foo = a => 10, b => 20, c => 30; my $map = %foo.Map; $map<a> = 99 15:55
camelia Cannot modify an immutable Int
in block <unit> at <tmp> line 1
timotimo zostay: are you assigning the map to a % variable?
zostay m: my $one = 1; my %foo = a => $one; my %map := %foo.Map; %map<a> = 99; 15:56
camelia Cannot modify an immutable Int
in block <unit> at <tmp> line 1
zostay m: my $one = 1; Map.new('a', $one)<a> = 99; 15:59
camelia ( no output )
zostay m: my $one = 1; say Map.new('a', $one)<a> = 99;
camelia 99
zostay that's basically what i was trying, looks like .Map is better for my needs then
timotimo seems so
zostay well... maybe
we'll try it and see 16:00
16:03 raschipi left
mcafee How does one convert a string into a regex? 16:05
zostay m: my $s = 'string'; my $rx = rx/$s/; 16:06
timotimo use <$the-string>
camelia ( no output )
timotimo what zostay just wrote will only match the literal contents of the string
m: my $s = 'abc.*'; my $rx = rx/<$s>/; say "hello abc foobar" ~~ $rx 16:07
camelia 「abc foobar」
mcafee Nice, thanks! 16:09
lizmat m: my %h = a => 42; my $m = %h.Map; dd $m; $m<a> = 42 # zostay: .Map should do the trick, really
camelia Map $m = Map.new((:a(42)))
Cannot modify an immutable Int
in block <unit> at <tmp> line 1
zostay m: sub evil { say 'do evil' }; my $s = '{evil()}'; my $rx = rx/<$s>/; "adsf" ~~ $rx;
camelia 5===SORRY!5=== Error while compiling /home/camelia/EVAL_0
Prohibited regex interpolation (use the MONKEY-SEE-NO-EVAL pragma to override this error,
but only if you're VERY sure your data contains no injection attacks)
at /home/camelia/EVAL_0:1…
mcafee Is it possible to parse a string as a Perl 5 regex, as if using m:p5? rx:p5 seems not to work. 16:10
Actually neither does m:p5 now that I try it again. I seem to remember it was possible somehow though... 16:12
timotimo perhaps it has to be P5
mcafee Aha, indeed, thanks. 16:13
timotimo AFK
16:16 itaipu joined 16:20 kaare_ left, domidumont joined 16:24 astj_ joined, astj left
mcafee Hmm, but that construct appears to just keep a reference to the string around, so map { rx/<$_>/ }, <a b c> just gives a list of three identical $_-referencing regexes, not three distinct ones. 16:29
16:30 domidumont1 joined 16:33 domidumont left 16:36 lowbro joined, lowbro left, lowbro joined 16:37 pat_js joined
zostay the will each close the respective values of $_, though, so it should be doing what you mean 16:37
16:37 kurahaupo__ joined
Geth doc: fb29e049c3 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/IO/Path.pod6
[io grant] Include exception used in IO::Path.resolve
16:37
16:37 kurahaupo__ left 16:39 kurahaupo_ joined
zostay my @x = <a b c>.map({ rx/<$_> {say $_} }); for @x -> $rx { "test" ~~ $rx } 16:39
m: my @x = <a b c>.map({ rx/<$_> {say $_} }); for @x -> $rx { "test" ~~ $rx }
camelia 5===SORRY!5=== Error while compiling <tmp>
Couldn't find terminator / (corresponding / was at line 1)
at <tmp>:1
------> 3my @x = <a b c>.map({ rx/<$_> {say $_} 7⏏5}); for @x -> $rx { "test" ~~ $rx }
expecting any of:
/
zostay dur
m: my @x = <a b c>.map({ rx/<$_> {say $_}/ }); for @x -> $rx { "test" ~~ $rx }
camelia ( no output )
zostay m: my @x = <a b c >.map({ regex { <$_> {.say} } }); for @x -> $rx { "abc" ~~ $rx } 16:44
camelia a
b
c
zostay m: my @x = <a b c >.map({ rx{ <$_> {.say} } }); for @x -> $rx { "abc" ~~ $rx }
camelia c
c
c
zostay so, maybe you want regex {} instead
that the .say closes on c, is kind a weird though 16:45
mcafee It's not really parsing a string into a regex per se: my $s = 'foo'; my $r = rx/<$s>/; $s = 'bar'; 'foo' ~~ $r --> (Any)
Isn't that possible at all? And for a golfing challenge I'm working on, I'd like to parse a regex from a whatever star, but /<*>/ predictably doesn't work. 16:46
zostay m: my @x = <a b c >.map({ rx{ <$_> {.say} } }); for @x -> $rx { $_ = "d"; "abc" ~~ $rx } 16:50
camelia c
c
c
16:50 domidumont joined 16:51 Zoffix joined
Zoffix If my module is using $*PERL in the mainline. How can I fake it in tests? 16:51
moritz my setting $*PERL before loading (with require)? 16:52
Zoffix with require.. hm
16:53 domidumont1 left
Zoffix Thanks. `require` did the trick. 16:55
moritz \o/
Zoffix I was trying to set it and then `use` a module; all inside a BEGIN block and it wouldn't take it
moritz that doesn't work, because if you do BEGIN { my $*PERL = 'foo'; use Bla; }, the BEGIN block again as a runtime and a compile time 16:58
and the "use" is executed at compile time, so before the assignment
16:58 Actualeyes left
moritz you could try BEGIN my $*PERL = 'foo'; use Bla; 16:58
Zoffix I think I tried that too, but eh, require suits my purpose. Thanks 16:59
16:59 Zoffix left
moritz ... and hope that the BEGIN correctly doesn't introduce a scope (but I wouldn't bet on it) 16:59
Geth ecosystem: 49bf462822 | (Zoffix Znet)++ (committed using GitHub Web editor) | META.list
Add Augment::IO::Path::ChildSecure to ecosystem

  "Augment IO::Path to provide secure version of .child"
See: github.com/zoffixznet/perl6-Augmen...hildSecure
17:04
17:07 kyan left, itaipu left 17:12 lizmat left 17:13 pat_js left 17:15 ufobat left 17:23 matiaslina left 17:28 jbolden1517 joined
jbolden1517 Hi. Question for you all. There is a rather cool tutorial docs.perl6.org/language/haskell-to-p6 17:28
Is there a wiki editable version of this. Figure I'd like to finish the missing parts and perhaps extend it a bit to implement some of the classic Haskell tutorials in p6
gfldex jbolden1517: see github.com/perl6/doc/blob/master/C...IBUTING.md 17:29
17:31 mcafee left 17:32 Zoffix joined, setty1 joined
Zoffix jbolden1517: no wiki, but the closest approximation would be to use GitHub editor to edit this page: github.com/perl6/doc/blob/master/d...to-p6.pod6 17:32
jbolden1517: you got GitHub account? What's your username. I can give you a commit bit 17:33
TIL we have a Haskel to Perl 6 tut :o
jbolden1517 No I don't but I can create one easily enough
Zoffix jbolden1517: ok, create one :)
jbolden1517 Yes. I was commenting there are missing sections
17:35 krshn joined
Zoffix This is quite a wall of text github.com/perl6/doc/blob/master/C...IBUTING.md Makes me think more of this idea (click-n-edit thing): github.com/perl6/doc/issues/1212 17:36
17:36 raschipi joined
jbolden1517 OK guess I did have one. jbolden1517 is the user name 17:38
17:39 zakharyas left
jbolden1517 Anyway my other idea was to write a Haskell -> Perl6 tutorial with more of a Haskell feel to it. 17:39
Haskell documentation tends to be organized: computer science concept -> theoretical implementation -> example code -> practical implementation explination 17:40
Geth doc: e0f512a62c | (Zoffix Znet)++ (committed using GitHub Web editor) | CONTRIBUTING.md
Delete `Website styles` section

  - Styles are now autobuilt and there's not /html/css/style.css
   - Shorten giant contributor doc
Zoffix jbolden1517: sent you an invite
gfldex jbolden1517: that would be very welcome. Please leave lizmat a note when you are done so she can add it to the Perl 6 weekly. 17:41
jbolden1517 I was thinking that might be neat to do for perl6. There is enough interesting stuff in 6 (from what I see, very new though did Perl4/Perl5 back in the 1990s) to do that sort of thing for Perl 6. 17:42
raschipi jbolden1517: Do you have the map between computer science concepts and Perl6 concepts already? 17:43
jbolden1517 My idea is sort of like translating: www.willamette.edu/~fruehr/haskell...ution.html (which is really about theory of computation) to Perl6
raschipi It might not be clean in Perl6, we're a diagonal language.
jbolden1517 Yeah that's easy. You all are just taking classic Lisp concepts and implementing a dynamic version of them.
Zoffix jbolden1517: here's the docs for POD6, the language the docs are written in: docs.perl6.org/language/pod 17:44
jbolden1517 Sort of a Perlified version of ideas that have been around since the 1930s.
The implementation is one of the best I've seen but the concepts aren't new
gfldex we only steal the good stuff :)
Zoffix And the site is re-built continuously. And you can find the commit it's built off in the footer of any page and build logs are in docs.perl6.org/build-log/ 17:45
jbolden1517 BTW read the dicussion on the #1212. FWIW as a newbie. Strongly think the click and edit approach is a good one. You want the barrier to first commit to be as low as possible. 17:48
raschipi It might end up as a multimap instead, we probably have more than one implementation for each mathematical concepts.
samcv how do i format DateTime object printing? i remember there being a special method or printer
like you make your own printer and supply it to the datetime and can easily print it how how you wish
b2gills formatter 17:49
jbolden1517 The way Wikipedia (in the old days) got committers was someone knew a single date, or had a reference for a single point. Or could write a good paragraph or... (and if this is unsolicited advice I'll shut up now)
samcv yay
gfldex samcv: docs.perl6.org/type/DateTime#(Date..._formatter
samcv yeah i found it thanks
Zoffix jbolden1517: you could leave that advice on the issue :) 17:50
17:52 ChoHag joined
raschipi It would go from the functional concepts and when it gets to monads explains the rest of the language? 17:52
17:53 Zoffix left 17:55 rurban left 17:56 krshn left 18:05 ufobat joined, ggoebel left, cdg left 18:06 lichtkind joined
jbolden1517 BTW FWIW zef install Pod::To::HTML and Pod::To::BigPage are installed by default in Star 18:08
raschipi Perl is a terrible language for monads. Which is not to say you couldn't use them in Perl but they would never work right. 18:09
For a monad to really do its thing everything has to be very strongly typed. 18:10
raschipi This channel has an opinion that monads is just a way to write normal programming in a pure functional language.
jbolden1517 See for Option monad is Java for an example of why monads suck outside of their native homeland
Yeah I get that. Wadler made that joke in his "Imperative Functional Programming" back in 1989. 18:11
What I'd say is the same thing he did. Monads give pure functional programming languages a lousy but tolerable imperative language. 18:12
raschipi Well, that's why I asked that if would explain the rest of the language when you got to monads.
jbolden1517 With Perl 6 you already have a good imperative language.
raschipi The best, believe me.
jbolden1517 No. I might do some monads in Perl.
For example Maybe (Option) in Java would likely work really well in Perl. 18:13
perigrin shouldn't, rather than explaining the rest of the language, you just map to a category where the language is already explained?
jbolden1517 Sorry I'm losing the question. 18:14
perigrin that's okay ignore me I'm just being goofy.
raschipi me too
thanks
gfldex jbolden1517: I think they try to tell you to stop writing what you want to write and go write it already. :-> 18:15
jbolden1517 I am
Just going through you contrib doc
Noticed a bug in it and was telling you
You all do have like a 20 step process.
capnm is the next problem in the contributing doc. Says what to do if you have it, but not if you don't Not on fink. I could build it with CAPN but its been over a decade since I've used CAPN. 18:19
18:19 zapwai joined
[Coke] (click to edit) we don't have the cycles to manage reviewing and editing un-vetted edits. 18:20
jbolden1517 That's fair.
Overhead of managing lots of contributors is a pain. 18:21
[Coke] (it's also not a source page -> web page 1:1 mapping; source ends up in multiple pages)
b2gills jbolden1517: en.wikipedia.org/wiki/Option_type#Perl_6
18:21 Cabanossi left
[Coke] so, I think it's -possible-, but I'm not sure it's worth the overhead of setting up and maintaining) 18:21
18:22 Cabanossi joined
Geth doc: 274587ee46 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/Date.pod6
Document Date.clone takes a :formatter arg

Rakudo impl: github.com/rakudo/rakudo/commit/a9a161aef4 Tests: github.com/perl6/roast/commit/f304b9910a
18:23
18:24 ggoebel joined 18:25 kyan joined
jbolden1517 b2gills: That is interesting. Does it attach to user defined data structures and objects as well? Then I think it could work. Just build a lazy list of subroutines and evaluate to first success. That's a good example of what I was thinking of. 18:31
b2gills m: class Foo {}; say Foo.defined; say Foo.new.defined; 18:33
camelia False
True
18:37 Ven joined, Ven is now known as Guest80030
jbolden1517 Yep that works! State has always worked fine with Perl. err was based on Either. Eval is probably more of a Moab integration. 18:38
Hmm. Interesting sounds like Perl6 already has them.
Wow then you really should have a page on corecursion and anamorphisms in perl6 18:40
You have out of the box deforestation. A hadoop back end and you have big data parallelism out of the box! Consider me very impressed. 18:42
MasterDuke_ huh, and here i thought deforestation was a bad thing... 18:45
guess Perl 6 isn't going to power Greenpeace's website anytime soon
jbolden1517: the above was a not very clever way of asking what you mean by "deforestation"? 18:46
gfldex m: my @a = { False }, { True }; dd @a; say @a.first({$_.()}); 18:47
camelia Array @a = [-> ;; $_? is raw { #`(Block|52082160) ... }, -> ;; $_? is raw { #`(Block|52082232) ... }]
-> ;; $_? is raw { #`(Block|52082232) ... }
gfldex m: my @a = { False }, { True }; dd @a; say @a.first(*.());
camelia Array @a = [-> ;; $_? is raw { #`(Block|67651528) ... }, -> ;; $_? is raw { #`(Block|67651600) ... }]
No such method 'CALL-ME' for invocant of type 'Whatever'
in block <unit> at <tmp> line 1
jbolden1517 Oh deforstation is a traversal technique for data structures 18:49
Essentially it turns a lot of exponential time algorithms into linear time algorithms. It can be automatically applied if you have corecursion that works 18:50
Essentially most complex algorithms look like: take simple data -> make more complex data -> do something to that complex data to produce simple data 18:51
For example "find all accounts with a balance over $1000 in Pennsylvania and check against these 20 criteria to determine if we should try to sell them an account upgrade" 18:52
Starts with a simple criteria (accounts with a balance over $1000) performs (expand simple data to complex data with those criteria) then compress that back to a simple list of accounts 18:53
Written naively this ends up being an exponential algorithm on accounts. For example typically in SQL you would perform a bunch of joins and get back a huge table of those 20 criteria. 18:54
But obviously this algorithm can be done one account at a time. there is no need for the global table you just need each row. Which means it can fork against CPUs. 18:55
18:55 st_elmo joined
jbolden1517 Each node can do part of the work and then combine at the end (a map reduce) 18:55
That's what hadoop does. But if Maybe / Option monad works then Perl6 can rewrite naively written code automatically to run in parallel. The algorithms for this transformation are really simple. 18:57
18:58 AlexDaniel joined
jbolden1517 So I'm suddenly very excited. This is the sort of thing you could never do with Perl5 code 18:58
18:59 lichtkind left
jbolden1517 It works in Haskell because Haskell doesn't let you do the sorts of things that would screw it up. 18:59
Did that help?
cs.stackexchange.com/questions/101...-a-program
MasterDuke_ it did, thanks
Geth ecosystem: 0ff7ad4fcf | (Zoffix Znet)++ (committed using GitHub Web editor) | META.list
Replace Augment::IO::Path::ChildSecure...

  ...with IO::Path::ChildSecure:
  "Secure version of IO::Path.child": github.com/zoffixznet/perl6-IO-Path-ChildSecure
Gone off the idea of it being an augment. The globality of it is gross
19:01
jbolden1517 Anyway Coke offer stands if there ever gets to be an easier way. And Perigrin. That category joke was pretty funny. Sorry at the time I was distracted trying to figure out details of Zef. You deserved more appreciation for it. 19:09
19:11 lichtkind joined 19:13 kaare_ joined 19:14 Sound joined, Sound left, Sound joined
raschipi Oh yeah, I didn't see it. Link the section on monads to docs.perl6.org/language/syntax 19:15
It seems we're ahead of schedule, making the impossible easy.
samcv are anyone know if there's any issues on windows where shell needs to be used and run cannot 19:17
due to path issues. launching another perl 6 process. it should be fine to substitute run for shell right?
i know it works on linux. wasn't sure why this module i'm gonna PR uses shell, could have just been overlooked idk
19:19 espadrine joined
samcv oh wait. windows doesn't even have shell piping which this used 19:19
so there shoudn't be any issues if anything this will more likely work
19:20 Guest80030 left 19:22 Ven joined, Ven is now known as Guest95275 19:23 domidumont left 19:26 Guest95275 left 19:29 Ven_ joined
Geth doc: 72ea634915 | (Jan-Olof Hendig)++ | doc/Type/Str.pod6
Fix a couple of copy paste errors
19:30
19:33 Ven_ left 19:35 Ven_ joined, zakharyas joined 19:36 devmikey joined 19:37 zakharyas left, zakharyas joined 19:38 Ven_ left
geekosaur er? the windows nt lineage has ~always had true pipes 19:38
(possibly 3.1 didn't; 3.5 did)
it was the DOS-based ones that had to fake it
samcv geekosaur, does it have same semantics? 19:39
geekosaur mind, the API is a bit of a bear, so it's usually easier to go through CMD...
fairly similar 19:40
well, instead of being anonymous like pipe(2) on Unix you always have named pipes in a virtual filesystem
which is how you plumb them 19:41
(this actually gives you a bit more flexibility, plus avoids many of the edge cases with named pipes/fifos on unix) 19:42
19:42 mcmillhj left 19:43 Sound left
geekosaur um. what the heck did I just do to hexchat/... 19:45
19:45 TEttinger joined
geekosaur anyway I admit I am not an expert on this (or much of anything Windows) but at the shell/cmd level it seems similar enough 19:45
19:47 mcmillhj joined 19:53 ChoHag left
Geth doc: 69296f211b | (Jan-Olof Hendig)++ | doc/Type/Str.pod6
Fix incorrect split example result
19:57
19:58 kaare_ left 19:59 kaare_ joined 20:01 Ven_ joined 20:02 Ven_ left 20:10 dolmen joined, dolmen is now known as Guest3206
perigrin jbolden1517: thanks :) 20:20
20:20 lowbro left 20:21 itaipu joined 20:34 cdg joined
tyil / 5 20:36
yoleaux 15:00Z <raiph> tyil: Just a fyi but you could make a Mode error a compile-time error (though with an arguably poorer message); see irclog.perlgeek.de/perl6/2017-05-11#i_14566571
tyil woops
also, thanks raiph :>
20:36 Cabanossi left 20:37 sftp joined 20:38 Cabanossi joined 20:47 kaare__ joined 20:48 kaare_ left 20:49 azawawi joined 20:51 espadrine left
azawawi hi 20:52
raschipi hello
20:52 lostinfog joined
tyil o/ 20:53
raschipi bye
20:53 raschipi left
timotimo heyo azawawi 20:53
azawawi timotimo: made some progress in libcaca :) 20:55
timotimo cool! i have not continued work on libsixel :( 20:56
azawawi hmmm pasteboard.co/ seems to be down. Any other image pastebin suggestions? 20:57
timotimo i usually use imgur, but that sometimes goes "over capacity" 20:58
and it's a bit more like a community thing than a pure paste-images-to-put-into-IM-or-chatroom thing
tyil azawawi: uguu.se
does any file, really, but works for images
you can curl to it and get an url back 20:59
azawawi cool
thx
timotimo the xfce screenshooter tool also has zimagez support built-in 21:00
tyil there is also a number of pomf.se clones that should allow the same
azawawi a.uguu.se/Xn4MoafJQUjm.png # More 3D ASCii art with Terminal::Caca :)
timotimo you're doing perspective computation all with pure math, yeah? 21:01
azawawi github.com/azawawi/perl6-terminal-...sphere.pl6 21:02
my 3D math is rusty but im improving it :)
timotimo uh huh
i didn't do 3d math myself yet
21:03 setty1 left
timotimo only what opengl offers you, like glRotatef and friends 21:03
21:03 skids left, Ven joined 21:04 Ven is now known as Guest14984 21:05 sufrostico joined 21:06 mcmillhj left 21:10 zapwai left 21:15 kyan left 21:18 st_elmo left
azawawi timotimo: next stop github.com/nosir/obelisk.js port :) 21:18
azawawi installs Peek to record an animated gif :) 21:19
timotimo peek is all right 21:21
21:24 zakharyas left
azawawi a.uguu.se/NSO2pzcTbn13.gif # Icosphere v2 :) 21:25
timotimo oh that's kinda slow :( 21:26
21:27 ufobat left
azawawi gif file download is slow 21:27
wait for it :)
21:27 pb122-two joined, pb122 left
azawawi im actually adding a sleep 0.0042 / 2 # :) 21:28
timotimo oooh now it's better
azawawi What do you think? 3D Perl6 library on top on Terminal::Caca? :) 21:29
21:29 ChoHag joined
azawawi there is a function which i didnt still implement caca_fill_triangle_textured 21:30
samcv cool. ok so i'm doing my grant documentation in pod6
21:30 chee left
samcv and having a script that automatically converts to .md and pushes to github's wiki github.com/samcv/Unicode-Grant/wik...code-Files 21:30
and i like can between the pages as well
with L<foo|page-name> 21:31
21:31 chee joined
azawawi cool 21:31
timotimo azawawi: does libcaca support 256 color and 24bit color?
21:31 rurban joined, chee left
azawawi timotimo: let me check 21:32
timotimo i know only one terminal emulator that has 24bit color support, actually
that's Konsole
samcv does not seem to be rendering deeper embeded =item's though
21:32 z448 joined 21:33 stmuk_ joined 21:34 anton_p left
azawawi timotimo: 16 color so far 21:34
21:35 stmuk left
timotimo only 16? wow :( 21:35
21:36 z448 left
azawawi well 16 is better than 2 :) 21:38
21:38 yqt left, cyphase left
timotimo eh, sure 21:39
samcv guess i'll just have to fix it i guess :)
fill all the everything
timotimo samcv: how many colors? :) 21:40
samcv idk no colors 21:41
21:44 cyphase joined
samcv sweet success! 21:45
21:47 matt_ left
samcv nice. that worked out way better than i had hoped :) 21:47
timotimo nice 21:49
samcv perfect.
21:51 Guest14984 left
samcv yay so nested :) github.com/samcv/Unicode-Grant/wik...code-Files 21:55
timotimo, should there be a way to make checkboxes with Pod?
timotimo hmm. well, pod allows you to put whatever new directives you want in 21:56
just have to support it in the renderer, too, i guess?
samcv hmm looks like if i did `=item [X]` when i convert to pod it shows up as checkbox
so that's good enough :)
timotimo neato. 21:57
21:58 nadim_ joined
Geth ecosystem: 3c2ec3fe6c | cygx++ (committed using GitHub Web editor) | META.list
revive TinyCC module
22:05
samcv timotimo, you know if i can put variables in a pod link? 22:07
timotimo um, huh?
22:09 kyan joined, colomon_ joined 22:10 colomon left, colomon_ is now known as colomon
samcv like L<Latest GCB|unicode.org/files/$univer/graphemeclusterbreak.txt> 22:17
i mean they may have a link that goes to the latest. but i was curious it made me think
timotimo nah, pod won't interpolate variables 22:18
22:20 skids joined 22:21 Cabanossi left 22:23 Cabanossi joined 22:30 ggoebel left
azawawi timotimo: a.uguu.se/BMsYVVlKaQLM.gif # more colors :) 22:30
timotimo: caca.zoy.org/doxygen/libcaca/group_...a3050550bc 22:31
22:31 jferrero left
timotimo did you past the right link there? 22:32
it still has only the two colors?
azawawi hmmm give me a second 22:33
my bad... wrong upload :) # a.uguu.se/YL03CApU2Gzi.gif 22:34
22:34 japhdotcom joined
azawawi needs now a bit of shading 22:35
22:36 rurban left
timotimo mhhh gouraud shading? :) 22:37
22:37 mcmillhj_ left
timotimo phong shading? 22:37
normalmaps!!
22:37 nadim_ left
azawawi :) 22:39
timotimo make it reflect an environment! ;) 22:40
azawawi And Camelia flying :)
timotimo with flapping wings 22:42
22:44 wamba left
azawawi :) 22:44
22:48 rindolf left 22:49 kurahaupo_ left 22:50 kurahaupo joined
azawawi good night #perl6 22:50
22:51 Cabanossi left, azawawi left 22:52 lizmat joined
Geth ecosystem: afd0c8189b | (Zoffix Znet)++ (committed using GitHub Web editor) | META.list
Add RakudoPrereq to ecosystem

  "Specify minimum required versions of Rakudo":
  github.com/zoffixznet/perl6-RakudoPrereq
22:53
22:53 Cabanossi joined 23:01 lichtkind left 23:04 japhdotcom left, Guest3206 left, mcmillhj joined 23:06 BenGoldberg joined 23:18 astj joined, astj_ left 23:22 kurahaupo left, kurahaupo_ joined 23:28 ChoHag left 23:32 lizmat_ joined 23:33 kurahaupo_ left 23:34 lizmat left 23:35 stmuk joined 23:36 stmuk_ left 23:38 kurahaupo__ joined 23:40 cpage_ left 23:41 lostinfog left 23:45 chee joined, kurahaupo__ left 23:46 kurahaupo_ joined
Geth whateverable: f5459ff7c9 | (Aleks-Daniel Jakimenko-Aleksejev)++ | Unicodable.p6
I don't know. Some refactoring and a bug fix maybe?

Unfortunately I have no time machine so I cannot go back and ask myself why these changes were made.
It seems that propdump didn't handle weird characters properly, so some code was moved to separate subs in order to be reused by propdump.
23:53
AlexDaniel how many times did I promise myself not to leave uncommitted changes… 23:57