»ö« 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:04 pmurias left 00:07 shayan_ left, shayan_ joined 00:10 mcmillhj joined 00:12 Celelibi joined 00:14 shayan_ left 00:17 Actualeyes left 00:18 mcmillhj left 00:19 dj_goku joined, dj_goku left, dj_goku joined 00:24 dj_goku left 00:25 dj_goku joined, dj_goku left, dj_goku joined 00:29 rpburkholder joined, ufobat left, BenGoldberg joined 00:30 mcmillhj joined 00:31 dj_goku left, itcharlie1 joined 00:35 mcmillhj left, dj_goku joined, dj_goku left, dj_goku joined
notviki hm, if I expand all multies and count their candidates, we have 1177 core functions... 00:38
00:39 shayan_ joined 00:40 cpage_ joined
notviki and if I done it right... 4056 methods 00:43
oh wait, I forgot the candidates :P
dalek c/ronaldxs-fix-contributing-link: 69d8444 | ronaldxs++ | doc/Language/about.pod6:
Update about.pod6 - fix broken CONTRIBUTING link
00:44 cpage_ left, shayan_ left
notviki 7297 methods :P 00:44
m: say "{7297+1177} routines" 00:45
camelia rakudo-moar 996ab6: OUTPUT«8474 routines␤»
00:45 shayan_ joined
notviki
.oO( Perl 6 flash cards with names of routines... )
00:45
AlexDaniel that's scary
00:47 aborazmeh joined, aborazmeh left, aborazmeh joined 00:50 cpage_ joined
AlexDaniel alright folks 00:51
what would be the right behavior here
notviki m: say 4056 + 372
camelia rakudo-moar 996ab6: OUTPUT«4428␤»
AlexDaniel mch: say “5” ~~ /<[\5]>/
committable6 AlexDaniel, ¦«2015.12,HEAD»: 「5」
AlexDaniel mch: say “0” ~~ /<[\0]>/
committable6 AlexDaniel, ¦«2015.12»: 「0」␤¦«HEAD»: Nil
AlexDaniel mch: say “\0” ~~ /<[\0]>/
notviki If you add up all routines without counting individual candidates, we still have fewer of them than PHP
committable6 AlexDaniel, ¦«2015.12»: Nil␤¦«HEAD»: 「␀」
notviki So much for "massive" language :P
AlexDaniel to me it looks inconsistent. Either all other backslashed digits should be disallowed, or \0 should match ‘0’ 00:53
notviki mch: say “\5” ~~ /<[\5]>/
committable6 notviki, ¦«2015.12,HEAD»: 04===SORRY!04=== Error while compiling /tmp/6PMk5lfoFM␤Unrecognized backslash sequence (did you mean $4?)␤at /tmp/6PMk5lfoFM:1␤------> 03say “\508⏏04” ~~ /<[\5]>/ «exit code = 1»
notviki mch: say “\x[5]” ~~ /<[\5]>/
committable6 notviki, ¦«2015.12,HEAD»: Nil
SmokeMachine m: role Cond { has &!true = {;}; has &!false = {;}; proto method cond(|) {*}; multi method cond("True") { &!true() }; multi method cond("False") { &!false() }; method if(:&!true, :&!false){ $.cond(?self .gist) } }; (False does Cond).if: :true{say "ok"} :false{say "ko"} 00:54
camelia rakudo-moar 996ab6: OUTPUT«ko␤»
SmokeMachine m: role Cond { has &!true = {;}; has &!false = {;}; proto method cond(|) {*}; multi method cond("True") { &!true() }; multi method cond("False") { &!false() }; method if(:&!true, :&!false){ $.cond(?self .gist) } }; (True does Cond).if: :true{say "ok"} :false{say "ko"} 00:55
camelia rakudo-moar 996ab6: OUTPUT«ok␤»
AlexDaniel now, the commit that did it is github.com/perl6/nqp/commit/d86a42...4f0057fb95 00:56
notviki mch: say “\x[5]” ~~ /<[\x[5]]>/ 00:58
committable6 notviki, ¦«2015.12,HEAD»: 「␅」
notviki squints 00:59
mch: say .Str.uninames.say given “\x[5]” ~~ /<[\x[5]]>/
committable6 notviki, ¦«2015.12,HEAD»: (ENQUIRY)␤True
notviki heh
AlexDaniel: yeah, kinda weird. I guess we special case \0 to avoid writing \x[0] 01:00
mch: say “\0” ~~ /<[\x[0]]>/
committable6 notviki, ¦«2015.12,HEAD»: 「␀」
AlexDaniel \x[0] is not too bad.
considering how often you want to match a null byte…
notviki AlexDaniel: funny to see this commit because I actually got bit by this in first version of IRC::Client 01:02
01:02 mcmillhj joined
AlexDaniel notviki: in what way? You were trying to match digit zero with \0 and all of the sudden it was broken? :) 01:03
notviki And found out it was wrong only when the robot was ignoring a user.
AlexDaniel: no, I was trying to match the nullbyte, but it matched "0" and ignore a user with "0" in their nick 01:04
If 2015 #freenode-newyears log is found, you'd find the fumbling :)
AlexDaniel meh.
what happened to the bot this year?
notviki It got quickly banned by Google and that was the end. 01:05
AlexDaniel ppppppffffffffttttttt FD
:D
sad.
01:06 labster left
notviki AlexDaniel: Ah, found that commit: github.com/zoffixznet/perl6-IRC-Cl...f8f1dbdc1f 01:06
AlexDaniel \x0
one character difference
01:07 mcmillhj left
notviki Yes, but software got shipped to "production" with a bug due to this 01:07
m: say "\0"
camelia rakudo-moar 996ab6: OUTPUT«␀␤»
notviki m: say "\0" ~~ /<[\x0]>/
camelia rakudo-moar 996ab6: OUTPUT«「␀」␤»
01:07 Actualeyes joined 01:08 mscha joined
notviki m: say "\5" 01:08
camelia rakudo-moar 996ab6: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized backslash sequence (did you mean $4?)␤at <tmp>:1␤------> 3say "\57⏏5"␤»
notviki m: say "\1"
camelia rakudo-moar 996ab6: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized backslash sequence (did you mean $0?)␤at <tmp>:1␤------> 3say "\17⏏5"␤»
notviki m: say "\0"
AlexDaniel okay
camelia rakudo-moar 996ab6: OUTPUT«␀␤»
AlexDaniel that's what it should do then
notviki And it's easy to assume \0 would work in char class when it works in a string.
AlexDaniel fair enough
mscha m: for ^10 -> $i { say $i; next if $i < 5; once { say "hello" } }
camelia rakudo-moar 996ab6: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤»
notviki AlexDaniel: what should do. Dunno. 01:09
Ask TimToady for opinion I guess
01:09 espadrine left
notviki cause in strings we die but in char classes we match digits.. That's kinda inconsistent 01:09
for non-0 stuff
AlexDaniel sure, I'll create a ticket first, then point TimToady to it 01:10
01:15 labster joined, pyrimidine left 01:18 travis-ci joined
travis-ci Doc build passed. Ronald Schmidt 'Update about.pod6 - fix broken CONTRIBUTING link' 01:18
travis-ci.org/perl6/doc/builds/189037903 github.com/perl6/doc/commit/69d8444d85a9
01:18 travis-ci left
mscha m: for ^10 -> $i { once { say "This runs." }; once { say "This too." }; say $i; next if $i < 5; once { say "This should run (right?) but doesn't." } } # is this a bug? 01:20
camelia rakudo-moar 996ab6: OUTPUT«This runs.␤This too.␤0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤»
notviki That reminds me of a bug where `state` var don't get set if you exit outta the block like ^ that on first entry. 01:23
This one rt.perl.org/Ticket/Display.html?id...et-history 01:24
The symptoms at least are the same :)
notviki goes to bed
dalek c: fc55f9a | (Aleks-Daniel Jakimenko-Aleksejev)++ | doc/Type/IO.pod6:
No guessing, just “utf8”

Resolves github.com/perl6/doc/issues/1111
01:29
synopsebot6 Link: doc.perl6.org/type/IO
01:32 rpburkholder left 01:35 shayan_ left
AlexDaniel u: Zl 01:35
unicodable6 AlexDaniel, U+2028 LINE SEPARATOR [Zl] (
)
01:37 shayan_ joined, shayan_ left 01:41 mscha left
dalek c: 01d552c | (Aleks-Daniel Jakimenko-Aleksejev)++ | doc/Type/IO.pod6:
Correct information on nl-in and nl-out

Related to #1111
01:41
synopsebot6 Link: doc.perl6.org/type/IO
AlexDaniel if someone can double-check this ↑ it would be great 01:42
01:45 cdg joined 01:47 BenGoldberg left
MasterDuke IO::[Handle,ArgFiles,Socket::INET] all have a nl-in = ["\x0A", "\r\n"]; 01:54
so i'd say that's fine
01:57 Gasher left 02:02 cdg left 02:03 cdg joined 02:12 suri joined 02:13 suri left 02:15 cdg_ joined, astj joined, astj_ left 02:18 cdg left, skids joined 02:21 itcharlie1 left, shayan_ joined
AlexDaniel we use “\n” for nl-out even on windows, right? 02:24
samcv AlexDaniel, i believe that's the default. but I could be wrong. 02:26
MasterDuke yep 02:27
samcv i would hope that we did not alter functionality like that, could cause weird bugs to be hard to find
well not perl 6 bugs since \r\n is one grapheme
but people using the resulting files and such
AlexDaniel I was surprised to know that we do not accept \r 02:28
samcv m: use nqp; my @things = 'ā', 'z', 'ų', 'û'; @things.sort({$^a nqp::unicmp_s $^b}).say 02:29
camelia rakudo-moar 996ab6: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3 = 'ā', 'z', 'ų', 'û'; @things.sort({$^a7⏏5 nqp::unicmp_s $^b}).say␤ expecting any of:␤ infix␤ infix stopper␤ statement end…»
AlexDaniel u: >samcv
unicodable6 AlexDaniel, U+003E GREATER-THAN SIGN [Sm] (>)
AlexDaniel, U+0073 LATIN SMALL LETTER S [Ll] (s)
AlexDaniel, U+0061 LATIN SMALL LETTER A [Ll] (a)
AlexDaniel, gist.github.com/81263fa3346e9bd387...94fb8c5f87
AlexDaniel ah ok
samcv m: use nqp; my @things = 'ā', 'z', 'ų', 'û'; @things.sort({(nqp::unicmp_s($^a, $^b)}).say
camelia rakudo-moar 996ab6: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in parenthesized expression; couldn't find final ')' ␤at <tmp>:1␤------> 3; @things.sort({(nqp::unicmp_s($^a, $^b)7⏏5}).say␤ expecting any of:␤ statement en…»
samcv m: use nqp; my @things = 'ā', 'z', 'ų', 'û'; @things.sort( { ( nqp::unicmp_s($^a, $^b) )} ).say 02:30
camelia rakudo-moar 996ab6: OUTPUT«===SORRY!===␤Arg count 2 doesn't equal required operand count 6 for op 'unicmp_s'␤»
samcv m: use nqp; my @things = 'ā', 'z', 'ų', 'û'; @things.sort( { ( nqp::unicmp_s($^a, $^b,7,0,0) )} ).say
camelia rakudo-moar 996ab6: OUTPUT«(ā û ų z)␤»
samcv ok cool that works now properly
sweet
only thing i need to implement is decomposing codepoints that have no collation weights and adding their components' weights together. but it should work for all codepoints that are specified in the file, which is most use cases 02:31
02:32 bwisti left
samcv m: use nqp; my @things = 'ā', 'z', 'ų', 'û'; @things.sort.say 02:32
camelia rakudo-moar 996ab6: OUTPUT«(z û ā ų)␤»
samcv heh
02:33 rpburkholder joined, pyrimidine joined
samcv nice they even specify the collation of 🐧 02:33
and emoji. that's kind of dope 02:34
AlexDaniel .tell TimToady perhaps you can take a look at RT #130508 ? 02:35
yoleaux AlexDaniel: I'll pass your message to TimToady.
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130508
02:35 kalkin- joined, cyphase left
samcv hehe say “2” ~~ / \2 /; Unrecognized backslash sequence (did you mean $1?) 02:36
cause 2 is close to 1 i guess lol
where is the code we use for heuristics on what the user may have meant?
that could benefit from unicmp_s for sure 02:37
02:37 ChristopherBotto joined
geekosaur samcv, actually that's a perl5 trap 02:38
02:38 pyrimidine left
samcv what? 02:38
geekosaur $0 is perl5's \1, etc.
samcv oh.
yeah ok that makes sense then
02:38 ChristopherBotto left
geekosaur (numbered backreferences) 02:38
samcv yeah
also why is $0 the first one. wouldn't you think $0 is the whole match?
just curious. really not too much an issue doing it either way 02:39
02:39 kalkin-_ left
geekosaur $/ stringifies to the whole match. $0 is $/[0] which stringifies to the first backreference 02:39
samcv ah ok that makes total sense then :) 02:40
i was figuring it was something similar to that
geekosaur perl 5 was trying to be consistent with historical unix regex, which wasn't exactly consistent
(POSIX tried to make it consistent, that's what got us BRE vs. ERE among other things --- in fact every traditional Unix program implemented its own regex language slightly different from every other) 02:41
so perl6 is reinventing regex, and in the process trying to make the whole thing slightly less psychotic 02:42
samcv yeah kind of depressing all the different posix regex things 02:43
02:43 cyphase joined 02:45 bwisti joined 02:46 cdg_ left
timotimo and a whole bunch more non-posixy regex things 02:47
like python regex are rather different from pcre, vim regexes are a totally different beast somehow ...
geekosaur regex should have been fired into the sun sometime before 1980
vim regexes, yes, expanded from original vi which was yet another of those traditional unix utilities with all its own regex different from every other regex language 02:48
timotimo but i appreciate the idea of very magic mode and very nomagic mode
geekosaur (so of course bsd and at&t then came up with standard regex libs --- neither of which matched the behavior of any theretofore existing regex, much less each other)
02:49 curt_ left
geekosaur (worse, at&t system 3 shipped with *two* regex libs, likewise not compatible with each other or any standard regex using program) 02:49
"psychotic" turns out to be an understatement >.> 02:50
AlexDaniel isn't Python in the same state right now, kind of? 02:53
with 2 regex libs
02:53 pyrimidine joined 03:03 ChristopherBotto joined 03:05 krakan_ left, leah2 left, dg left, protium left, KotH left, avar left, breinbaas left, smash left, rblackwe left, tyil left, ranguard left, Bucciarati left, sQuEE left, robinsmidsrod left, damnlie_ left, integral left, d^_^b left, Peter_R left, jcallen left, gabiruh left, breinbaa1 joined, smash_ joined, integral_ joined, rblackwe_ joined, KotH joined, Bucciarati joined, ranguard_ joined, b^_^d joined, avarab joined, avarab left, avarab joined, damnlie joined, tyil joined, krakan joined, gabiruh joined, robins joined
ChristopherBotto I don't suppose there is anything in Perl 6 yet that will take individual keystrokes as input? 03:05
03:05 Peter_R joined 03:06 jcallen joined, sQuEE joined
ChristopherBotto Like Term::ReadKey in Perl 5 (in "cbreak" mode, I believe) 03:06
03:07 dg joined, aborazmeh left, leah2 joined 03:08 rpburkholder left, labster left 03:09 protium joined
timotimo there is 03:10
use Term::termios for that
ChristopherBotto @timotimo Thanks so much! 03:11
03:11 noganex_ joined
AlexDaniel cool, was just about to submit a ticket and noticed it is already fixed: github.com/rakudo/rakudo/commit/d8...21e036abd3 03:11
03:13 noganex left
AlexDaniel .tell TimToady also, what should be the output of 「say ({ 42 } while $++ < 3)」? should it be (42 42 42) (like on 2015.12) or three code blocks (like everywhere after 386905f6f6)? 03:17
yoleaux AlexDaniel: I'll pass your message to TimToady.
03:20 xtreak joined 03:26 cibs left 03:28 cibs joined
skids m: ({42} while $++ < 3).perl.say; (for 1,2,3 {42}).perl.say 03:32
camelia rakudo-moar 996ab6: OUTPUT«(-> ;; $_? is raw { #`(Block|65294272) ... }, -> ;; $_? is raw { #`(Block|65294344) ... }, -> ;; $_? is raw { #`(Block|65294416) ... }).Seq␤(42, 42, 42)␤»
skids m: ({42} while $++ < 3)().perl.say; (for 1,2,3 {42}).perl.say 03:33
camelia rakudo-moar 996ab6: OUTPUT«No such method 'CALL-ME' for invocant of type 'Seq'␤ in block <unit> at <tmp> line 1␤␤»
skids oh.
m: ({42} if 1).perl.say; 03:37
camelia rakudo-moar 996ab6: OUTPUT«42␤»
AlexDaniel bhahahahaha 03:42
m: my @c[2;2] .= new(:shape(2, 2), [1, "a"], [2, "b"]); .say for @c, @c.flat
camelia rakudo-moar 996ab6: OUTPUT«Cannot assign an array of shape 2 2 to an array of shape 2 2␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel b: my @c[2;2] .= new(:shape(2, 2), [1, "a"], [2, "b"]); .say for @c, @c.flat
bisectable6 AlexDaniel, Bisecting by exit code (old=2015.12 new=996ab6a). Old exit code: 0
AlexDaniel, bisect log: gist.github.com/8b8d97efff1f0b0a2a...1c359b3a91
AlexDaniel, (2016-11-03) github.com/rakudo/rakudo/commit/12...710a36f489
03:42 labster joined
AlexDaniel c: 1293188342^,1293188342 my @c[2;2] .= new(:shape(2, 2), [1, "a"], [2, "b"]); .say for @c, @c.flat 03:43
committable6 AlexDaniel, ¦«1293188342^»: [[1 a] [2 b]]␤(1 a 2 b)␤¦«1293188»: Assignment to array with shape 2 2 must provide structured data␤ in block <unit> at /tmp/WE8vNpB9Zq line 1␤ «exit code = 1»
04:05 dugword joined
AlexDaniel m: use Test; say GLOBAL::Test::EXPORT::DEFAULT::.keys 04:14
camelia rakudo-moar 996ab6: OUTPUT«()␤»
AlexDaniel what's the current equivalent for that?
(“broken” after rakudo.org/2016/12/17/lexical-module-loading/ ) 04:15
c: 2016.11 use Test; say GLOBAL::Test::EXPORT::DEFAULT::.keys
committable6 AlexDaniel, gist.github.com/edbfe116f0944a3a14...44f23cbdf9
04:17 astj left 04:18 astj joined 04:22 astj left 04:25 astj joined 04:32 MasterDuke joined 04:36 jraglin joined 04:42 troys is now known as troys_
dalek c: 9d3992d | skids++ | doc/Language/control.pod6:
Provide examples of the front-loaded repeat statement form.
04:43
synopsebot6 Link: doc.perl6.org/language/control
04:43 jraglin left, troys_ is now known as troys 04:44 jraglin joined, jraglin left 04:46 jraglin joined, jraglin left, jraglin joined 04:47 jraglin left 04:49 jraglin joined 04:51 jraglin left 04:52 jraglin joined
AlexDaniel github.com/rakudo/rakudo/commit/aa...ee25559b40 04:53
ah, nevermind
ye, nevermind
05:06 aborazmeh joined, aborazmeh left, aborazmeh joined 05:11 aborazmeh left, cpage_ left 05:13 khw left
dalek c: 86973aa | skids++ | doc/Language/control.pod6:
Provide examples that demonstrate repeat statement always runs once
05:17
synopsebot6 Link: doc.perl6.org/language/control
05:21 ChristopherBotto left 05:25 geekosaur left 05:26 telex left 05:27 geekosaur joined 05:28 telex joined 05:34 bwisti left 05:40 ChoHag joined 05:45 ChoHag left 05:48 ChoHag joined 05:50 cpage_ joined, Cabanossi left 05:53 Cabanossi joined 05:56 khw joined
AlexDaniel ok I'm done for today 05:57
1084 → 1009 05:58
:| in other words, didn't really do much
06:04 AlexDaniel left 06:11 troys is now known as troys_ 06:14 labster left 06:20 pyrimidine left 06:25 andrewalker left, bjz joined 06:27 domidumont joined 06:29 skids left 06:32 domidumont left 06:33 domidumont joined 06:38 domidumont left, bjz left 06:46 shayan_ left, shayan_ joined
dalek ecs: fb4024c | (Steve Mynott)++ | html/index.html:
Synopses no longer primary
06:46
06:46 shayan_ left 06:51 labster joined, RabidGravy joined 06:54 domidumont joined 06:58 troys_ left 07:01 breinbaa1 left 07:02 kyan left 07:03 breinbaas joined, holli left 07:05 domidumont left 07:09 ufobat joined 07:11 bjz joined 07:12 domidumont joined, darutoko joined 07:13 CIAvash joined
RabidGravy boom! 07:18
07:22 robins is now known as robinsmidsrod 07:25 dugword left 07:42 mr-foobar left 07:43 mr-foobar joined 07:47 xtreak left 07:49 wamba joined, AndroUser joined 07:50 xtreak joined 07:52 AndroUser left 07:54 AndroUser joined 08:05 AndroUser left
samcv interesting there's a 4k fireplace on netflix. "The first of its kind in UHD 4k, with the clearest picture available, a real fireplace cracks and sparkles giving warmth to your home" 08:05
4.5 stars
08:05 thayne joined
samcv haha. if it was amazon i could image the reviews, "is in 4k. it's a fireplace." like idk you can't really improve it 08:06
it's just a fireplace
08:21 zakharyas joined 08:31 masak_ is now known as masak 08:32 brrt joined 08:44 wamba left 08:49 jonas2 joined 08:55 araujo joined, araujo left, araujo joined
lizmat wonders how NetFlix supplies the heat with an LCD screen 08:56
masak lambda calculus gist, now with an exposition on product types and sum types: gist.github.com/masak/8e082999e06b...2899bbcde5 08:58
08:59 andrewalker joined, astj left, astj joined 09:02 Celelibi left 09:03 xtreak left, xtreak joined 09:06 Celelibi joined
arnsholt masak: In your Smalltalk conditional, you could lift the return operator to before the conditional (which I think is the idiomatic style) 09:07
But perhaps clearer to non-Smalltalkers to keep it in each of the branches 09:08
09:26 xtreak left 09:35 wamba joined 09:45 bjz left 10:04 xtreak joined, pmurias joined
masak arnsholt: I'll just kill that darling and remove the return operator. it doesn't add to the example 10:05
or maybe there is an easy `printLn` or `console.log` primitive I can use instead? 10:07
arnsholt Transcript show: 10:08
masak that's an object Transcript with a message `show:` ?
arnsholt Pretty much 10:09
It's a global variable, which gives you the transcript window (which is essentially Smalltalk's stdout) 10:10
masak oh! do I take from what you said above that blocks don't bind return? (similar to blocks in Perl 6)
arnsholt Yup!
masak sweet
arnsholt ^ returns from the *method you're in*, not the closure 10:11
masak is there something corresponding to `leave`? :)
arnsholt As in, "leave this closure now"?
masak (for when you want to return -- possibly a value -- from the closure but not the method)
arnsholt Not beyond the fact that the value of the last statement in the closure is the value of the closure 10:12
So "[ 1 ] value" is 1
masak ok
I struggle with this bit somewhat in 007
it's a balance, of the form "pick your poison"
arnsholt And "[ aBoolean ifTrue: [ 1 ] ifFalse: [ 2 ]]" would be 1 or 2, depending on aBoolean
masak I started out with having both functions and blocks in 007
arnsholt (And "[ aBoolean ifTrue: [ 1 ]] value" would be 1 or nil) 10:13
masak but it turns out that if you -- as I did -- prefer not to have a `leave` and decide that blocks always return None, then blocks are practically useless and a bit too tempting to use in higher-order functions like .map etc
so nowadays 007 has function expressions instead, much like JavaScript 10:14
and so if you have the need "return early from a block", then the solution is an IIFE. happens in macros quite a bit
I guess I could implement `leave` sugar as a macro... hm :)
arnsholt IIFE?
masak "immediately invoked function expression" 10:15
a clunky acronym for a common thing in JS
arnsholt Ah, right
masak (function () { })()
(plus silly disagreement about where the second-last `)` should go. silly JS people.) :P
arnsholt: if I said "the distinction between statements and expressions is an illusion, and an artificial barrier in many languages that ought to go away" -- would you agree? 10:17
(it's a stance. I personally don't agree, but I know many people who do.)
jast I'd say there are advantages to having many things be expressions 10:19
makes for more expressivenes. haw haw.
masak :)
ok, I don't disagree with that, as far as that goes
pmurias masak: there is a do {} proposal in the works for ecmascript :)
masak pmurias: yeah, I've seen that
another argument is that the statement/expression distinction artificially creates duplicate syntaxes for essentially the same idea 10:20
e.g. function statements vs function expressions
or `if` vs `?? !!`
for me in 007 the statement/expression barrier reared its head when I started thinking about macro expansion 10:22
jast I recall some kind of language that had a default construct for eating an expression's value, so you could explicitly turn an expression into a statement. that language *required* using the construct in statement contexts, it might be useful to simply use it as indicated
masak because the macro *user* very much expects to have the cake and eat it (or, equivalently, to ignore the barrier when they feel like it): 10:23
a macro call `moo()` could expand to a statement, or a statement list, *or* it could just return a value that gets used in a bigger expression 10:24
10:24 Tonik joined
jast that's a decent argument for having expression context everywhere 10:25
ufobat hey guys, let me ask a question about signatures, assuming there is a Role R and Classes A..D implementing R. when have a multi methods for (A, R), (R, A), (R, R), and (A, A) does this work, because there are 2 matching sigatures (but maybe one is matching better) or should i write (R where {not $_ ~~ A}, R) and so on? 10:27
jast a macro that changes its behaviour depending on the context in which it's used would probably be somewhat nasty
masak jast: I'm still very reluctant to eradicate the distinction. I don't like the idea of `functionCall(if condition { })` and similar
jast: but I've found a way to keep the barrier and still make macros work 10:28
jast what about that idea do you dislike/
masak jast: that's a good question. it's mostly a visceral dislike.
I think if I were to rationalize it, I feel like an important distinction is lost 10:29
jast something worth thinking about a little, perhaps
masak it's not so much about "changing behavior depending on context", actually
DrForr ?? .. !! should have a separate "interfix" or some type, not 'infix' - I just had to fix those parser cases in Perl6::Parser.
jast that "important distinction" smacks of begging the question
masak DrForr: heh
DrForr: it's an infix with custom parsin 10:30
jast: yes, I acknowledge that
DrForr Very custom, yes. I just did the workaround.
10:30 TEttinger left
masak DrForr: see github.com/masak/007/issues/163 10:30
(which is also an example of a `quasi` block that needs to "return"/leave a value) 10:31
jast masak: as the devil's advocate I have to say this might be a Python-style "only one way to do it" prescription :}
masak jast: I hear ya 10:32
jast but anyway, what's your idea for the alternative?
because when I thought about statement vs. expression context, my very next idea was that this was basically asking for a 'wantexpr' check to be used in macros
masak jast: though in my defense, 007 takes a slightly more Pythonish "I know what's best for you" stance there than Perl
you get what you pay for ;)
jast: my alternative is nothing like `wantexpr` (*shudder*) 10:33
pmurias lizmat: it seems to be tmpdir is doing a bunch of things at once. Turning a string into an absolute path. Doing file tests on it. Setting $*TMPDIR.
jast hey, I'll have you know I pay ten times what everyone else is paying
yeah, I didn't think so :)
masak jast: simply put, the macro expands into an invisible block, which may return/leave a value
jast everybody loves wantarray, right? right?
masak jast: explained clearly here: github.com/masak/007/issues/7#issu...t-69327526 10:34
DrForr The grammar interprets ??..!! as the actual operator token; I ended up matching for \s*\?\?, pulling the string between the two list entries out, then parsing that apart. I have to do that in several places.
jast masak: I see. my first thought with that is that it could be interesting to expose that kind of block as syntax for people to use outside of macros, but I can see that getting confusing if there are two types of blocks competing for attention 10:35
pmurias lizmat: having the user do something like temp $*TMPDIR = not-sure-what-should-be-here($path) or my $*TMPDIR = not-sure-what-should-be-here($path) would give them better control over how the change the $*TMPDIR 10:36
DrForr Not criticizing; I can see how it makes things easier for a single "in"fix operator in the expression context.
jast masak: the downside to me is the behaviour of macros stops being consistent with how other blocks/bodies behave, which I guess is fine but irks me as a design choice :) 10:37
DrForr I'll read the note in more depth later because I am interested, but I have .. well, work :) 10:38
jast you can see that were I writing my own language, it would probably be extremely expression-centric
DrForr jast: It's what goes through the most rewriting when translating BNF -> PEG. 10:39
At least in my experience.
jast I don't use BNF if I can avoid it 10:40
pmurias lizmat: the .chdir method currently used by tmpdir seems to be a random accident so it shouldn't be exposed to the user
10:41 smash_ is now known as smash
masak jast: yes -- it's a tradeoff, for sure 10:41
maybe I should try developing a small language with no statement/expression barrier, just to see how it feels ;) 10:42
jast masak: actually, couldn't you let the macro author use another return inside the returned block?
masak one of the reasons I want to keep the distinction in 007 between statements and expressions is that *all three* of its predecessors (Perl 6, Python, JavaScript) do have the distinction
jast which gives them full control and eliminates difficulties related to figuring out which statement is the last 10:43
masak jast: I could
jast: but it goes against the grain of the design; only function bind `return`, not blocks
a quasi block is most certainly not a function
jast so use a different keyword ;)
emit, yield, whatever
masak 007 takes a cue from Python and only does explicit returns 10:44
jast except in quasi blocks...
masak if you do `7;` as your last statement in a function, it still returns `None`
yes, except in quasi blocks
where the return is implicit
well, not really a `return`, but you see what I mean 10:45
jast yeah
masak the value being passed back "out" is implicitly given back
in a way it's inconsistent, but it's also very straightforward/convenient
jast kind of seems to go against the spirit of the whole thing
10:45 effbiai joined, effbiai left, effbiai joined
masak I guess part of it is that I don't want to have too many moving parts: macro/quasi/emit 10:45
jast convenient it is, I guess 10:46
masak but also, I think this is how people think about macro expansion, that it "just works" without having to emit the value back
`macro moo() { return quasi { 7 } }`
then `moo()` expands to `7`
DrForr masak: Careful, you might end up reinventing Scheme/Lisp :) 10:47
masak your warning comes much too late
I'm trying to learn from both Scheme and the other Lisps, though
DrForr Indeed; I'm somewhat distracted here listening to Trace Bundy doing some impressive work with hammer-ons. 10:48
10:49 CIAvash left 10:56 Tonik left 11:00 bjz joined
dalek c: 69d8444 | ronaldxs++ | doc/Language/about.pod6:
Update about.pod6 - fix broken CONTRIBUTING link
11:01
c: 962ceff | Altai-man++ | doc/Language/about.pod6:
Merge pull request #1116 from perl6/ronaldxs-fix-contributing-link

Update about.pod6 - fix broken CONTRIBUTING link
synopsebot6 Link: doc.perl6.org/language/about
11:03 xtreak left 11:06 xtreak joined 11:11 bjz left
notviki bdfoy says there are conficting messages about the specs? github.com/perl6/doc/issues/1111#i...-270537051 11:17
Commented to a similar effect on the RT: rt.perl.org/Ticket/Display.html?id...xn-1442451 11:18
What other messages do we tell him?
11:18 bjz joined 11:21 raschip joined 11:25 xtreak left
notviki There's one point of confusion we have and that's thing tested in master but not in 6.c-errata. parse-base() for example isn't part of Perl 6.c and since it'll still need review before being included in 6.d, it's not part of any language version. Yet it's still documented and "tested in roast". 11:33
11:39 curt_ joined
notviki I've just murdered my computer with a box of fruitloops! 11:43
masak .oO( ...in the study, with a box of fruit loops... ) 11:49
jast .oO( with a cluebat... ) 11:50
masak that's pretty extreme, to get *offed* by a cluebat
masak .oO( The Last Clue )
jast it can happen, though
masak sure. curiosity did kill the cat, after all. 11:51
11:55 domidumont left, azertus left, tailgate left, Guest57693 left, ttkp6 left, cognominal left, hahainternet left, john51 left, matt_ left, jdv79 left, [ptc] left, zb left, jdv79_ joined, tinita_ joined, sjn joined, ccntrq joined, zb joined, obfusk joined, azertus joined, hahainternet joined 11:56 tailgate joined, john51 joined, mls joined, cognominal joined, matt_ joined, [ptc] joined, matt_ is now known as Guest4235 11:57 giraffe joined, giraffe is now known as Guest73411
wamba m: my $a="A".Numeric; .say given $a;say "END" 12:05
camelia rakudo-moar d77f9b: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5A' (indicated by ⏏)␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
wamba m: my $a="A".Numeric; {} without $a;.say given $a;say "END"
camelia rakudo-moar d77f9b: OUTPUT«(HANDLED) Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5A' (indicated by ⏏)␤ in block <unit> at <tmp> line 1␤␤END␤»
wamba What "without" made with $a, that failure did not be thrown? 12:09
moritz wamba: it checked .defined, and that marks the failure as handled 12:10
wamba m: my $a="A".Numeric; $a.defined;.say given $a;say "END"
camelia rakudo-moar d77f9b: OUTPUT«(HANDLED) Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5A' (indicated by ⏏)␤ in block <unit> at <tmp> line 1␤␤END␤»
wamba moritz: thank you 12:11
moritz wamba: you're welcome
DrForr More nicks I don't recognize, yay!
12:11 newbie1 joined 12:16 labster left
samcv u: { .uniprop-int('Grapheme_Cluster_Break') and .uniprop('Combining_Character_Class') == 0 } 12:18
unicodable6 samcv, U+0000 NULL [Cc] (control character)
samcv, U+0001 START OF HEADING [Cc] (control character)
samcv, U+0002 START OF TEXT [Cc] (control character)
12:23 cibs left 12:25 cibs joined 12:26 John[Lisbeth] joined 12:30 bjz_ joined, rindolf joined 12:31 rumble joined, bjz left, grumble left, rumble is now known as grumble 12:32 wamba left 12:38 jraglin left, jraglin joined 13:05 dj_goku left, dj_goku joined, dj_goku left, dj_goku joined 13:09 darutoko left 13:10 dj_goku left 13:11 ramillies joined 13:12 grumble left 13:13 grumble joined 13:15 rindolf left
notviki What do kids use these day for web stuff? 13:16
masak you mean like WebStorm?
moritz nodejs
masak oh, def nodejs
and npm
notviki Heh, I mean in perl 6 :) I need a single-user web app.
masak last time I did web stuff, I used HTTP::Server::Tiny -- github.com/masak/nex/blob/master/app.pl 13:18
moritz notviki: HTTP::Server::Simple, or possibly Bailador
notviki gives it a spin
masak switched to it from Bailador because HTTP::Server::Tiny had a very good story for SSE
ufobat :D
masak unfortunately, I think I hit some Rakudo instabilities back then (March) 13:19
might give it a spin again and see if it's more stable now
I've seen some improvements and fixes roll in
brrt (SSE?)
masak server-sent events
13:19 avarab is now known as avar
masak more lightweight than websockets. unidirectional 13:19
ufobat bailador is slow and not serving requests parallel, but I dont think i could change close future
brrt oh, i see, i know of them 13:20
masak (since the other direction is already handled by REST)
er, by AJAX, I mean
13:21 lukaramu joined
notviki eh... HTTP::Server::Tiny just gives me "Tried to get the result of a broken Promise" 13:23
with the SYNOPSIS code
masak .oO( the SYNOPSIS is full of broken promises! :'-( ) 13:24
notviki oh, I have something listening on 8080... nevermind :)
masak notviki: sounds like it still deserves a little github issue... 13:25
notviki masak: github.com/tokuhirom/p6-HTTP-Serve.../issues/40 13:27
masak notviki++
13:31 ufobat left
notviki and now it works when I access it locally, but seems to ignore connections from other boxes on the network :/ 13:34
and a mojo app works on the same port... 13:36
arnsholt Maybe it's bound to 127.0.0.1 rather than 0.0.0.0? 13:37
masak .oO( still not the year of Perl 6 on the desktop... )
notviki yey, that helped. arnsholt++
masak woot
is that another thing the HTTP::Server::Tiny project could do something about? :)
jast 127.0.0.1 is a reasonable default, often these kinds of services are hidden behind a reverse proxy 13:38
not to say 0.0.0.0 would be less reasonable 13:39
notviki
.oO( now if only it self-restarted when I made a change to it.... )
13:41
buggable: eco Bailador restart
buggable notviki, Nothing found
notviki buggable: eco Bailador::
buggable notviki, Found 4 results: Bailador::Dev::AutoRestarter, Bailador::Plugin::Static, Bailador::Plugin::AssetPack::SASS, Bailador::Template::Mojo::Extended. See modules.perl6.org/#q=Bailador%3A%3A
13:43 damnlie left, damnlie joined
notviki heh awesome. Bailador::Dev::AutoRestarter works as a HTTP::Server::Tiny restarter with zero changes :) 13:49
13:53 pyrimidine joined
masak :) 13:54
dalek c: 9d98a02 | gfldex++ | Makefile:
move htmlify to its own rule
masak the README for that module should brag about that ;)
14:00 bjz_ left
dalek c: 8974606 | titsuki++ | doc/Language/nativecall.pod6:
Fix the example of "Basic use of Pointers" so that it doesn't store attributes
14:01
c: 8d99295 | titsuki++ | doc/Language/nativecall.pod6:
Merge pull request #1119 from titsuki/fix-cpointer

Fix the example of "Basic use of Pointers" so that it doesn't store a…
synopsebot6 Link: doc.perl6.org/language/nativecall
14:02 mcmillhj joined
gfldex JSON::Fast:ver('0.7') is failing for me on current rakudo. May be a regression due to utf-8 work. Can somebody check please? 14:05
notviki: didn't you run regression tests against modules automatically? 14:08
raschip gfldex: I asked the same question some days ago. The answer is that they used to run "smoketests" but stopped. 14:10
notviki gfldex: never
gfldex you don't got a bot for that‽ o.O 14:11
notviki never had 14:12
14:13 ranguard_ is now known as ranguard 14:20 dj_goku joined, dj_goku left, dj_goku joined
raschip gfldex: maybe this is what you're looking for: testers.perl6.org/dist/J/JSON::Fast...wn%3E.html ? 14:20
[Coke] I want to add a big ole "how to report an issue" page on perl6.org somewhere. Anyone object to a new top level "Issues" tab? better names welcome? 14:21
14:22 fluca1978 joined
jast there are awfully many tabs already... 14:22
notviki seems there's a crapton of tabs already there
Do people really care that much about the "design" that it deserves a tab in primary nav? 14:23
notviki would nix Design, Compiler, Fun, and Whatever.... 14:24
jast some general refactoring might make sense. in the meantime, the question is where people expect a "issues" link 14:25
14:25 astj_ joined
dalek c: f68581b | coke++ | xt/code.pws:
learn new code snippet
14:26
notviki I'd call that "Report a problem" instead.
jast I often see that kind of thing in a "Development" category, or maybe "Community"
14:27 astj left 14:29 cibs left 14:31 cibs joined
[Coke] notviki: that heading is too big for top nav, I think. 14:31
gfldex raschip: thanks
raschip gfldex: np
say :(Int $a).perl 14:32
m: say :(Int $a).perl
camelia rakudo-moar a7d106: OUTPUT«:(Int $a)␤»
raschip dd :(Int $a) 14:33
m: dd :(Int $a)
camelia rakudo-moar a7d106: OUTPUT«:(Int $a)␤»
14:35 travis-ci joined
travis-ci Doc build failed. Will "Coke" Coleda 'learn new code snippet' 14:35
travis-ci.org/perl6/doc/builds/189197667 github.com/perl6/doc/compare/8d992...8581b48013
14:35 travis-ci left
notviki # Failed test 'load module Pod::To::BigPage' 14:36
gfldex [Coke]: i would put it under community and call a bug report a bug report bug. I don't like euphemisms in general.
notviki: i will investigate and we may want to change panda to zef in .travis.yml . 14:38
14:38 cibs left
[Coke] gfldex: they're not all bug reports. 14:39
14:39 cibs joined, Khisanth left
gfldex notviki: Pod::To::BigPage installs fine with zef . 14:40
did we switch from panda to zef for * already? 14:41
pmurias what's the policy for the 6.c.errata branch? 14:42
notviki pmurias: policy about what?
gfldex: in next release (though I gather panda will still be availalble and will warn on use): blogs.perl.org/users/steve_mynott/2...uture.html
gfldex the docs build fine (just checked) 14:43
pmurias notviki: what's supposed to go there? only fixes to errors in tests?
[Coke] basically. and even then, please get some agreement before changing it. 14:44
14:45 skids joined
notviki pmurias: it's immutable with the exception of wrong tests or tests that accidentally lock in the behaviour they're not meant to be testing (e.g. a test that checks a backtrace is printed but it does so by looking for a specific filename that later changes). And in that case generally we seek some agreement from devs or the pumking 14:46
before making the change 14:47
14:47 nicq20 joined
dalek c: 6020ec9 | gfldex++ | .travis.yml:
switch from panda to zef
14:48
14:49 bwisti joined
notviki wonders if female pumkin holders are pumqueens... 14:50
Or is it pumpking? The king of pumps! 14:51
heh terraria.gamepedia.com/Pumpking
SmokeMachine I saw somewhere tha mojolicious was coming to perl6 with a different name. Is that real? Where can I find it? 14:52
[Coke] SmokeMachine: not real
SmokeMachine :(
DrForr But you can checkout Bailador while you're waiting :)
*check out
14:52 Khisanth joined
notviki heh 14:52
raschip He can git checkout too. 14:53
nicq20 Is it possible to have the '==>' or '<==' operator place the previous result in a specific spot other than the last position?
notviki SmokeMachine: from the events I saw, it's the opposite: the lead dev of mojolicious not only isn't going to make a Perl 6 version but would also have beef if someone made one and named it "Mojolicious" 14:54
SmokeMachine :(
raschip He is squatting the namespace. 14:55
SmokeMachine DrForr: I've read Bailador! I'm liking it!
pmurias notviki: it's a hard question, in the real world sometimes there is a significant distinction between being a "female king" and a "queen"
raschip Let the gal decide when it's time. 14:56
notviki never even heard of female kings....
DrForr Well, there are female vikings. 14:58
notviki raschip: meaning there never were female pumpkin holders yet?
raschip No, meaning each one choses her own title.
SmokeMachine Another question: start can receive a scheduler as param... would it be possible to write a custom scheduler to run that promise on another machine?
perlpilot nicq20: you mean have something like 1,2,3 ==> @a[5..*] work? (i.e. @a[5] =1; @a[6] = 2; @a[7] = 3; while leaving the rest of @a alone)
14:58 travis-ci joined
travis-ci Doc build errored. Wenzel P. P. Peppmeyer 'switch from panda to zef' 14:58
travis-ci.org/perl6/doc/builds/189205540 github.com/perl6/doc/compare/f6858...20ec9a4db2
14:58 travis-ci left
notviki heh 15:00
gfldex: I guess ^ that's your answer about JSON::Fast :)
nicq20 perlpilot: Not really. I was thinking something like 1+2 ==> * / 5.
[Coke] SmokeMachine: so, there will eventually be something mojo-ish, but we won't muddy the waters and call it mojo. there's branding there that we don't want to intrude on. I think it's very reasonable they want to keep their name theirs.
but I don't think anyone that has perl 6 cycles is working on it at the moment.
gfldex notviki: yes, that's what I see locally
15:01 fluca1978 left
[Coke] SmokeMachine: you may have been thinking of github.com/coke/mojo6 15:01
raschip nicq20: doesn't the reverse (R) meatoperator solve that?
1+2 ==> 5 R/ * 15:02
15:02 AlexDaniel joined
SmokeMachine [Coke]: yes 15:03
nicq20 raschip: No, because the '==>' operator does not like WhateverStars (*) and errors.
raschip: I just used it as an example really. :/
raschip I did the same. 15:04
lizmat
.oO( slice, another meatoperator :-)
15:05
gfldex JSON::Fast doesn't talk to travis. I will fix that first.
SmokeMachine And what about remote promises? 15:06
dalek c: 3071ce2 | ronaldxs++ | doc/Language/unicode_texas.pod6:
add Nl numeric value example
15:07
synopsebot6 Link: doc.perl6.org/language/unicode_texas
raschip SmokeMachine: Why don't you try it?
notviki SmokeMachine: I'd think so. The default schedule just executs code looks like, so in yours you could serialize it (somehow?) and ship it off elsewhere: github.com/rakudo/rakudo/blob/nom/...pm#L22-L26
AlexDaniel o/ 15:08
notviki |
|\ 15:09
m: {;}.^methods.say
camelia rakudo-moar a7d106: OUTPUT«(<anon> <anon> of returns add_phaser fire_phasers has-phasers has-phaser phasers assuming WHY set_why pos perl <anon> <anon> <anon> count line <anon> perl <anon> file of ACCEPTS signature Str <anon> arity returns new outer static_id)␤»
SmokeMachine raschip: I wanna try... just asking because someone could know anything that could impossibility that...
notviki raschip: well, I've no idea how you can pass a block of code to some other box, for example.
I mean SmokeMachine 15:10
SmokeMachine notviki: but is there some way to get the code of a block?
notviki SmokeMachine: the source code?
SmokeMachine: don't think so, but even if you did, you'd still be missing all the stuff in its lexical scope
[Coke] m: say "\c[LATIN CAPITAL LETTER A]" # is there a way to get that if "LATIN..." is the result of an expression, without an eval? 15:11
camelia rakudo-moar 7ba9f8: OUTPUT«A␤»
SmokeMachine notviki: yes, that's how I could serialise, no?
notviki no idea
SmokeMachine m: say {;}.^methods 15:13
camelia rakudo-moar 7ba9f8: OUTPUT«(<anon> <anon> of returns add_phaser fire_phasers has-phasers has-phaser phasers assuming WHY set_why pos perl <anon> <anon> <anon> count line <anon> perl <anon> file of ACCEPTS signature Str <anon> arity returns new outer static_id)␤»
SmokeMachine m: say {;}.static_id 15:15
camelia rakudo-moar 7ba9f8: OUTPUT«51502792␤»
15:16 travis-ci joined
travis-ci Doc build errored. Ronald Schmidt 'add Nl numeric value example' 15:16
travis-ci.org/perl6/doc/builds/189211868 github.com/perl6/doc/compare/6020e...71ce2f4c6d
15:16 travis-ci left
notviki m: use nqp; my $v = "LATIN"; say nqp::codepointfromname("$v CAPITAL LETTER A").chr 15:17
camelia rakudo-moar 7ba9f8: OUTPUT«A␤»
SmokeMachine notviki: maybe number every remote promise, send the whole file and run thatnumber?
notviki [Coke]: ^. dunno of a Perl 6 way
SmokeMachine: what if it's multiple files? What if it uses modules that are installed? 15:19
raschip RPC is a complicated topic.
Thgere's no way to pretend remote invocation is the same as local invocation. 15:20
notviki SmokeMachine: we precompile modules... I know nothing about it, but maybe one can "precompile" a codeblock and ship that precompiled code out to execute elsewhere.
SmokeMachine: Day 2 of the course has something about serialization; I've not yet done Day 2, so don't know the details, but maybe you'll find something useful: edumentab.github.io/rakudo-and-nqp-...ls-course/ 15:22
notviki &
raschip There has to be a way to ensure there's no binding involved, everything has to be copied.
15:24 rindolf joined, imcsk8 joined, abraxxa left 15:26 FROGGS joined
sjn heya, #perl6 15:27
gfldex JSON::Fast itself is ok. zef seams to have problems with dealing of the tests output.
raschip o/
gfldex ugexe: could you try to install JSON::Fast please and see if zef can test it fine? 15:28
SmokeMachine notviki: good question... but it could be a requirement: install the modules you use on the remotemachine too...
notviki: thanks! I didn't know that exists!
sjn is there a way to introspect/figure out perl6's unicode properties? (e.g. dump a list of everything perl6 considers as "Punctuation, connector" (uniprop"Pc")) 15:29
sjn should probably assume the answer is "no, check the code", but I'll ask anyway :)
AlexDaniel u: Pc 15:31
unicodable6 AlexDaniel, U+005F LOW LINE [Pc] (_)
AlexDaniel, U+203F UNDERTIE [Pc] (‿)
AlexDaniel, U+2040 CHARACTER TIE [Pc] (⁀)
AlexDaniel, gist.github.com/f9dc17451009189766...05f766791e
moritz sjn: you have to iterate all characters 15:32
AlexDaniel sjn: good question. Unicodable does something like this: say join “\c[31]”, (0..0x1FFFF).grep: { … }
sjn aw
AlexDaniel sjn: or rather: .say for (0..0x1FFFF).grep: { .uniprop eq ‘Pc’ } 15:33
e: .chr.say for (0..0x1FFFF).grep: { .uniprop eq ‘Pc’ }
evalable6 AlexDaniel, rakudo-moar 7ba9f84: OUTPUT«_␤‿␤⁀␤⁔␤︳␤︴␤﹍␤﹎␤﹏␤_»
moritz or (0..0x1FFFF)>>.char.join.comb(<:Pc>)
(0..0x1FFFF)>>.chr.join.comb(<:Pc>)
15:33 jonas2 left
AlexDaniel the query above took less than two seconds to iterate over the whole unicode range, so be careful with alternatives :) 15:34
sjn: well, if you need it, perhaps you can build a reverse lookup table ahead of time and use it later 15:35
sjn mm
moritz, AlexDaniel: thanks!
raschip .u _‿⁀⁔︳︴﹍﹎﹏_ 15:37
yoleaux U+005F LOW LINE [Pc] (_)
U+203F UNDERTIE [Pc] (‿)
U+2040 CHARACTER TIE [Pc] (⁀)
raschip .u _‿⁀⁔︴﹍﹎﹏_
yoleaux U+005F LOW LINE [Pc] (_)
U+203F UNDERTIE [Pc] (‿)
U+2040 CHARACTER TIE [Pc] (⁀)
AlexDaniel disappointing, right? 15:38
raschip .u ﹍﹎﹏_
yoleaux U+FE4D DASHED LOW LINE [Pc] (﹍)
AlexDaniel u: _‿⁀⁔︴﹍﹎﹏_
unicodable6 AlexDaniel, U+203F UNDERTIE [Pc] (‿)
AlexDaniel, U+2040 CHARACTER TIE [Pc] (⁀)
AlexDaniel, U+005F LOW LINE [Pc] (_)
yoleaux U+FE4E CENTRELINE LOW LINE [Pc] (﹎)
unicodable6 AlexDaniel, gist.github.com/cc0851fb802d58b85c...5e2aa787f9
yoleaux U+FE4F WAVY LOW LINE [Pc] (﹏)
mspo .u: _
AlexDaniel xD
mspo <shrug>
raschip What's the problem with the bot? 15:39
mspo _ _ <- are they different?
AlexDaniel raschip: with which one?
raschip yoleaux
AlexDaniel raschip: there are two bots. yoleaux answers on “.u” and only prints 3 chars
that's how it works
raschip I see, thanks
.u ﹏_
yoleaux U+FE4F WAVY LOW LINE [Pc] (﹏)
U+FF3F FULLWIDTH LOW LINE [Pc] (_)
AlexDaniel if you want to see all characters, use unicodable6
notviki .u new line 15:40
AlexDaniel (which answers on u: )
yoleaux No characters found
mspo .u _
yoleaux U+005F LOW LINE [Pc] (_)
raschip u: _‿⁀⁔︴﹍﹎﹏_
unicodable6 raschip, U+005F LOW LINE [Pc] (_)
raschip, U+203F UNDERTIE [Pc] (‿)
raschip, U+2040 CHARACTER TIE [Pc] (⁀)
raschip, gist.github.com/5fc56dd286f91ffac8...2d83272b1b
mspo big underscore
notviki u: { &?ROUTINE() }
unicodable6 notviki, gist.github.com/9d16d7b8c57f7d9101...cc1d34db84
AlexDaniel u: new line 15:41
unicodable6 AlexDaniel, U+2B92 NEWLINE LEFT [So] (⮒)
AlexDaniel, U+2424 SYMBOL FOR NEWLINE [So] (␤)
AlexDaniel, U+2B93 NEWLINE RIGHT [So] (⮓)
notviki u: { &?BLOCK() }
AlexDaniel :o
unicodable6 notviki, «exit signal = SIGKILL (9)»
notviki heh 15:42
AlexDaniel m: &?BLOCK()
jdv79_ jnthn: thanks!
15:42 jdv79_ is now known as jdv79
camelia rakudo-moar 7ba9f8: OUTPUT«(timeout)» 15:42
mspo I was hoping to see more ANSI art with good ol' █ and ▀ and friends 15:44
raschip What's ANSI?
mspo :( 15:45
15:45 brrt left
notviki u: { True; say "hi" } 15:45
DrForr Check #perl6-dev ? 15:46
AlexDaniel notviki: this should've complained that there's something wrong 15:47
mspo raschip: like BBS games
DrForr (that was to mspo)
raschip I know what it is, I'm just calling you old to mess with you.
AlexDaniel notviki: but at this point it is just eating memory trying to slurp all this stuff or something 15:48
notviki weird
15:48 mcmillhj left, unicodable6 left
mspo DrForr: for ansi art? :) 15:48
15:48 unicodable6 joined, ChanServ sets mode: +v unicodable6
DrForr Nod. 15:49
AlexDaniel u: { say ‘hello’; False }
15:49 unicodable6 left
mspo DrForr: that would be odd 15:49
AlexDaniel o_o
15:49 unicodable6 joined, ChanServ sets mode: +v unicodable6
AlexDaniel u: { say ‘hello’; False } 15:49
notviki oh
I killed it.
AlexDaniel XD
notviki an d restarted 15:50
15:50 unicodable6 left, wamba joined, unicodable6 joined, ChanServ sets mode: +v unicodable6
AlexDaniel I should really-really work on these bots… 15:50
raschip Zalgo text kills it too. 15:51
AlexDaniel kills who?
raschip Unicodable 15:52
AlexDaniel u: t҉̫̪̪̲̪̜e̼͇̳̗s͚̯̻̭ͅt̙̬̪̩̙̦
unicodable6 AlexDaniel, U+0074 LATIN SMALL LETTER T [Ll] (t)
AlexDaniel, U+032B COMBINING INVERTED DOUBLE ARCH BELOW [Mn] (◌̫)
AlexDaniel, U+0489 COMBINING CYRILLIC MILLIONS SIGN [Me] (◌҉)
AlexDaniel, gist.github.com/56c7011943188a98ba...eae6ae9c67
AlexDaniel works fine
mspo I guess it's probably more efficient to just make a graphic than use a bunch of ▀
raschip Z􏿽xCC􏿽x8D􏿽xCC􏿽x9A􏿽xCD􏿽xA8􏿽xCC􏿽x82􏿽xCC􏿽x92􏿽xCC􏿽x8F􏿽xCC􏿽x8A􏿽xCD􏿽xA3􏿽xCC􏿽x80􏿽xCC􏿽x8A􏿽xCD􏿽xAD􏿽xCC􏿽x9A􏿽xCD􏿽xAF􏿽xCC􏿽x8A􏿽xCC􏿽x92􏿽xCC􏿽x91􏿽xCD􏿽xAF􏿽xCC􏿽xA2􏿽xCC􏿽xB4􏿽xCC􏿽x95􏿽xCD􏿽x9D􏿽xCC􏿽x96􏿽xCC􏿽x97􏿽xCD􏿽x94􏿽xCC􏿽x98􏿽xCC􏿽xB2􏿽xCC􏿽xB3􏿽xCC􏿽x9D􏿽xCC􏿽xA0􏿽xCD􏿽x88A􏿽xCD􏿽xAE􏿽xCD􏿽x82􏿽xCC􏿽x8A􏿽xCD􏿽xAB􏿽xCD􏿽x9E􏿽xCC􏿽xA1􏿽xCC􏿽xB4􏿽xCD􏿽x98􏿽xCD􏿽x9F􏿽xCC􏿽xA0􏿽xCC􏿽xAD􏿽xCC􏿽x9E􏿽xCD􏿽x85􏿽xCC􏿽xBC􏿽xCC􏿽xA6􏿽xCC􏿽x97􏿽xCD􏿽x88􏿽xCC􏿽xA4L􏿽xCD􏿽xA8􏿽xCC􏿽x93􏿽xCC􏿽xBF􏿽xCC􏿽x8A􏿽xCD􏿽x8A􏿽xCD􏿽xAA􏿽xCD􏿽xAD􏿽xCC􏿽x89􏿽xCC􏿽x8A􏿽xCD􏿽xAF􏿽xCC􏿽x9A􏿽xCD􏿽x8A􏿽xCC􏿽xBF􏿽xCD􏿽xA7􏿽xCD􏿽xAD􏿽xCC􏿽x83􏿽xCD􏿽xA5􏿽xCD􏿽x9B􏿽xCC􏿽x83􏿽xCD􏿽x9C􏿽xCD􏿽x9C􏿽xCC􏿽xA2􏿽xCD􏿽x9F􏿽xCC􏿽xAE􏿽xCC􏿽xA3􏿽xCC􏿽x97􏿽xCD􏿽x8D􏿽xCC􏿽xB3􏿽xCC􏿽xB1􏿽xCD􏿽x9A􏿽xCD􏿽x87􏿽xCC􏿽xA4􏿽xCC􏿽xA9􏿽xCD􏿽x96􏿽xCC􏿽x9F􏿽xCC􏿽xA6G􏿽xCC􏿽x8D􏿽xCD􏿽xAA􏿽xCC􏿽x80􏿽xCD􏿽xAB􏿽xCC􏿽xB7􏿽xCD􏿽x9D􏿽xCC􏿽xA8􏿽xCD􏿽xA1􏿽xCC􏿽x9D􏿽xCC􏿽x96􏿽xCC􏿽xB2􏿽xCC􏿽xA6􏿽xCC􏿽xAD􏿽xCD􏿽x95􏿽xCD􏿽x96􏿽xCC􏿽xAC􏿽xCC􏿽xBC􏿽xCC􏿽xB1􏿽xCC􏿽xA6􏿽xCC􏿽xB9􏿽xCD􏿽x88􏿽xCC􏿽xAC􏿽xCD􏿽x8E􏿽xCC􏿽x9C􏿽xCC􏿽xAE􏿽xCC􏿽xA9O􏿽xCC􏿽x8B􏿽xCC􏿽x94􏿽xCD􏿽x84􏿽xCD􏿽x83􏿽xCD􏿽x9D􏿽xCD􏿽x80􏿽xCD􏿽x9C􏿽xCD􏿽x95􏿽xCC􏿽xBA􏿽xCD􏿽x9A􏿽xCC􏿽xA6􏿽xCC􏿽xB2􏿽xCD􏿽x87􏿽xCC􏿽xBA􏿽xCC􏿽xB2􏿽xCC􏿽x9C􏿽xCC􏿽xAD􏿽xCC􏿽xA5􏿽xCD􏿽x88􏿽xCC􏿽xA5􏿽xCD􏿽x89!􏿽xCD􏿽x82􏿽xCC􏿽x90􏿽xCD􏿽x9B􏿽xCD􏿽xA7􏿽xCD􏿽xA9􏿽xCC􏿽x8F􏿽xCC􏿽x89􏿽xCC􏿽xA8􏿽xCD􏿽xA2􏿽xCC􏿽xB7􏿽xCC􏿽xB0􏿽xCC􏿽xA6􏿽xCD􏿽x89􏿽xCC􏿽x98􏿽xCC􏿽xAC􏿽xCC􏿽xBA􏿽xCC􏿽x9D􏿽xCD􏿽x96􏿽xCD􏿽x93􏿽xCD􏿽x87􏿽xCC􏿽xAD􏿽xCC􏿽xA6􏿽xCD􏿽x88􏿽xCC􏿽xA4􏿽xCC􏿽xA6􏿽xCC􏿽xB9􏿽xCC􏿽xB2􏿽xCC􏿽xBC􏿽xCC􏿽x99
mspo yikes
notviki *crickets* 15:53
raschip Oh, it died last time, I tough it was my fault.
AlexDaniel notviki: did you submit a ticket for your terminal emulator? :)
notviki Nope
(and I'm on a different box ATM, so nothing's broken :P)
raschip mspo: did something broke? Or it's just that you never seen it? 15:54
mspo raschip: I just got a lot of crazy chars 15:56
raschip: without a username
notviki N􏿽xCC􏿽x84􏿽xCD􏿽x8A􏿽xCC􏿽x80􏿽xCC􏿽x92􏿽xCD􏿽xAF􏿽xCD􏿽xAC􏿽xCD􏿽xA5􏿽xCC􏿽xBD􏿽xCC􏿽x8B􏿽xCD􏿽xA5􏿽xCD􏿽xA9􏿽xCC􏿽x89􏿽xCC􏿽x95􏿽xCC􏿽xB6􏿽xCC􏿽x9D􏿽xCD􏿽x9A􏿽xCC􏿽xB9􏿽xCD􏿽x9A􏿽xCD􏿽x99􏿽xCD􏿽x94􏿽xCC􏿽xAF􏿽xCC􏿽x9D􏿽xCC􏿽xB0􏿽xCC􏿽xB0i􏿽xCD􏿽xA4􏿽xCC􏿽x8D􏿽xCC􏿽x82􏿽xCC􏿽x8A􏿽xCD􏿽x9C􏿽xCD􏿽x9D􏿽xCD􏿽x98􏿽xCC􏿽xB8􏿽xCD􏿽x8D􏿽xCC􏿽xB3􏿽xCC􏿽xA5􏿽xCD􏿽x95􏿽xCD􏿽x95􏿽xCC􏿽xA0􏿽xCC􏿽xA5􏿽xCC􏿽x99􏿽xCC􏿽x9C􏿽xCD􏿽x8E􏿽xCD􏿽x88􏿽xCD􏿽x8D􏿽xCC􏿽xB2􏿽xCD􏿽x94􏿽xCD􏿽x93c􏿽xCC􏿽xBF􏿽xCD􏿽xAD􏿽xCD􏿽x8C􏿽xCD􏿽x8C􏿽xCD􏿽xAF􏿽xCC􏿽xBF􏿽xCC􏿽xBF􏿽xCD􏿽xA9􏿽xCC􏿽x9A􏿽xCC􏿽x81􏿽xCD􏿽x8A􏿽xCC􏿽x86􏿽xCC􏿽x90􏿽xCC􏿽x84􏿽xCC􏿽x88􏿽xCD􏿽xA4􏿽xCC􏿽x83􏿽xCD􏿽x84􏿽xCC􏿽x94􏿽xCC􏿽xB4􏿽xCD􏿽xA0􏿽xCC􏿽xB7􏿽xCC􏿽xA7􏿽xCD􏿽x98􏿽xCD􏿽x94􏿽xCC􏿽xBA􏿽xCC􏿽xB1􏿽xCD􏿽x93􏿽xCD􏿽x95􏿽xCC􏿽xA4􏿽xCD􏿽x94􏿽xCC􏿽xB1􏿽xCC􏿽xAB􏿽xCD􏿽x96􏿽xCC􏿽xAC􏿽xCC􏿽xA4􏿽xCD􏿽x99e􏿽xCC􏿽xBE􏿽xCC􏿽x88􏿽xCC􏿽x89􏿽xCD􏿽x84􏿽xCD􏿽x90􏿽xCC􏿽xBF􏿽xCC􏿽x91􏿽xCD􏿽xAB􏿽xCC􏿽x84􏿽xCC􏿽x91􏿽xCD􏿽xA5􏿽xCD􏿽xAE􏿽xCD􏿽xA9􏿽xCC􏿽x8E􏿽xCC􏿽x8B􏿽xCD􏿽x90􏿽xCC􏿽xBD􏿽xCD􏿽xA9􏿽xCD􏿽xA2􏿽xCC􏿽xA9􏿽xCC􏿽x9E􏿽xCC􏿽xAF􏿽xCC􏿽xA9􏿽xCC􏿽xAE􏿽xCC􏿽xAC􏿽xCC􏿽x9D􏿽xCD􏿽x93􏿽xCD􏿽x87􏿽xCC􏿽xAC􏿽xCC􏿽x99􏿽xCC􏿽xB0􏿽xCC􏿽xB3􏿽xCC􏿽xBC􏿽xCD􏿽x89􏿽xCC􏿽xA4􏿽xCC􏿽xA4􏿽xCC􏿽xAB 15:57
􏿽xCC􏿽x9A􏿽xCD􏿽xAC􏿽xCC􏿽x8A􏿽xCD􏿽xAD􏿽xCC􏿽x82􏿽xCC􏿽x90􏿽xCD􏿽xA7􏿽xCC􏿽x95􏿽xD2􏿽x89􏿽xCC􏿽xB3􏿽xCD􏿽x95􏿽xCD􏿽x8E􏿽xCD􏿽x99􏿽xCD􏿽x95􏿽xCC􏿽xBAt􏿽xCD􏿽xA8􏿽xCC􏿽x8D􏿽xCD􏿽x83􏿽xCC􏿽x8A􏿽xCD􏿽xAD􏿽xCC􏿽x85􏿽xCD􏿽xAF􏿽xCC􏿽xBE􏿽xCD􏿽xA7􏿽xCC􏿽x83􏿽xCC􏿽x8B􏿽xCD􏿽xAD􏿽xCD􏿽x90􏿽xCD􏿽x8B􏿽xCC􏿽x80􏿽xCD􏿽xAF􏿽xCD􏿽x83􏿽xCC􏿽x8B􏿽xCC􏿽x89􏿽xCC􏿽xB8􏿽xCC􏿽x95􏿽xCC􏿽xB7􏿽xCC􏿽x98􏿽xCD􏿽x93􏿽xCC􏿽x96􏿽xCC􏿽xB1􏿽xCD􏿽x9A􏿽xCD􏿽x94􏿽xCC􏿽xAD􏿽xCD􏿽x87􏿽xCC􏿽xBB􏿽xCC􏿽xB0􏿽xCC􏿽x9C􏿽xCC􏿽xB3e􏿽xCD􏿽xAC􏿽xCC􏿽x82􏿽xCC􏿽x80􏿽xCC􏿽x89􏿽xCD􏿽x84􏿽xCD􏿽xAA􏿽xCD􏿽xA8􏿽xCD􏿽x8A􏿽xCD􏿽xAE􏿽xCD􏿽xA9􏿽xCD􏿽xA4􏿽xCC􏿽x93􏿽xCD􏿽xAD􏿽xCD􏿽xA5􏿽xCD􏿽x97􏿽xCD􏿽xA7􏿽xCD􏿽xAE􏿽xCD􏿽xAB􏿽xCD􏿽x9E􏿽xCD􏿽x81􏿽xCD􏿽x98􏿽xCD􏿽x9E􏿽xCD􏿽x85􏿽xCD􏿽x94􏿽xCC􏿽xA3􏿽xCC􏿽x9D􏿽xCC􏿽xAA􏿽xCC􏿽xAA􏿽xCC􏿽xAE􏿽xCD􏿽x89􏿽xCC􏿽x97􏿽xCC􏿽xB1􏿽xCC􏿽xAE􏿽xCC􏿽x9C􏿽xCC􏿽x99􏿽xCD􏿽x85􏿽xCC􏿽xA4􏿽xCC􏿽x9C􏿽xCC􏿽xB2􏿽xCC􏿽xB3r􏿽xCC􏿽xBE􏿽xCD􏿽xA8􏿽xCD􏿽x86􏿽xCC􏿽x8C􏿽xCC􏿽x90􏿽xCC􏿽x92􏿽xCD􏿽x90􏿽xCC􏿽xA1􏿽xCC􏿽x9B􏿽xCD􏿽x8D􏿽xCD􏿽x93􏿽xCC􏿽xBC􏿽xCC􏿽x99􏿽xCD􏿽x96􏿽xCC􏿽xB3􏿽xCC􏿽x99􏿽xCC􏿽x9Cm􏿽xCD􏿽x9B􏿽xCD􏿽xAB􏿽xCD􏿽x82􏿽xCC􏿽x84􏿽xCC􏿽x80􏿽xCD􏿽x80􏿽xCD􏿽x87􏿽xCC􏿽xA0􏿽xCC􏿽xA4􏿽xCC􏿽xBA􏿽xCC􏿽xAE􏿽xCC􏿽xAB􏿽xCC􏿽xB0􏿽xCC􏿽xA6􏿽xCD􏿽x96􏿽xCC􏿽xA4􏿽xCC􏿽x9Ei􏿽xCD􏿽x97􏿽xCD􏿽xAC􏿽xCC􏿽x88􏿽xCD􏿽x8C􏿽xCD􏿽x9F􏿽xCD􏿽x9C􏿽xCC􏿽xB7􏿽xCC􏿽xB3􏿽xCC􏿽xB3􏿽xCC􏿽xAC􏿽xCC􏿽xA4􏿽xCD􏿽x89􏿽xCC􏿽xADn􏿽xCC􏿽x83􏿽xCD􏿽xAC􏿽xCC􏿽x81􏿽xCD􏿽x8B􏿽xCC􏿽x84􏿽xCC􏿽x95􏿽xCC􏿽xA7􏿽xCC􏿽x9E􏿽xCC􏿽xB3􏿽xCC􏿽x9F􏿽xCC􏿽xA9a􏿽xCD􏿽xA6􏿽xCC􏿽x89􏿽xCC􏿽x8B􏿽xCC􏿽x92􏿽xCD􏿽xAE􏿽xCC􏿽x83􏿽xCD􏿽xAF􏿽xCD􏿽xAB􏿽xCC􏿽x88􏿽xCD􏿽x82􏿽xCC􏿽x83􏿽xCD􏿽x90􏿽xCC􏿽xBF􏿽xCD􏿽x80􏿽xCD􏿽x9D􏿽xCC􏿽xA2􏿽xCD􏿽x9C􏿽xCC􏿽x98􏿽xCC􏿽xBC􏿽xCD􏿽x96􏿽xCD􏿽x96􏿽xCC􏿽xA5􏿽xCD􏿽x93􏿽xCC􏿽x9F􏿽xCC􏿽x9E􏿽xCD􏿽x99l􏿽xCD􏿽xA5􏿽xCD􏿽x8C􏿽xCD􏿽xA6􏿽xCC􏿽x9A􏿽xCC􏿽x82􏿽xCC􏿽x90􏿽xCD􏿽xAA􏿽xCC􏿽x88􏿽xCC􏿽x9A􏿽xCD􏿽x8A􏿽xCD􏿽x9E􏿽xCD􏿽x98􏿽xCC􏿽xB4􏿽xCD􏿽x8F􏿽xCD􏿽x8F􏿽xCC􏿽xBB􏿽xCC􏿽xBC􏿽xCD􏿽x8E􏿽xCC􏿽xA6􏿽xCC􏿽xAD􏿽xCC􏿽xA3􏿽xCC􏿽xBC􏿽xCD􏿽x9A􏿽xCC􏿽xBB􏿽xCC􏿽x9E􏿽xCC􏿽xA9􏿽xCC􏿽x97􏿽xCC􏿽x98􏿽xCC􏿽xB9
􏿽xCC􏿽x82􏿽xCC􏿽x80􏿽xCC􏿽x80􏿽xCC􏿽x87􏿽xCC􏿽x80􏿽xCD􏿽xAE􏿽xCD􏿽x91􏿽xCD􏿽xA9􏿽xCC􏿽x94􏿽xCD􏿽x97􏿽xCC􏿽x8D􏿽xCD􏿽xAB􏿽xCD􏿽x8A􏿽xCC􏿽x93􏿽xCD􏿽xA3􏿽xD2􏿽x89􏿽xCC􏿽xB6􏿽xCC􏿽xA2􏿽xCD􏿽x89􏿽xCD􏿽x85􏿽xCD􏿽x8D􏿽xCC􏿽xA3􏿽xCC􏿽xA6y􏿽xCD􏿽x8C􏿽xCD􏿽x92􏿽xCD􏿽xAA􏿽xCD􏿽xAC􏿽xCC􏿽x93􏿽xD2􏿽x89􏿽xCD􏿽x9F􏿽xCC􏿽xB8􏿽xCC􏿽xAA􏿽xCC􏿽xA9􏿽xCC􏿽x9F􏿽xCC􏿽x9Fo􏿽xCC􏿽x82􏿽xCC􏿽x8C􏿽xCD􏿽x83􏿽xCC􏿽x87􏿽xCC􏿽x8E􏿽xCD􏿽x92􏿽xCC􏿽x88􏿽xCC􏿽xBF􏿽xCC􏿽xB6􏿽xCC􏿽xB6􏿽xCD􏿽x9E􏿽xCD􏿽xA0􏿽xCC􏿽xA4􏿽xCC􏿽xB0􏿽xCC􏿽x9D􏿽xCD􏿽x94􏿽xCC􏿽xAB􏿽xCC􏿽xA5􏿽xCC􏿽xB0􏿽xCC􏿽xA9􏿽xCC􏿽xA3􏿽xCD􏿽x96􏿽xCD􏿽x94􏿽xCC􏿽x98􏿽xCC􏿽xA5􏿽xCC􏿽xAC􏿽xCD􏿽x8E􏿽xCC􏿽x9Cu􏿽xCC􏿽x80􏿽xCC􏿽xBD􏿽xCD􏿽x97􏿽xCC􏿽x88􏿽xCD􏿽x92􏿽xCC􏿽x8A􏿽xCD􏿽xAD􏿽xCD􏿽xA7􏿽xCC􏿽x86􏿽xCD􏿽xAA􏿽xCD􏿽x8B􏿽xCC􏿽xB4􏿽xCD􏿽x98􏿽xCC􏿽xAC􏿽xCD􏿽x85􏿽xCD􏿽x8E􏿽xCD􏿽x99􏿽xCC􏿽x98􏿽xCC􏿽x96􏿽xCC􏿽xA0􏿽xCC􏿽xA4􏿽xCC􏿽xA0􏿽xCD􏿽x8D􏿽xCC􏿽xB1􏿽xCC􏿽xB1􏿽xCD􏿽x96􏿽xCC􏿽xBA 􏿽xCD􏿽x92􏿽xCD􏿽xA3􏿽xCC􏿽xBF􏿽xCD􏿽x8B􏿽xCD􏿽xA9􏿽xCD􏿽xAE􏿽xCD􏿽x8B􏿽xCD􏿽xAE􏿽xCC􏿽x8A􏿽xCD􏿽x8C􏿽xCD􏿽x90􏿽xCC􏿽x88􏿽xCD􏿽xAE􏿽xCD􏿽xAC􏿽xD2􏿽x89􏿽xCC􏿽x95􏿽xCC􏿽x9D􏿽xCC􏿽xA4􏿽xCC􏿽xB0􏿽xCD􏿽x93􏿽xCD􏿽x9A􏿽xCC􏿽xAB􏿽xCC􏿽xAE􏿽xCD􏿽x89􏿽xCC􏿽xA3􏿽xCC􏿽xA9g􏿽xCD􏿽x90􏿽xCD􏿽x86􏿽xCC􏿽x83􏿽xCC􏿽x80􏿽xCD􏿽x91􏿽xCD􏿽xAC􏿽xCC􏿽x81􏿽xCC􏿽x91􏿽xCC􏿽x86􏿽xCD􏿽xAC􏿽xCC􏿽x88􏿽xCC􏿽x91􏿽xCC􏿽x90􏿽xCD􏿽x98􏿽xCD􏿽x9C􏿽xCD􏿽x9C􏿽xCD􏿽x9E􏿽xCD􏿽x96􏿽xCC􏿽xB3􏿽xCC􏿽xA5􏿽xCD􏿽x95􏿽xCC􏿽xAA􏿽xCC􏿽xA0􏿽xCD􏿽x94􏿽xCD􏿽x88􏿽xCC􏿽xB3􏿽xCC􏿽x96􏿽xCC􏿽xB9􏿽xCC􏿽x96o􏿽xCC􏿽x93􏿽xCD􏿽x8C􏿽xCD􏿽x90􏿽xCC􏿽xBF􏿽xCD􏿽xA7􏿽xCD􏿽x8A􏿽xCC􏿽x95􏿽xCD􏿽xA0􏿽xCD􏿽x9D􏿽xCC􏿽xA8􏿽xCC􏿽x99􏿽xCD􏿽x95􏿽xCC􏿽xB9􏿽xCC􏿽x9E􏿽xCD􏿽x8E􏿽xCC􏿽xBA􏿽xCC􏿽xA6􏿽xCC􏿽xBBt􏿽xCD􏿽x92􏿽xCD􏿽xA8􏿽xCD􏿽xAF􏿽xCD􏿽xA6􏿽xCD􏿽x8C􏿽xCD􏿽xA5􏿽xCD􏿽x84􏿽xCD􏿽xAA􏿽xCC􏿽x8B􏿽xCC􏿽x87􏿽xCC􏿽x86􏿽xCD􏿽xA3􏿽xCC􏿽x82􏿽xCD􏿽x8C􏿽xCC􏿽x82􏿽xCD􏿽x83􏿽xD2􏿽x89􏿽xCD􏿽xA2􏿽xCC􏿽xB8􏿽xCC􏿽x9F􏿽xCD􏿽x88􏿽xCC􏿽xA5􏿽xCD􏿽x99
􏿽xCD􏿽x9B􏿽xCD􏿽xAB􏿽xCD􏿽x91􏿽xCC􏿽x8A􏿽xCD􏿽xA4􏿽xCD􏿽x8B􏿽xCD􏿽xA8􏿽xCD􏿽xAB􏿽xCC􏿽x90􏿽xCC􏿽x85􏿽xCD􏿽xA0􏿽xCC􏿽xB6􏿽xCC􏿽x9B􏿽xCD􏿽x9F􏿽xCD􏿽x80􏿽xCC􏿽xAD􏿽xCC􏿽x98􏿽xCC􏿽xAE􏿽xCD􏿽x94􏿽xCC􏿽xA3􏿽xCC􏿽xAC􏿽xCD􏿽x87􏿽xCD􏿽x85􏿽xCC􏿽x97􏿽xCC􏿽x97􏿽xCC􏿽x99􏿽xCC􏿽x98􏿽xCC􏿽x9D􏿽xCC􏿽xAA􏿽xCC􏿽xB3􏿽xCC􏿽xB9􏿽xCD􏿽x9A􏿽xCC􏿽xBBt􏿽xCD􏿽x97􏿽xCD􏿽x8C􏿽xCD􏿽x83􏿽xCC􏿽x8A􏿽xCC􏿽x91􏿽xCC􏿽x86􏿽xCC􏿽x81􏿽xCD􏿽xA5􏿽xCC􏿽x81􏿽xCD􏿽x92􏿽xCC􏿽x8E􏿽xCD􏿽x91􏿽xCD􏿽xA0􏿽xCD􏿽x9D􏿽xCD􏿽x8F􏿽xCD􏿽x9D􏿽xCD􏿽x81􏿽xCD􏿽x96􏿽xCC􏿽x99􏿽xCC􏿽xB3􏿽xCD􏿽x87􏿽xCC􏿽x99􏿽xCC􏿽xB9􏿽xCD􏿽x87􏿽xCC􏿽xB0􏿽xCC􏿽xAC􏿽xCC􏿽xB3􏿽xCC􏿽xA6􏿽xCC􏿽xA6􏿽xCC􏿽xB3􏿽xCC􏿽xADh􏿽xCC􏿽x85􏿽xCC􏿽x94􏿽xCC􏿽x94􏿽xCD􏿽x84􏿽xCD􏿽x9B􏿽xCD􏿽x91􏿽xCD􏿽x8B􏿽xCD􏿽xA9􏿽xCC􏿽x90􏿽xCC􏿽x8A􏿽xCD􏿽xA8􏿽xCC􏿽x8A􏿽xCD􏿽xA1􏿽xCD􏿽x80􏿽xCD􏿽xA2􏿽xCD􏿽x9F􏿽xCD􏿽x9D􏿽xCD􏿽x85􏿽xCC􏿽xAC􏿽xCC􏿽xAF􏿽xCC􏿽xB2􏿽xCC􏿽xAD􏿽xCC􏿽xBC􏿽xCC􏿽x98􏿽xCD􏿽x88􏿽xCC􏿽x9E􏿽xCD􏿽x96􏿽xCC􏿽xAD􏿽xCC􏿽xAF􏿽xCC􏿽x9F􏿽xCC􏿽x97􏿽xCD􏿽x99􏿽xCC􏿽xAA􏿽xCC􏿽xAD􏿽xCD􏿽x95e􏿽xCD􏿽x90􏿽xCC􏿽x80􏿽xCC􏿽x87􏿽xCC􏿽x91􏿽xCD􏿽xAD􏿽xCC􏿽x90􏿽xCC􏿽x85􏿽xCD􏿽xA5􏿽xCC􏿽x81􏿽xCC􏿽x94􏿽xCD􏿽x92􏿽xCC􏿽xBF􏿽xCC􏿽x93􏿽xCC􏿽x90􏿽xCD􏿽x8A􏿽xCD􏿽xAD􏿽xCC􏿽xB7􏿽xCC􏿽xA8􏿽xCD􏿽x8F􏿽xCC􏿽xAE􏿽xCC􏿽xA3􏿽xCC􏿽xB0􏿽xCC􏿽x96􏿽xCD􏿽x9A􏿽xCC􏿽xAD􏿽xCC􏿽xAF􏿽xCC􏿽xB2􏿽xCD􏿽x8E􏿽xCD􏿽x9A􏿽xCC􏿽xA4􏿽xCD􏿽x85􏿽xCC􏿽xA3􏿽xCC􏿽xAA􏿽xCD􏿽x93􏿽xCC􏿽xAD􏿽xCC􏿽xB1􏿽xCD􏿽x89r􏿽xCD􏿽xA8􏿽xCC􏿽xBE􏿽xCD􏿽xAB􏿽xCC􏿽xBF􏿽xCD􏿽xA7􏿽xCD􏿽x90􏿽xCC􏿽xBF􏿽xCC􏿽x90􏿽xCC􏿽x86􏿽xCC􏿽x8B􏿽xCC􏿽x8E􏿽xCD􏿽x9F􏿽xCD􏿽xA0􏿽xCD􏿽x98􏿽xCD􏿽x9D􏿽xCC􏿽xB1􏿽xCD􏿽x93􏿽xCC􏿽x98􏿽xCD􏿽x85􏿽xCC􏿽xAD􏿽xCC􏿽xA4􏿽xCC􏿽xA5􏿽xCD􏿽x88􏿽xCD􏿽x99􏿽xCD􏿽x9A􏿽xCC􏿽xBAe􏿽xCC􏿽x90􏿽xCC􏿽x88􏿽xCC􏿽xBE􏿽xCD􏿽x91􏿽xCD􏿽x82􏿽xCD􏿽xAF􏿽xCC􏿽x86􏿽xCC􏿽x83􏿽xCD􏿽xAC􏿽xCC􏿽x86􏿽xCC􏿽x84􏿽xCC􏿽xBD􏿽xCC􏿽x93􏿽xCC􏿽x90􏿽xCC􏿽x8B􏿽xCC􏿽xBD􏿽xCD􏿽xA7􏿽xCC􏿽x8B􏿽xCD􏿽xA2􏿽xCC􏿽xB8􏿽xCC􏿽x96􏿽xCC􏿽xA3􏿽xCC􏿽xAC􏿽xCC􏿽xA6.􏿽xCD􏿽xA7􏿽xCC􏿽x89􏿽xCC􏿽x84􏿽xCC􏿽xBD􏿽xCC􏿽x8A􏿽xCC􏿽x8F􏿽xCD􏿽x8A􏿽xCC􏿽x8F􏿽xCC􏿽x9A􏿽xCC􏿽x86􏿽xCD􏿽x91􏿽xCC􏿽x83􏿽xCD􏿽xAB􏿽xCC􏿽xB7􏿽xCD􏿽x81􏿽xCD􏿽xA0􏿽xCC􏿽xB9
.􏿽xCC􏿽x90􏿽xCC􏿽x85􏿽xCC􏿽x8B􏿽xCD􏿽x92􏿽xCD􏿽xAE􏿽xCD􏿽x9B􏿽xCC􏿽x8C􏿽xCC􏿽x83􏿽xCC􏿽x81􏿽xCC􏿽x83􏿽xCD􏿽xAA􏿽xCC􏿽xA2􏿽xCC􏿽xA8􏿽xCD􏿽xA0􏿽xCD􏿽x9C􏿽xCC􏿽x96􏿽xCC􏿽xB1􏿽xCC􏿽xBA􏿽xCC􏿽x9E􏿽xCD􏿽x89􏿽xCC􏿽x96􏿽xCC􏿽x96􏿽xCC􏿽xB0􏿽xCC􏿽xAC􏿽xCC􏿽x9E􏿽xCD􏿽x8E􏿽xCC􏿽xAD􏿽xCC􏿽x98􏿽xCC􏿽xAA􏿽xCC􏿽x99􏿽xCC􏿽xAE.􏿽xCC􏿽x8D􏿽xCC􏿽x83􏿽xCD􏿽xA9􏿽xCD􏿽xAF􏿽xCC􏿽x82􏿽xCD􏿽x90􏿽xCC􏿽xB7􏿽xCC􏿽xB4􏿽xCD􏿽x80􏿽xCC􏿽xB0􏿽xCC􏿽xBA􏿽xCC􏿽xAD􏿽xCD􏿽x87􏿽xCD􏿽x9A􏿽xCC􏿽xAE
􏿽xCD􏿽xAD􏿽xCC􏿽x83􏿽xCD􏿽xAB􏿽xCD􏿽x90􏿽xCC􏿽x92􏿽xCD􏿽x92􏿽xCD􏿽xA0􏿽xCC􏿽x9B􏿽xCC􏿽xA4􏿽xCD􏿽x88􏿽xCC􏿽xAE􏿽xCC􏿽xB0􏿽xCC􏿽x9E􏿽xCC􏿽xAD􏿽xCC􏿽xBA􏿽xCC􏿽xBC􏿽xCD􏿽x8E􏿽xCC􏿽x97􏿽xCD􏿽x8D􏿽xCD􏿽x8E􏿽xCC􏿽xB3􏿽xCC􏿽x9F􏿽xCD􏿽x93􏿽xCD􏿽x89􏿽xCD􏿽x96w􏿽xCC􏿽x84􏿽xCC􏿽x82􏿽xCC􏿽x93􏿽xCD􏿽xAA􏿽xCC􏿽x80􏿽xCD􏿽xAE􏿽xCD􏿽x90􏿽xCC􏿽x8B􏿽xCD􏿽x90􏿽xCC􏿽x9A􏿽xCD􏿽x9B􏿽xCD􏿽xAD􏿽xCD􏿽xA0􏿽xCC􏿽xB2􏿽xCC􏿽xA4􏿽xCC􏿽x98􏿽xCC􏿽xAD􏿽xCD􏿽x96􏿽xCD􏿽x94􏿽xCC􏿽xA6􏿽xCC􏿽xAC􏿽xCD􏿽x87􏿽xCD􏿽x8D􏿽xCC􏿽xAF􏿽xCD􏿽x95􏿽xCC􏿽xB1􏿽xCC􏿽x9D􏿽xCC􏿽xB9􏿽xCD􏿽x94o􏿽xCD􏿽x9B􏿽xCC􏿽x87􏿽xCD􏿽x90􏿽xCC􏿽x92􏿽xCD􏿽x97􏿽xCC􏿽x9A􏿽xCD􏿽xAB􏿽xCC􏿽x84􏿽xCC􏿽x89􏿽xCD􏿽xAD􏿽xCD􏿽x83􏿽xCC􏿽xBE􏿽xCD􏿽x84􏿽xCC􏿽xBF􏿽xCD􏿽xA3􏿽xCC􏿽x9B􏿽xCD􏿽x9D􏿽xCD􏿽x8D􏿽xCD􏿽x88􏿽xCC􏿽xB2􏿽xCC􏿽xA0􏿽xCC􏿽xA5􏿽xCC􏿽xA6􏿽xCC􏿽xB1􏿽xCD􏿽x94u􏿽xCD􏿽xAE􏿽xCD􏿽x84􏿽xCD􏿽x90􏿽xCC􏿽x82􏿽xCC􏿽x82􏿽xCC􏿽x8B􏿽xCC􏿽x8C􏿽xCC􏿽x8F􏿽xCD􏿽x92􏿽xCC􏿽x82􏿽xCC􏿽x93􏿽xCC􏿽x8C􏿽xCD􏿽xA4􏿽xCC􏿽xBF􏿽xCC􏿽x90􏿽xCC􏿽x83􏿽xCC􏿽x8C􏿽xCD􏿽x80􏿽xCC􏿽xB7􏿽xCC􏿽x9B􏿽xCC􏿽xB8􏿽xCC􏿽xA0􏿽xCC􏿽xAE􏿽xCC􏿽x99􏿽xCD􏿽x89􏿽xCC􏿽xA9􏿽xCC􏿽xA6􏿽xCD􏿽x87􏿽xCD􏿽x88􏿽xCC􏿽x9C􏿽xCD􏿽x8E􏿽xCC􏿽xA6l􏿽xCC􏿽x92􏿽xCC􏿽xBD􏿽xCC􏿽x8D􏿽xCD􏿽x82􏿽xCD􏿽x90􏿽xCC􏿽x94􏿽xCD􏿽x92􏿽xCD􏿽xA0􏿽xCC􏿽x9B􏿽xCC􏿽xA2􏿽xCD􏿽xA1􏿽xCC􏿽xAD􏿽xCC􏿽xA0􏿽xCC􏿽xA5􏿽xCC􏿽x97􏿽xCD􏿽x8D􏿽xCD􏿽x94􏿽xCC􏿽xA9􏿽xCC􏿽xBB􏿽xCC􏿽xB0􏿽xCD􏿽x96􏿽xCC􏿽x97d􏿽xCD􏿽x86􏿽xCC􏿽x92􏿽xCD􏿽xAC􏿽xCD􏿽xA8􏿽xCC􏿽xBE􏿽xCD􏿽xA8􏿽xCD􏿽x8C􏿽xCC􏿽xBE􏿽xCD􏿽xA3􏿽xCC􏿽xBE􏿽xCD􏿽x9C􏿽xCD􏿽xA1􏿽xCD􏿽x80􏿽xCC􏿽xB6􏿽xCC􏿽xA3􏿽xCC􏿽xBB􏿽xCC􏿽xBC􏿽xCC􏿽xA0􏿽xCD􏿽x85􏿽xCC􏿽x9E􏿽xCC􏿽xA4􏿽xCC􏿽xA0􏿽xCD􏿽x8E􏿽xCC􏿽xB9􏿽xCC􏿽xAA􏿽xCC􏿽x9C􏿽xCD􏿽x9A􏿽xCC􏿽x9C􏿽xCC􏿽xBB􏿽xCD􏿽x8E􏿽xCD􏿽x93􏿽xCC􏿽xA0
􏿽xCD􏿽x8B􏿽xCC􏿽x91􏿽xCD􏿽x82􏿽xCC􏿽x84􏿽xCC􏿽x82􏿽xCC􏿽x86􏿽xCC􏿽x86􏿽xCC􏿽x92􏿽xCC􏿽xBE􏿽xCD􏿽x8A􏿽xCD􏿽x9D􏿽xCD􏿽x81􏿽xCC􏿽xB2􏿽xCC􏿽xBA􏿽xCC􏿽xAB􏿽xCC􏿽xB1􏿽xCC􏿽xAC􏿽xCC􏿽x9D􏿽xCC􏿽xA3􏿽xCC􏿽xBC􏿽xCC􏿽x98􏿽xCC􏿽xB1􏿽xCC􏿽x97􏿽xCC􏿽x9E􏿽xCC􏿽xA5􏿽xCC􏿽x96􏿽xCC􏿽xB0b􏿽xCD􏿽x86􏿽xCC􏿽xBE􏿽xCD􏿽x8B􏿽xCD􏿽xA3􏿽xCC􏿽x91􏿽xCC􏿽x92􏿽xCC􏿽x80􏿽xCD􏿽xAC􏿽xCD􏿽x82􏿽xCC􏿽x80􏿽xCD􏿽xA9􏿽xCD􏿽xAD􏿽xCC􏿽x8A􏿽xCD􏿽x91􏿽xCC􏿽xB8􏿽xCC􏿽xA7􏿽xCC􏿽xA7􏿽xCD􏿽xA2􏿽xCC􏿽x9B􏿽xCC􏿽x9F􏿽xCC􏿽xAD􏿽xCC􏿽xB2􏿽xCC􏿽xAF􏿽xCD􏿽x95􏿽xCC􏿽x98􏿽xCC􏿽xA6􏿽xCD􏿽x9A􏿽xCD􏿽x95􏿽xCC􏿽xBC􏿽xCC􏿽x9D􏿽xCD􏿽x96􏿽xCD􏿽x93􏿽xCD􏿽x96e􏿽xCD􏿽x92􏿽xCC􏿽x86􏿽xCD􏿽x8C􏿽xCD􏿽xAB􏿽xCC􏿽x92􏿽xCD􏿽xAE􏿽xCC􏿽x87􏿽xCD􏿽x82􏿽xCD􏿽xA3􏿽xCD􏿽x84􏿽xCC􏿽x87􏿽xCD􏿽x9F􏿽xCD􏿽xA1􏿽xCC􏿽xBA􏿽xCC􏿽xAD􏿽xCC􏿽xAF 􏿽xCD􏿽xA6􏿽xCD􏿽x83􏿽xCC􏿽x89􏿽xCC􏿽x80􏿽xCC􏿽xBF􏿽xCD􏿽x91􏿽xCC􏿽x8F􏿽xCD􏿽xA7􏿽xCD􏿽x8A􏿽xCD􏿽xA8􏿽xCC􏿽x81􏿽xCC􏿽x89􏿽xCC􏿽x90􏿽xCD􏿽xAB􏿽xCD􏿽x9B􏿽xCD􏿽xA4􏿽xCC􏿽x81􏿽xCD􏿽x8B􏿽xCC􏿽xA7􏿽xCC􏿽xB8􏿽xCD􏿽x9F􏿽xCD􏿽xA2􏿽xCC􏿽x9F􏿽xCC􏿽xA4􏿽xCC􏿽x9C􏿽xCD􏿽x8Da􏿽xCC􏿽x88􏿽xCD􏿽x8C􏿽xCC􏿽x8A􏿽xCC􏿽x8A􏿽xCD􏿽xA5􏿽xCD􏿽xAC􏿽xCC􏿽xB8􏿽xCD􏿽x9E􏿽xCD􏿽x8F􏿽xCC􏿽xA8􏿽xCC􏿽x96􏿽xCC􏿽xA5􏿽xCC􏿽xAF􏿽xCC􏿽xBB􏿽xCC􏿽xAF􏿽xCC􏿽x98􏿽xCD􏿽x85􏿽xCC􏿽xB3􏿽xCD􏿽x95􏿽xCC􏿽xA4􏿽xCC􏿽xAB􏿽xCC􏿽xAA􏿽xCC􏿽xBB􏿽xCC􏿽xAA􏿽xCD􏿽x94
􏿽xCD􏿽xA6􏿽xCC􏿽x84􏿽xCC􏿽x9A􏿽xCD􏿽x8B􏿽xCC􏿽x9A􏿽xCC􏿽xBF􏿽xCC􏿽x8A􏿽xCC􏿽xBE􏿽xCD􏿽xA6􏿽xCC􏿽x82􏿽xCC􏿽x9A􏿽xCD􏿽xAE􏿽xCD􏿽xA0􏿽xCC􏿽xA8􏿽xCD􏿽xA2􏿽xCD􏿽x8F􏿽xCC􏿽xB5􏿽xCC􏿽x98􏿽xCC􏿽xBA􏿽xCC􏿽xA0􏿽xCC􏿽xA6􏿽xCC􏿽xAD􏿽xCC􏿽xB9􏿽xCC􏿽x97􏿽xCD􏿽x8E􏿽xCC􏿽xBC􏿽xCC􏿽xA3􏿽xCC􏿽xA5􏿽xCD􏿽x94􏿽xCC􏿽x9C􏿽xCC􏿽xAE􏿽xCC􏿽xAB􏿽xCC􏿽xA6s􏿽xCD􏿽xAA􏿽xCC􏿽x82􏿽xCD􏿽x83􏿽xCC􏿽x8B􏿽xCD􏿽x8B􏿽xCC􏿽x93􏿽xCC􏿽x80􏿽xCC􏿽x8E􏿽xCD􏿽xAB􏿽xCC􏿽x88􏿽xCC􏿽x9A􏿽xCD􏿽xA9􏿽xCC􏿽x92􏿽xCC􏿽x8F􏿽xCC􏿽xBF􏿽xCD􏿽x8C􏿽xCC􏿽xB4􏿽xCD􏿽x9D􏿽xCC􏿽xB5􏿽xCC􏿽xB0􏿽xCC􏿽x9E􏿽xCC􏿽xB3􏿽xCC􏿽xBC􏿽xCD􏿽x89􏿽xCD􏿽x85􏿽xCD􏿽x85􏿽xCC􏿽xAD􏿽xCD􏿽x85h􏿽xCC􏿽x91􏿽xCD􏿽x8B􏿽xCC􏿽x85􏿽xCD􏿽xA5􏿽xCC􏿽x8D􏿽xCD􏿽x92􏿽xCD􏿽x8A􏿽xCC􏿽x8D􏿽xCC􏿽x9A􏿽xCD􏿽x8C􏿽xCD􏿽x91􏿽xCC􏿽x8E􏿽xCD􏿽x92􏿽xCC􏿽xBE􏿽xCD􏿽xAC􏿽xCC􏿽x88􏿽xCC􏿽xB8􏿽xCC􏿽xB4􏿽xCC􏿽xB7􏿽xCD􏿽x9A􏿽xCC􏿽x98􏿽xCD􏿽x89􏿽xCC􏿽xB3􏿽xCC􏿽xAB􏿽xCC􏿽xBB􏿽xCC􏿽xAA􏿽xCC􏿽xAD􏿽xCD􏿽x93􏿽xCD􏿽x88􏿽xCC􏿽xA5􏿽xCC􏿽x99􏿽xCC􏿽xAFa􏿽xCD􏿽xAE􏿽xCC􏿽x8A􏿽xCD􏿽xAB􏿽xCD􏿽xA8􏿽xCC􏿽x92􏿽xCD􏿽x82􏿽xCD􏿽x84􏿽xCD􏿽x86􏿽xCD􏿽xA9􏿽xCC􏿽x93􏿽xCC􏿽x87􏿽xCD􏿽x84􏿽xCD􏿽xA6􏿽xCC􏿽x8F􏿽xCD􏿽xAB􏿽xCC􏿽x9A􏿽xCC􏿽xB8􏿽xCD􏿽x9C􏿽xD2􏿽x89􏿽xCC􏿽xAF􏿽xCC􏿽x9E􏿽xCD􏿽x89􏿽xCC􏿽xA5􏿽xCC􏿽xAC􏿽xCD􏿽x96􏿽xCC􏿽x9F􏿽xCD􏿽x96􏿽xCC􏿽x97􏿽xCD􏿽x8Em􏿽xCD􏿽xA9􏿽xCD􏿽x91􏿽xCD􏿽xA5􏿽xCC􏿽x94􏿽xCC􏿽x94􏿽xCC􏿽x8C􏿽xCC􏿽x86􏿽xCC􏿽x9A􏿽xCC􏿽x89􏿽xCC􏿽x84􏿽xCD􏿽x97􏿽xCD􏿽xA2􏿽xCC􏿽xB6􏿽xCD􏿽xA0􏿽xCC􏿽xA7􏿽xCC􏿽x9C􏿽xCC􏿽xAC􏿽xCD􏿽x99􏿽xCC􏿽xB1􏿽xCC􏿽xAB􏿽xCC􏿽xB3􏿽xCC􏿽x99􏿽xCC􏿽x9D􏿽xCC􏿽xB3􏿽xCC􏿽xBBe􏿽xCC􏿽x85􏿽xCD􏿽x8B􏿽xCC􏿽x8D􏿽xCD􏿽xA7􏿽xCC􏿽x83􏿽xCC􏿽x90􏿽xCC􏿽xBE􏿽xCC􏿽x8E􏿽xCD􏿽xA3􏿽xCD􏿽x8B􏿽xCD􏿽x9B􏿽xCD􏿽x86􏿽xCC􏿽x8D􏿽xCC􏿽xB5􏿽xCC􏿽xA7􏿽xCD􏿽xA0􏿽xCD􏿽x98􏿽xCD􏿽x96􏿽xCD􏿽x95􏿽xCD􏿽x87􏿽xCC􏿽xA6􏿽xCC􏿽x97􏿽xCD􏿽x8E􏿽xCC􏿽xA5􏿽xCC􏿽xB0􏿽xCD􏿽x87􏿽xCD􏿽x94􏿽xCD􏿽x88
􏿽xCC􏿽x8F􏿽xCC􏿽x87􏿽xCC􏿽x90􏿽xCD􏿽xA5􏿽xCC􏿽x90􏿽xCD􏿽xA3􏿽xCC􏿽x83􏿽xCD􏿽x8A􏿽xCD􏿽xA4􏿽xCD􏿽x9B􏿽xCD􏿽x92􏿽xCC􏿽x83􏿽xCD􏿽x90􏿽xCD􏿽x9B􏿽xCD􏿽x82􏿽xCD􏿽xAF􏿽xCC􏿽x92􏿽xCC􏿽x92􏿽xCC􏿽x94􏿽xCC􏿽x9B􏿽xCD􏿽x9C􏿽xCC􏿽xB5􏿽xCC􏿽x9B􏿽xCC􏿽x9C􏿽xCC􏿽xBA􏿽xCD􏿽x89􏿽xCC􏿽xA9􏿽xCD􏿽x87i􏿽xCC􏿽x81􏿽xCC􏿽x92􏿽xCD􏿽xAE􏿽xCD􏿽xA5􏿽xCD􏿽x8F􏿽xCD􏿽x98􏿽xCC􏿽xB3􏿽xCC􏿽xA4􏿽xCC􏿽xA0􏿽xCC􏿽x9D􏿽xCC􏿽xB0􏿽xCC􏿽xA0􏿽xCC􏿽xA9􏿽xCD􏿽x9A􏿽xCC􏿽x98􏿽xCC􏿽x9C􏿽xCC􏿽xA5f􏿽xCD􏿽xA7􏿽xCC􏿽x9A􏿽xCC􏿽x80􏿽xCC􏿽x9A􏿽xCD􏿽x82􏿽xCD􏿽x8B􏿽xCD􏿽xA3􏿽xCD􏿽x9E􏿽xCD􏿽xA0􏿽xCC􏿽xA7􏿽xCD􏿽x89􏿽xCC􏿽x97􏿽xCC􏿽xAC􏿽xCC􏿽xA0
15:57 rindolf left
notviki 􏿽xCC􏿽x90􏿽xCD􏿽x8C􏿽xCD􏿽xA6􏿽xCC􏿽xBD􏿽xCD􏿽x91􏿽xCD􏿽x8A􏿽xCD􏿽x83􏿽xCD􏿽xA6􏿽xCC􏿽x9A􏿽xCD􏿽xA5􏿽xCD􏿽xA3􏿽xCD􏿽x97􏿽xCD􏿽x92􏿽xCC􏿽xBE􏿽xCC􏿽x80􏿽xCC􏿽x85􏿽xCC􏿽x82􏿽xCC􏿽xB8􏿽xCC􏿽xA2􏿽xCC􏿽x9F􏿽xCC􏿽x97􏿽xCD􏿽x95􏿽xCD􏿽x8D􏿽xCD􏿽x88􏿽xCC􏿽xA4􏿽xCC􏿽xB0s􏿽xCD􏿽xAA􏿽xCD􏿽xAE􏿽xCD􏿽xA8􏿽xCC􏿽x8E􏿽xCD􏿽x90􏿽xCC􏿽x82􏿽xCC􏿽xBD􏿽xCC􏿽x9A􏿽xCC􏿽xBF􏿽xCC􏿽x88􏿽xCC􏿽xB4􏿽xCD􏿽x9F􏿽xCC􏿽xA7􏿽xCD􏿽x9F􏿽xCD􏿽x88􏿽xCC􏿽xB0􏿽xCC􏿽xA0􏿽xCC􏿽x9E􏿽xCC􏿽xAF􏿽xCC􏿽x9E􏿽xCD􏿽x99􏿽xCD􏿽x95􏿽xCC􏿽xA9􏿽xCC􏿽xA4􏿽xCC􏿽xB3􏿽xCD􏿽x89􏿽xCD􏿽x88􏿽xCC􏿽x99􏿽xCC􏿽x9E􏿽xCD􏿽x8D􏿽xCC􏿽xAE􏿽xCC􏿽x96􏿽xCC􏿽x9Fo􏿽xCC􏿽xBE􏿽xCD􏿽xA7􏿽xCD􏿽x82􏿽xCD􏿽xAA􏿽xCC􏿽x8B􏿽xCC􏿽x89􏿽xCD􏿽x83􏿽xCD􏿽x8F􏿽xCD􏿽x81􏿽xCC􏿽x95􏿽xCC􏿽x9E􏿽xCC􏿽x9E􏿽xCC􏿽xBC􏿽xCC􏿽xA9􏿽xCC􏿽x99􏿽xCC􏿽xADm􏿽xCD􏿽x8A􏿽xCD􏿽xA7􏿽xCD􏿽x84􏿽xCD􏿽xA6􏿽xCD􏿽x8B􏿽xCC􏿽x93􏿽xCC􏿽x82􏿽xCD􏿽xA6􏿽xCC􏿽x86􏿽xCD􏿽x8B􏿽xCD􏿽xAE􏿽xCC􏿽x82􏿽xCD􏿽xA7􏿽xCC􏿽xB8􏿽xCC􏿽xB7􏿽xCD􏿽x81􏿽xCC􏿽xB1􏿽xCD􏿽x94􏿽xCD􏿽x8D􏿽xCC􏿽xAB􏿽xCC􏿽x9E􏿽xCC􏿽x9F􏿽xCC􏿽xA5􏿽xCC􏿽xA4􏿽xCD􏿽x89􏿽xCC􏿽xADe􏿽xCD􏿽x86􏿽xCD􏿽xA5􏿽xCD􏿽xA7􏿽xCD􏿽x8B􏿽xCC􏿽x9A􏿽xCC􏿽x80􏿽xCD􏿽xA8􏿽xCD􏿽x91􏿽xCD􏿽x9B􏿽xCD􏿽xAC􏿽xCD􏿽x91􏿽xCC􏿽xB7􏿽xCC􏿽xA1􏿽xCC􏿽xA1􏿽xCC􏿽xBB􏿽xCD􏿽x88􏿽xCC􏿽xB1􏿽xCC􏿽x96􏿽xCD􏿽x9A􏿽xCC􏿽x9C􏿽xCD􏿽x88􏿽xCC􏿽x98􏿽xCD􏿽x87􏿽xCC􏿽xBB􏿽xCC􏿽xA4􏿽xCD􏿽x88t􏿽xCC􏿽x88􏿽xCC􏿽xBD􏿽xCD􏿽xA7􏿽xCC􏿽x87􏿽xCC􏿽x81􏿽xCC􏿽x88􏿽xCD􏿽x91􏿽xCC􏿽x87􏿽xCD􏿽x8B􏿽xCD􏿽xAB􏿽xCD􏿽x84􏿽xCC􏿽x92􏿽xCD􏿽xA8􏿽xCD􏿽xAD􏿽xCC􏿽xA7􏿽xCD􏿽xA0􏿽xCD􏿽x80􏿽xCD􏿽x87􏿽xCC􏿽x98􏿽xCC􏿽x9D􏿽xCC􏿽xAE􏿽xCC􏿽xB0􏿽xCC􏿽xB2􏿽xCD􏿽x95􏿽xCC􏿽xAB􏿽xCD􏿽x96􏿽xCC􏿽x97h􏿽xCC􏿽x8B􏿽xCC􏿽xBE􏿽xCD􏿽xA9􏿽xCC􏿽x89􏿽xCC􏿽x8B􏿽xCC􏿽x9A􏿽xCC􏿽x8C􏿽xCC􏿽x91􏿽xCC􏿽x85􏿽xCD􏿽x9B􏿽xCC􏿽xA7􏿽xCD􏿽x9F􏿽xCC􏿽x9B􏿽xD2􏿽x89􏿽xCC􏿽xA2􏿽xCC􏿽xB2􏿽xCC􏿽xB0􏿽xCD􏿽x96􏿽xCC􏿽xBA􏿽xCC􏿽x9D􏿽xCC􏿽xA3􏿽xCC􏿽xBA􏿽xCC􏿽xAE􏿽xCD􏿽x8E􏿽xCC􏿽xBC􏿽xCD􏿽x93􏿽xCD􏿽x96􏿽xCC􏿽xB3􏿽xCC􏿽x98􏿽xCD􏿽x89􏿽xCC􏿽x97􏿽xCD􏿽x94i􏿽xCD􏿽xA5􏿽xCC􏿽x84􏿽xCD􏿽xA7􏿽xCD􏿽x83􏿽xCC􏿽x94􏿽xCC􏿽x86􏿽xCC􏿽x8C􏿽xCC􏿽x82􏿽xCD􏿽x84􏿽xCD􏿽xA3􏿽xCD􏿽x97􏿽xCC􏿽x8F􏿽xCD􏿽x8C􏿽xCC􏿽x92􏿽xCC􏿽x9A􏿽xCC􏿽x94􏿽xCC􏿽x8D 15:57
􏿽xCD􏿽xA2􏿽xCD􏿽x9E􏿽xCC􏿽xB7􏿽xCD􏿽x9D􏿽xCD􏿽x85􏿽xCD􏿽x99􏿽xCC􏿽x9F􏿽xCC􏿽x9F􏿽xCC􏿽x96􏿽xCC􏿽x9En􏿽xCC􏿽x80􏿽xCC􏿽x8B􏿽xCD􏿽x8A􏿽xCD􏿽x92􏿽xCC􏿽x8F􏿽xCC􏿽x80􏿽xCD􏿽x80􏿽xCC􏿽xB6􏿽xCD􏿽x9E􏿽xD2􏿽x89􏿽xCC􏿽xA3􏿽xCC􏿽x97􏿽xCC􏿽xA6􏿽xCC􏿽xB1􏿽xCD􏿽x96􏿽xCC􏿽x9C􏿽xCD􏿽x9A􏿽xCD􏿽x89􏿽xCC􏿽xB3􏿽xCD􏿽x85g􏿽xCD􏿽xA5􏿽xCC􏿽x93􏿽xCD􏿽x8A􏿽xCD􏿽x97􏿽xCC􏿽x8D􏿽xCC􏿽x80􏿽xCC􏿽x8B􏿽xD2􏿽x89􏿽xCD􏿽xA2􏿽xCD􏿽x81􏿽xCC􏿽xB8􏿽xCC􏿽xB0􏿽xCC􏿽x9E􏿽xCC􏿽x97􏿽xCD􏿽x87􏿽xCC􏿽xB0
􏿽xCD􏿽x8A􏿽xCC􏿽x8C􏿽xCC􏿽xBF􏿽xCC􏿽x8D􏿽xCD􏿽x9B􏿽xCD􏿽x90􏿽xCD􏿽x97􏿽xCD􏿽xA3􏿽xCD􏿽x90􏿽xCD􏿽xAD􏿽xCD􏿽xA1􏿽xCD􏿽x9C􏿽xCD􏿽x9D􏿽xCC􏿽xA8􏿽xCD􏿽xA0􏿽xCC􏿽xB9􏿽xCC􏿽xAA􏿽xCC􏿽xB0􏿽xCC􏿽x99􏿽xCC􏿽xA3􏿽xCC􏿽x99􏿽xCC􏿽x9E􏿽xCD􏿽x95􏿽xCC􏿽xB1􏿽xCC􏿽xB3􏿽xCC􏿽xABh􏿽xCC􏿽x92􏿽xCD􏿽xAD􏿽xCD􏿽xAA􏿽xCC􏿽x90􏿽xCC􏿽xBD􏿽xCD􏿽x82􏿽xCD􏿽x9B􏿽xCC􏿽x85􏿽xCC􏿽x94􏿽xCD􏿽x84􏿽xCD􏿽x8C􏿽xCD􏿽xA7􏿽xCC􏿽x95􏿽xCC􏿽x96􏿽xCC􏿽xAF􏿽xCC􏿽x98􏿽xCC􏿽x9F􏿽xCD􏿽x88􏿽xCD􏿽x99􏿽xCC􏿽xA0􏿽xCD􏿽x93􏿽xCC􏿽xAB􏿽xCC􏿽xB0􏿽xCD􏿽x94a􏿽xCD􏿽xAF􏿽xCD􏿽x91􏿽xCD􏿽xAC􏿽xCC􏿽x91􏿽xCC􏿽x89􏿽xCD􏿽x9B􏿽xCC􏿽x8C􏿽xCC􏿽x8C􏿽xCC􏿽x8F􏿽xCD􏿽x92􏿽xCD􏿽xA7􏿽xCD􏿽x9B􏿽xCC􏿽xA1􏿽xCD􏿽x80􏿽xCC􏿽xB9􏿽xCC􏿽x99􏿽xCD􏿽x88􏿽xCC􏿽xA3􏿽xCC􏿽xAF􏿽xCC􏿽xBC􏿽xCC􏿽x9F􏿽xCC􏿽xBA􏿽xCC􏿽x9C􏿽xCC􏿽xA9􏿽xCC􏿽x9F􏿽xCC􏿽xB1􏿽xCD􏿽x85􏿽xCC􏿽xB0p􏿽xCC􏿽x87􏿽xCC􏿽x82􏿽xCC􏿽x94􏿽xCD􏿽x90􏿽xCC􏿽x8F􏿽xCD􏿽x8C􏿽xCD􏿽xA5􏿽xCD􏿽xAE􏿽xCD􏿽x82􏿽xCD􏿽x9C􏿽xCD􏿽x80􏿽xCD􏿽xA1􏿽xCC􏿽x9D􏿽xCC􏿽xBC􏿽xCC􏿽xAC􏿽xCC􏿽x9C􏿽xCC􏿽x96p􏿽xCD􏿽x83􏿽xCD􏿽x83􏿽xCD􏿽xA5􏿽xCC􏿽xBF􏿽xCD􏿽xAA􏿽xCD􏿽x84􏿽xCC􏿽x84􏿽xCC􏿽xBD􏿽xCD􏿽x82􏿽xCD􏿽x9E􏿽xCC􏿽xA1􏿽xCC􏿽xB7􏿽xCD􏿽xA0􏿽xCC􏿽xAD􏿽xCC􏿽xAB􏿽xCC􏿽x98􏿽xCD􏿽x8D􏿽xCC􏿽xA4􏿽xCC􏿽xA6􏿽xCD􏿽x96􏿽xCC􏿽xAEe􏿽xCC􏿽x90􏿽xCD􏿽xA8􏿽xCC􏿽x86􏿽xCD􏿽xA6􏿽xCC􏿽x89􏿽xCC􏿽x93􏿽xCD􏿽xA9􏿽xCC􏿽x8A􏿽xCC􏿽x93􏿽xCD􏿽x82􏿽xCD􏿽x9B􏿽xCC􏿽x9A􏿽xCC􏿽xBF􏿽xCD􏿽xAE􏿽xCD􏿽xA6􏿽xCC􏿽xA2􏿽xCD􏿽x9E􏿽xCC􏿽xA8􏿽xCD􏿽x98􏿽xCC􏿽xB3􏿽xCC􏿽x9E􏿽xCD􏿽x8E􏿽xCC􏿽x96􏿽xCC􏿽xAA􏿽xCC􏿽x97􏿽xCC􏿽xAB􏿽xCD􏿽x96􏿽xCD􏿽x8E􏿽xCC􏿽xAC􏿽xCC􏿽x9F􏿽xCC􏿽xB3􏿽xCD􏿽x94􏿽xCC􏿽xAD􏿽xCD􏿽x93􏿽xCC􏿽x9E􏿽xCD􏿽x94n􏿽xCC􏿽x8B􏿽xCC􏿽x80􏿽xCC􏿽xBD􏿽xCC􏿽x8A􏿽xCD􏿽xAE􏿽xCC􏿽x88􏿽xCD􏿽xA9􏿽xCD􏿽x81􏿽xCC􏿽x95􏿽xCC􏿽xB8􏿽xCC􏿽xBA􏿽xCD􏿽x99􏿽xCC􏿽xB0􏿽xCC􏿽xBC􏿽xCC􏿽xB2􏿽xCD􏿽x8Ee􏿽xCD􏿽x84􏿽xCD􏿽xA8􏿽xCD􏿽x8B􏿽xCC􏿽x94􏿽xCC􏿽x84􏿽xCD􏿽x91􏿽xCD􏿽xA7􏿽xCD􏿽x8B􏿽xCD􏿽x8A􏿽xCD􏿽xA5􏿽xCC􏿽x80􏿽xCC􏿽x8B􏿽xCC􏿽x94􏿽xCD􏿽xAE􏿽xCC􏿽x81􏿽xCD􏿽xA1􏿽xCC􏿽xB4􏿽xCD􏿽xA0􏿽xCD􏿽x93􏿽xCC􏿽xB3􏿽xCC􏿽xA5􏿽xCC􏿽xA5􏿽xCD􏿽x87􏿽xCC􏿽xB2􏿽xCC􏿽xB3􏿽xCC􏿽x99􏿽xCC􏿽xA9􏿽xCC􏿽x99dͦ̔̓͆̍͢
􏿽xCD􏿽xAB􏿽xCC􏿽x85􏿽xCD􏿽x90􏿽xCC􏿽x8F􏿽xCC􏿽x95􏿽xCC􏿽xB4􏿽xCC􏿽xB2􏿽xCD􏿽x85􏿽xCC􏿽xAB􏿽xCC􏿽xAA􏿽xCC􏿽xA4􏿽xCC􏿽xAF􏿽xCC􏿽xB1􏿽xCC􏿽x9E􏿽xCC􏿽xA0􏿽xCC􏿽xB3􏿽xCC􏿽x9F􏿽xCD􏿽x85t􏿽xCC􏿽x8F􏿽xCC􏿽x8F􏿽xCC􏿽x83􏿽xCC􏿽x81􏿽xCC􏿽x93􏿽xCD􏿽xA7􏿽xCD􏿽x83􏿽xCD􏿽x8A􏿽xCC􏿽x88􏿽xCC􏿽x8D􏿽xCC􏿽x92􏿽xCD􏿽x91􏿽xCC􏿽x80􏿽xCD􏿽xAE􏿽xCD􏿽xAE􏿽xCD􏿽x82􏿽xCC􏿽x8F􏿽xCC􏿽x89􏿽xCD􏿽xA0􏿽xCC􏿽xB5􏿽xCD􏿽x9F􏿽xCC􏿽xB5􏿽xCD􏿽x8F􏿽xCC􏿽xAA􏿽xCC􏿽xA0􏿽xCD􏿽x96􏿽xCC􏿽xA5􏿽xCC􏿽xA0􏿽xCC􏿽x9Co􏿽xCC􏿽x94􏿽xCC􏿽x88􏿽xCC􏿽xBE􏿽xCD􏿽xA9􏿽xCD􏿽xA6􏿽xCD􏿽x84􏿽xCD􏿽xA3􏿽xCD􏿽xA9􏿽xCD􏿽xAC􏿽xCD􏿽x8A􏿽xCC􏿽x8B􏿽xCC􏿽x87􏿽xCC􏿽x91􏿽xCD􏿽x84􏿽xCC􏿽xB6􏿽xCD􏿽x81􏿽xCC􏿽xA7􏿽xCD􏿽x98􏿽xCC􏿽xB7􏿽xCC􏿽xA3􏿽xCC􏿽x99􏿽xCD􏿽x99􏿽xCC􏿽xA9􏿽xCD􏿽x8E􏿽xCC􏿽xA6􏿽xCD􏿽x93􏿽xCC􏿽xAF􏿽xCC􏿽xBB􏿽xCC􏿽x99 􏿽xCC􏿽xBE􏿽xCD􏿽xA6􏿽xCD􏿽xA7􏿽xCD􏿽x92􏿽xCC􏿽x8F􏿽xCD􏿽x9D􏿽xCC􏿽xA7􏿽xCC􏿽xAC􏿽xCC􏿽x9D􏿽xCC􏿽xA6􏿽xCC􏿽xAE􏿽xCC􏿽x97􏿽xCD􏿽x95􏿽xCC􏿽xB3􏿽xCD􏿽x96􏿽xCC􏿽xB3􏿽xCC􏿽x97􏿽xCD􏿽x87􏿽xCC􏿽xA4􏿽xCC􏿽xB2􏿽xCD􏿽x89i􏿽xCD􏿽x86􏿽xCD􏿽x91􏿽xCD􏿽xAC􏿽xCD􏿽xA3􏿽xCC􏿽x86􏿽xCC􏿽x83􏿽xCC􏿽x93􏿽xCD􏿽xA8􏿽xCC􏿽x8F􏿽xCD􏿽x8B􏿽xCD􏿽x8A􏿽xCD􏿽xA4􏿽xCC􏿽x8D􏿽xD2􏿽x89􏿽xCC􏿽xA1􏿽xCD􏿽x81􏿽xCD􏿽x9E􏿽xCC􏿽xA4􏿽xCC􏿽x9C􏿽xCC􏿽xA0􏿽xCD􏿽x96􏿽xCC􏿽xA4􏿽xCD􏿽x99􏿽xCC􏿽xB1􏿽xCC􏿽x96􏿽xCC􏿽xA9t􏿽xCD􏿽xAB􏿽xCD􏿽xA4􏿽xCD􏿽xA3􏿽xCD􏿽x92􏿽xCC􏿽x81􏿽xCC􏿽x9B􏿽xCD􏿽x81􏿽xCD􏿽x9E􏿽xCD􏿽x93􏿽xCC􏿽xAE􏿽xCC􏿽xBC􏿽xCC􏿽xAA􏿽xCD􏿽x93􏿽xCC􏿽xB9􏿽xCD􏿽x95􏿽xCC􏿽xA3􏿽xCC􏿽xB0􏿽xCC􏿽xA0􏿽xCC􏿽xA5􏿽xCD􏿽x8D􏿽xCC􏿽xAE􏿽xCD􏿽x8E.􏿽xCC􏿽x8D􏿽xCC􏿽x8A􏿽xCC􏿽x94􏿽xCD􏿽xAD􏿽xCD􏿽xAC􏿽xCC􏿽x93􏿽xCD􏿽x8A􏿽xCD􏿽x81􏿽xCC􏿽xA2􏿽xCC􏿽xA5􏿽xCC􏿽xA4􏿽xCC􏿽xAA􏿽xCD􏿽x95􏿽xCD􏿽x88􏿽xCC􏿽xA4􏿽xCC􏿽xAB􏿽xCC􏿽x99􏿽xCC􏿽xAF􏿽xCC􏿽xB3
oops
Weird that it ended up on multiple lines and WeeChat didn't warn me about pasting multiple lines 15:58
pmurias notviki: re Perl 6 port of mojolicious aren't they waiting for Perl 6 to meet their definition of ready?
notviki pmurias: "they" is who? Mojolicious team? 15:59
[Coke] pmurias: no, they have no plan to port.
that's my understanding based on my last convo. 16:00
(and I can't blame them. it's a ton of work for no benefit on their part.)
notviki pmurias: after sri rage-quit this channel their involvement has been restricted to making snide comments about Perl 6 in their channel
well.. and commit messages too, I guess: github.com/kraih/mojo/commit/19cdf...60182ef1ef 16:01
16:01 holli joined, mcmillhj joined
mspo wow that has really messed up my term 16:02
irssi doesn't know how to undraw those characters
raschip Which terminal are you using?
mspo terminal.app -> netbsd -> screen -> irssi 16:03
/clear fixes it up :) 16:04
gfldex our propaganda seams to be effective. My blogpost from today got twice the hits then the 2nd most popular and the day got a few hours to go.
raschip link
gfldex it's on pl6anet.org/ 16:05
16:06 mcmillhj left
ugexe gfldex: I have a report of Test::Mock failing in the same way. It seems to be a failure of TAP::Harness thats included with rakudo because it does not happen if you use the `--/tap-harness` flag (which will run tests with prove) 16:07
16:07 alimon1 left, alimon1 joined 16:08 thayne left
raschip say "the 2nd most popular".WHAT 16:08
16:09 infrabyte joined, rindolf joined
dalek c: de3774a | gfldex++ | .travis.yml:
disable TAP::Harness for now
16:10
ugexe gfldex: also they pass with TAP::Harness on 2016.09 (I dont have a 10, 11, or 12 to test with, just 09 and blead)
raschip gfldex: most popular by which measure?
gfldex raschip: the 2nd most popular day is Dec 27
16:10 mcmillhj joined
raschip I see, now I understand what you said 16:10
gfldex++ 16:11
16:17 perlpilot left
kybr say i wanted to implement some subset of APL in perl6 (just as a learning exercise). it looks like there's an APL char set in Unicode. i could find those manually, but i wonder... how do we search unicode by type sets? maybe that's the wrong vocabulary. is there a character class for APL characters? 16:17
unicode.mayastudios.com/ <--- i want something like this 16:18
mspo I think all of the characters are there but I didn't think there was a unicode "APL" set specifically?
since it just reuses a lot of regular symbols
16:19 vytas joined
AlexDaniel u: APL 16:19
unicodable6 AlexDaniel, U+2337 APL FUNCTIONAL SYMBOL SQUISH QUAD [So] (⌷)
AlexDaniel, U+2336 APL FUNCTIONAL SYMBOL I-BEAM [So] (⌶)
AlexDaniel, U+2338 APL FUNCTIONAL SYMBOL QUAD EQUAL [So] (⌸)
AlexDaniel, gist.github.com/bce17f194fbfb15387...c8395f7d73
kybr right, but can we get a list by saying somethign like Unicode.aplSymbols?
16:19 infrabyte left 16:20 perlpilot joined
raschip kybr: No we whre discussing this a little before you came, you have to go trough each charachter. 16:20
kybr what was that? that "u: APL" thing? is that a bot?
raschip And grep for the property.
kybr u: APL FUNCTIONAL SYMBOL
unicodable6 kybr, U+2336 APL FUNCTIONAL SYMBOL I-BEAM [So] (⌶)
kybr, U+2337 APL FUNCTIONAL SYMBOL SQUISH QUAD [So] (⌷)
kybr, U+2338 APL FUNCTIONAL SYMBOL QUAD EQUAL [So] (⌸)
kybr, gist.github.com/43e82097c4077c45e0...bf9c7ff8b3
AlexDaniel kybr: irclog.perlgeek.de/perl6/2017-01-05#i_13861066
mspo wow how about that 16:21
kybr okay. so that's cool. what's the code inside unicodable6?
notviki .tell [Coke] what about the "Notes from Synopsis .... " paragraph on perl6.org/specification/ ? Seems dated. Even mentions "6.0.0" 16:22
yoleaux notviki: I'll pass your message to [Coke].
AlexDaniel kybr: github.com/perl6/whateverable/blob...p6#L97-L99
kybr .say for (0..0x1FFFF).grep: { .uniprop eq ‘Pc’ } # NICE!
AlexDaniel m: .say for (0..0x1FFFF).grep: { .uniname.contains(‘APL’) } 16:23
camelia rakudo-moar 7ba9f8: OUTPUT«9014␤9015␤9016␤9017␤9018␤9019␤9020␤9021␤9022␤9023␤9024␤9025␤9026␤9027␤9028␤9029␤9030␤9031␤9032␤9033␤9034␤9035␤9036␤9037␤9038␤9039␤9040␤9041␤9042␤9043␤9044␤9045␤9046␤9047␤9048␤9049␤9050…»
AlexDaniel m: .chr.say for (0..0x1FFFF).grep: { .uniname.contains(‘APL’) }
camelia rakudo-moar 7ba9f8: OUTPUT«⌶␤⌷␤⌸␤⌹␤⌺␤⌻␤⌼␤⌽␤⌾␤⌿␤⍀␤⍁␤⍂␤⍃␤⍄␤⍅␤⍆␤⍇␤⍈␤⍉␤⍊␤⍋␤⍌␤⍍␤⍎␤⍏␤⍐␤⍑␤⍒␤⍓␤⍔␤⍕␤⍖␤⍗␤⍘␤⍙␤⍚␤⍛␤⍜␤⍝␤⍞␤⍟␤⍠…»
AlexDaniel m: .chr.say for (0..0x10FFFF).grep: { .uniname.contains(‘APL’) }
camelia rakudo-moar 7ba9f8: OUTPUT«⌶␤⌷␤⌸␤⌹␤⌺␤⌻␤⌼␤⌽␤⌾␤⌿␤⍀␤⍁␤⍂␤⍃␤⍄␤⍅␤⍆␤⍇␤⍈␤⍉␤⍊␤⍋␤⍌␤⍍␤⍎␤⍏␤⍐␤⍑␤⍒␤⍓␤⍔␤⍕␤⍖␤⍗␤⍘␤⍙␤⍚␤⍛␤⍜␤⍝␤⍞␤⍟␤⍠…»
dalek href="https://perl6.org:">perl6.org: cb9b554 | (Zoffix Znet)++ | source/specification/index.html:
Update design page

  - Mark synopses as historic (Fixes #65)
  - Link to 6.c-errata as spec and use master as speculative (Fixes #67)
  - Remove STD (Fixes #66)
16:24
kybr this is the sexiest language ever.
notviki It's in the name! 6.c ;) 16:25
AlexDaniel kybr: please note that it simply goes through the whole unicode range (0..0x10FFFF), which is probably not something you want to do frequently 16:26
depends on your needs, of course 16:27
kybr right. i'm thinking that i do that once and make a character class. 16:28
AlexDaniel personally I'd just take that list and hardcode it 16:29
kybr would that be better than using it as a range? it looks like they are in order: 9014..9082. 16:30
except for the last one: 9109. damn. 16:31
16:31 tipdbmp joined
notviki m: say so "⍄" ~~ /<[\x[9014]..\x[9082]\x[9109]>/ 16:32
camelia rakudo-moar 7ba9f8: OUTPUT«5===SORRY!5===␤Unrecognized regex metacharacter < (must be quoted to match literally)␤at <tmp>:1␤------> 3y so "⍄" ~~ /<[\x[9014]..\x[9082]\x[91097⏏5]>/␤Unrecognized regex metacharacter [ (must be quoted to match literally)␤at <tmp>:1…»
notviki m: say so "⍄" ~~ /<[\x[9014]..\x[9082]\x[9109]]>/
camelia rakudo-moar 7ba9f8: OUTPUT«False␤»
notviki ah right
AlexDaniel m: ‘hello ⍈ world’ ~~ / (.) <?{ $0.uniname.starts-with(‘APL FUNC’) }> / 16:33
camelia rakudo-moar 7ba9f8: OUTPUT«Cannot resolve caller uniname(Match); none of these signatures match:␤ (Str:D $str)␤ (Int:D $code)␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel m: ‘hello ⍈ world’ ~~ / (.) <?{ $0.Str.uniname.starts-with(‘APL FUNC’) }> /
camelia ( no output )
notviki m: .base(16).say for 9014, 9082, 9109
camelia rakudo-moar 7ba9f8: OUTPUT«2336␤237A␤2395␤»
16:33 rindolf left
notviki m: say so "⍄" ~~ /<[\x[2336]..\x[237A]\x[2395]]>/ 16:33
camelia rakudo-moar 7ba9f8: OUTPUT«True␤»
notviki \o/
16:33 brrt joined
raschip m: my @apl = gather for (0..0x10FFFF) {take if .uniname.contains(‘APL’) }; say @apl.chr 16:33
camelia rakudo-moar 7ba9f8: OUTPUT«take without parameters doesn't make sense␤ in code at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel m: say ‘hello ⍈ world’ ~~ / (.) <?{ $0.Str.uniname.starts-with(‘APL FUNC’) }> /
camelia rakudo-moar 7ba9f8: OUTPUT«「⍈」␤ 0 => 「⍈」␤»
AlexDaniel right
raschip m: my @apl = gather for (0..0x10FFFF) {take $_ if .uniname.contains(‘APL’) }; say @apl.chr
camelia rakudo-moar 7ba9f8: OUTPUT«O␤»
AlexDaniel m: my @apl = gather for (0..0x10FFFF) {take $_ if .uniname.contains(‘APL’) }; say @apl».chr 16:34
camelia rakudo-moar 7ba9f8: OUTPUT«[⌶ ⌷ ⌸ ⌹ ⌺ ⌻ ⌼ ⌽ ⌾ ⌿ ⍀ ⍁ ⍂ ⍃ ⍄ ⍅ ⍆ ⍇ ⍈ ⍉ ⍊ ⍋ ⍌ ⍍ ⍎ ⍏ ⍐ ⍑ ⍒ ⍓ ⍔ ⍕ ⍖ ⍗ ⍘ ⍙ ⍚ ⍛ ⍜ ⍝ ⍞ ⍟ ⍠ ⍡ ⍢ ⍣ ⍤ ⍥ ⍦ ⍧ ⍨ ⍩ ⍪ ⍫ ⍬ ⍭ ⍮ ⍯ ⍰ ⍱ ⍲ ⍳ ⍴ ⍵…»
kybr m: my @apl = gather for (0..0x10FFFF) {take $_ if
camelia rakudo-moar 7ba9f8: OUTPUT«5===SORRY!5===␤Whitespace required after keyword 'if'␤at <tmp>:1␤------> 3l = gather for (0..0x10FFFF) {take $_ if7⏏5<EOL>␤Whitespace required after keyword 'if'␤at <tmp>:1␤------> 3l = gather for (0..0x10FFFF) {take $_ if7⏏5<EOL…»
kybr crashes his bike doing a trickd 16:35
raschip m: my @apl = gather for (0..0x10FFFF) {take $_ if .uniname.contains(‘APL’) }; say +@apl
camelia rakudo-moar 7ba9f8: OUTPUT«79␤»
kybr i think that should be just 0x1FFFF, right? how big is unicode?
notviki m: subset APL of Str where {.ords.all == any(|(9014..9082), 9109)}; say "⌼" ~~ APL
camelia rakudo-moar 7ba9f8: OUTPUT«True␤»
AlexDaniel 10FFFF is technically correct
notviki m: subset APL of Str where {.ords.all == any(|(9014..9082), 9109)}; say "⌼⌼⌼⌼" ~~ APL
camelia rakudo-moar 7ba9f8: OUTPUT«True␤»
notviki m: subset APL of Str where {.ords.all == any(|(9014..9082), 9109)}; say "⌼⌼x⌼⌼" ~~ APL
camelia rakudo-moar 7ba9f8: OUTPUT«False␤»
notviki neat
AlexDaniel there are not many useful symbols in 1FFFF..10FFFF range 16:36
raschip For now
kybr notviki: you have the coolest way to say it
.ords.all 16:37
ugexe gfldex: moar-2016.12 runs the tests OK. so something between moar-2016.12 and moar-blead seems to have broken TAP::Harness
16:37 kyan joined
AlexDaniel u: { $_ > 0x1FFFF and not .uniname.starts-with(‘<’) } 16:37
unicodable6 AlexDaniel, U+2F800 CJK COMPATIBILITY IDEOGRAPH-2F800 [Lo] (丽)
AlexDaniel, U+2F801 CJK COMPATIBILITY IDEOGRAPH-2F801 [Lo] (丸)
AlexDaniel, U+2F802 CJK COMPATIBILITY IDEOGRAPH-2F802 [Lo] (乁)
AlexDaniel, gist.github.com/a098b4769bbe8595e2...33fe49c1bf
AlexDaniel ↑ that's the list
kybr that's all the "real" stuff? 16:38
AlexDaniel I think so 16:39
16:39 troys joined
notviki m: my \偺 = 42; say 偺 16:40
camelia rakudo-moar 7ba9f8: OUTPUT«42␤» 16:41
notviki m: sub 丽丸乁 { &?ROUTINE.name.uninames.say }()
camelia rakudo-moar 7ba9f8: OUTPUT«(<CJK Ideograph> <CJK Ideograph> <CJK Ideograph>)␤»
notviki hehe
16:42 rindolf joined, perlpilot left
notviki wonders why camelia's uninames have '<' yet on unicodable the filter was 'not starts with <' 16:42
kybr my chinese students would flip out if i showed them that.
tipdbmp How can I create a type alias say for uint8 and call it u8 (I tried: subset u8 of uint8; my u8 $foo = 255; # but got a type error) or for an array: subset Foos of Array[Foo]; my Foos $foos = Foos.new(...); # but got an error (cannot create instance of type)? 16:43
jnthn constant u8 = uint8 16:44
AlexDaniel m: say ‘丸‘.uniname
camelia rakudo-moar 7ba9f8: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in curly single quotes; couldn't find final "’" ␤at <tmp>:1␤------> 3say ‘丸‘.uniname7⏏5<EOL>␤ expecting any of:␤ argument list␤ curly singl…»
AlexDaniel m: say ‘丸’.uniname
camelia rakudo-moar 7ba9f8: OUTPUT«<CJK Ideograph>␤»
notviki m: my &說 = &say; sub 這太棒了 { 說 "這太棒了!" }; 這太棒了
camelia rakudo-moar 7ba9f8: OUTPUT«這太棒了!␤»
tipdbmp I see, thanks. 16:45
notviki ehehe
AlexDaniel notviki: we can bisect by that…
16:45 bwisti left
gfldex m: constant u8 = uint8; say u8.WHAT; 16:45
camelia rakudo-moar 7ba9f8: OUTPUT«(uint8)␤»
AlexDaniel b: old=HEAD~300 say ‘丸’.uniname
bisectable6 AlexDaniel, On both starting points (old=HEAD~300 new=7ba9f84) the exit code is 0 and the output is identical as well
AlexDaniel, Output on both points: <CJK Ideograph>
AlexDaniel b: old=HEAD~700 say ‘丸’.uniname
bisectable6 AlexDaniel, On both starting points (old=HEAD~700 new=7ba9f84) the exit code is 0 and the output is identical as well
AlexDaniel, Output on both points: <CJK Ideograph>
AlexDaniel :|
notviki m: "丽".ords».base(16).say
camelia rakudo-moar 7ba9f8: OUTPUT«(4E3D)␤»
AlexDaniel commit: HEAD~200..HEAD say ‘丸’.uniname 16:46
notviki It gets normalized into something else?
AlexDaniel oh
right
notviki m: say "\x[4E3D]" eq "\x[2F800]"
camelia rakudo-moar 7ba9f8: OUTPUT«True␤»
notviki m: say "\x[4E3D]".uninames, "\x[2F800]".uninames
camelia rakudo-moar 7ba9f8: OUTPUT«(<CJK Ideograph>)(<CJK Ideograph>)␤»
notviki :|
Oh right
AlexDaniel okay then. Unicodable works on numbers basically
m: say 0x4E3D.uninames, 0x2F800.uninames 16:47
notviki m: say 0x2F800 .uninames
camelia rakudo-moar 7ba9f8: OUTPUT«Cannot resolve caller uninames(Int); none of these signatures match:␤ (Str:D $str)␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel m: say 0x4E3D.uniname, 0x2F800.uniname
notviki m: say 0x2F800 .uniname
camelia rakudo-moar 7ba9f8: OUTPUT«<CJK Ideograph>CJK COMPATIBILITY IDEOGRAPH-2F800␤»
rakudo-moar 7ba9f8: OUTPUT«CJK COMPATIBILITY IDEOGRAPH-2F800␤»
notviki yey
16:48 ggoebel left
committable6 AlexDaniel, gist.github.com/f0a4d4c262047342c3...f88795428a 16:48
AlexDaniel
.oO( blame everything on samcv if you don't understand the situation )
16:49
kybr how do we say everything in a subset? 16:52
jnthn I think implementing singleton decomposition could be blamed on me :P
But yes, it's corret we normalize those things, it's part of NFD even
(Which is two steps below NFG) 16:53
AlexDaniel kybr: subset is not exactly a container, so you can't really do it 16:54
notviki doesn't understand the question 16:55
kybr okay. right. got it.
AlexDaniel notviki: having 「subset Even of Int where { $_ %% 2 };」, how to print all Even numbers? 16:56
notviki Riiight... you could only filter 16:57
16:58 bwisti joined
notviki m: Int.Range.say 16:58
camelia rakudo-moar 7ba9f8: OUTPUT«-Inf^..^Inf␤»
notviki heh
m: say (-Inf^..^Inf).is-int
camelia rakudo-moar 7ba9f8: OUTPUT«False␤»
notviki double-heh
16:58 brrt left
AlexDaniel m: subset MyUInt of Int where { $_ > 0 }; say MyUInt.Range 16:59
camelia rakudo-moar 7ba9f8: OUTPUT«-Inf^..^Inf␤»
AlexDaniel :P
that should've been >= but nvm
notviki I'll raise ya
m: say UInt.Range
camelia rakudo-moar 7ba9f8: OUTPUT«0..^Inf␤»
notviki :o
how does it know...
AlexDaniel SourceBaby: UInt.Range
notviki s: UInt, 'Range', \()
SourceBaby notviki, 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␤␤
notviki -_- 17:00
s: UInt, 'Range'
SourceBaby notviki, 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 33␤ in block <unit> at -e line 6␤␤
notviki c'mon robot!
Ah, it's the .^can that's complaining
s: (my UInt $ = 42), 'Range', \() 17:01
SourceBaby notviki, Something's wrong: ␤ERR: Could not find candidate that can do \()␤ in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 29␤ in block <unit> at -e line 6␤␤
notviki weird
17:02 ggoebel joined
notviki Ah, it's cheating! That's how it knows: github.com/rakudo/rakudo/blob/nom/...nt.pm#L186 17:02
AlexDaniel :)
notviki m: subset UInt of Int where * %% 2; say UInt.Range 17:03
camelia rakudo-moar 7ba9f8: OUTPUT«0..^Inf␤»
notviki ha-ha
AlexDaniel wwwwwhhhhat
right…
:|
notviki well, the cheat is checking for .^name (I dunno why)
AlexDaniel subset Blah of Int where * %% 2; say Blah.Range
m: subset Blah of Int where * %% 2; say Blah.Range
camelia rakudo-moar 7ba9f8: OUTPUT«-Inf^..^Inf␤»
17:04 kyan left
notviki m: subset Foo of Int; use nqp; my Int $x; my Foo $y; dd [nqp::istype($x, Foo), nqp::istype($y, Foo) ] 17:04
camelia rakudo-moar 7ba9f8: OUTPUT«[1, 1]␤»
notviki I see.
AlexDaniel notviki: hehe, look 17:05
kybr notviki: i checked out the Java/JVM tests and found what i wanted to know.. how Java interoperability was looking. i can load classes i write, but i can't figure out how to open .jar files.
AlexDaniel m: say Bool.Range
camelia rakudo-moar 7ba9f8: OUTPUT«-Inf^..^Inf␤»
notviki kybr: I've zero knowledge of Java... other than the joke about long names. Maybe try running into psch or bartolin 17:06
m: say so Inf
camelia rakudo-moar 7ba9f8: OUTPUT«True␤»
notviki m: say so NaN
camelia rakudo-moar 7ba9f8: OUTPUT«True␤»
notviki m: say (NaN..NaN).Range 17:07
camelia rakudo-moar 7ba9f8: OUTPUT«No such method 'Range' for invocant of type 'Range'␤ in block <unit> at <tmp> line 1␤␤»
notviki :}
[Coke] notviki: yup, that ¶ should be updated. 17:08
yoleaux 16:22Z <notviki> [Coke]: what about the "Notes from Synopsis .... " paragraph on perl6.org/specification/ ? Seems dated. Even mentions "6.0.0"
17:13 dj_goku left 17:15 troys left 17:16 zakharyas left
SmokeMachine gfldex: your "if" has a if inside... I did post here another version that doesn't... 17:19
17:20 pyrimidine left
SmokeMachine m: role Cond { has &!true = {;}; has &!false = {;}; proto method cond(|) {*}; multi method cond("True") { &!true() }; multi method cond("False") { &!false() }; method if(:&!true, :&!false){ $.cond(?self .gist) } }; (True does Cond).if: :true{say "ok"} :false{say "ko"} 17:20
camelia rakudo-moar 7ba9f8: OUTPUT«ok␤»
17:21 pyrimidine joined
SmokeMachine gfldex: some one on a comment of masak blog sad that ifTrue:ifFalse: is 1 method... 17:21
raschip m: role Cond { has &!true = {;}; has &!false = {;}; proto method cond(|) {*}; multi method cond("True") { &!true() }; multi method cond("False") { &!false() }; method if(:&!true, :&!false){ $.cond(?self .gist) } }; (True does Cond).if: :true{say "so"} :false{say "not" 17:22
camelia rakudo-moar 7ba9f8: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing block␤at <tmp>:1␤------> 3nd).if: :true{say "so"} :false{say "not"7⏏5<EOL>␤ expecting any of:␤ postfix␤ statement end␤ statement modifier␤ statement…»
raschip m: role Cond { has &!true = {;}; has &!false = {;}; proto method cond(|) {*}; multi method cond("True") { &!true() }; multi method cond("False") { &!false() }; method if(:&!true, :&!false){ $.cond(?self .gist) } }; (True does Cond).if: :true{say "so"} :false{say "not"}
camelia rakudo-moar 7ba9f8: OUTPUT«so␤»
raschip Made it more sixy.
SmokeMachine It uses the method dispatch as conditional... 17:23
I tried to make the cond method private but I couldn't... 17:24
raschip Like in the smalltalk example;
gfldex m: my $b = True; my &c = { say 'oi‽' }; my $self = {}; sub _if { $b ?? (c; $self) !! $self }; _if
camelia rakudo-moar 7ba9f8: OUTPUT«oi‽␤»
raschip The if is hidden but is still defined by the syntax.
gfldex m: my $b = False; my &c = { say 'oi‽' }; my $self = {}; sub _if { $b ?? (c; $self) !! $self }; _if 17:25
camelia ( no output )
SmokeMachine gfldex: Brazilian too?
17:25 shayan_ joined 17:26 shayan_ left, pyrimidine left 17:27 perlpilot joined
gfldex SmokeMachine: german 17:29
SmokeMachine gfldex: sorry, I saw the "oi" and thought you were Brazilian... 17:30
raschip He likes Ska, methinks
17:34 shayan_ joined
gfldex it's indeed the british ‚oi‘ I use 17:36
17:36 mcmillhj left
notviki oi bruv! 17:37
gfldex i learned to speak english while playing EVE Online. There was plenty of reason to shout ‚oi‽‘.
raschip oi means the same thing in Cockney and in Portuguese
17:37 mcmillhj joined 17:42 dj_goku joined, dj_goku left, dj_goku joined
[Coke] And americish. 17:42
17:43 mcmillhj left
AlexDaniel we have some “oi‽” in our docs by the way :) 17:43
thanks to… you know :)
17:44 noganex_ left 17:48 rindolf left 17:49 ocbtec joined 17:50 mcmillhj joined 17:54 girafe joined 17:55 mcmillhj left 17:59 nicq20 left 18:01 mcmillhj joined 18:07 cdg joined 18:08 hwu joined, cdg left, cdg joined
hwu p6: say 'test'; 18:09
camelia rakudo-moar 6d28c1: OUTPUT«test␤»
notviki m: q♥test successful♥.say
camelia rakudo-moar 6d28c1: OUTPUT«test successful␤»
18:12 hwu left
notviki Another satisfied customer! 18:14
18:14 hwu joined
notviki m: “test”.say 18:14
camelia rakudo-moar 6d28c1: OUTPUT«test␤»
notviki m: 「测试」.say 18:16
camelia rakudo-moar 6d28c1: OUTPUT«测试␤»
notviki m: q 测试测.say
camelia rakudo-moar 6d28c1: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Alphanumeric character is not allowed as a delimiter␤at <tmp>:1␤------> 3q7⏏5 测试测.say␤»
notviki aww
AlexDaniel aplhanumeric huh 18:17
lp*
18:17 tinita_ is now known as tinita
raschip .u 测试测 18:19
yoleaux No characters found
notviki It's a Ruby bot :P
AlexDaniel u: 测试测
unicodable6 AlexDaniel, U+6D4B <CJK Ideograph> [Lo] (测)
AlexDaniel, U+8BD5 <CJK Ideograph> [Lo] (试)
AlexDaniel, U+6D4B <CJK Ideograph> [Lo] (测)
AlexDaniel and this is a Perl 6 bot :PPP
raschip notviki: Well, YOLO. 18:20
kybr why does the perl6 REPL not '$_ =' each statement? 18:30
timotimo imagine doing .say, then .perl.say because you didn't get the right thing the first time 18:31
you'd end up with "the thing" and then True 18:32
18:34 dj_goku left
kybr thanks. 18:37
18:39 pyrimidine joined
notviki kybr: you can get that by running this in REPL: REPL.^lookup(‘repl-eval’).wrap: -> |c { OUTER::(‘$_’) = callsame; } 18:43
oh, even REPL.^lookup(‘repl-eval’).wrap: -> |c { $_ = callsame; } will saffice 18:45
18:47 mr_ron joined 18:49 LiberalSquash joined, LiberalSquash left
notviki m: Backtrace::Frame.^lookup("is-setting").wrap: -> | { False }; +"a" 18:50
camelia rakudo-moar 6d28c1: OUTPUT«WARNINGS for <tmp>:␤Useless use of "+" in expression "+\"a\"" in sink context (line 1)␤Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5a' (indicated by ⏏)␤ in sub val at SETTING::src/core/allomorphs.…»
notviki ehehe
m: &val.wrap: -> | { "tis not a number, bruh!" }; say +"a"
camelia rakudo-moar 6d28c1: OUTPUT«tis not a number, bruh!␤»
notviki eheeh.
18:51 raschip left 18:56 mcmillhj left, rafsch joined
mr_ron m: class C { multi method f(C:U $:) {say "class method"}; multi method f(C:D $:) {say "object method"}}; C.f; C.new.f 19:01
camelia rakudo-moar 6d28c1: OUTPUT«class method␤object method␤»
notviki m: m: class C { multi method f(::?CLASS:U:) {say "class method"}; multi method f(::?CLASS:D:) {say "object method"}}; C.f; C.new.f 19:03
camelia rakudo-moar 6d28c1: OUTPUT«class method␤object method␤»
mr_ron The technique for class methods is in S12 and shows up occasionally in the docs but I don't see roast tests or clear documentation in the object docs of the technique ...
19:04 mcmillhj joined 19:05 cdg left 19:08 rafsch left 19:12 kalkin- left 19:14 pyrimidine left, dj_goku joined, dj_goku left, dj_goku joined
moritz fwiw there's a proposed addition that would let you write method f(:U:) { } for a class-only method 19:16
notviki cool 19:18
That's the first thing I tried and saw it didn't work :)
19:21 espadrine joined, girafe left 19:22 mcmillhj left, mcmillhj joined
jferrero m: sub l{Date.new($^a).is-leap-year}; say l(2016); say l(2017); 19:25
camelia rakudo-moar 6d28c1: OUTPUT«Cannot resolve caller new(Date: Int); none of these signatures match:␤ (Date $: $year, $month, $day, :&formatter, *%_)␤ (Date $: :$year!, :$month = 1, :$day = 1, :&formatter, *%_)␤ (Date $: Str $date, :&formatter, *%_)␤ (Date $: Dateish…»
19:26 rafschi joined
notviki m: sub l{Date.new(year => $^a).is-leap-year}; say l(2016); say l(2017); 19:26
camelia rakudo-moar 6d28c1: OUTPUT«True␤False␤»
jferrero m: sub l{Date.new($^a,1,1).is-leap-year}; say l(2016); say l(2017);
camelia rakudo-moar 6d28c1: OUTPUT«True␤False␤»
notviki m: sub l{$^y %% 4 and not $y %% 100 or $y %% 400}; say l(2016); say l(2017); 19:27
camelia rakudo-moar 6d28c1: OUTPUT«True␤False␤»
19:27 melezhik joined
notviki m: sub l{Date.new(:$^year).is-leap-year}; say l(2016); say l(2017); 19:28
camelia rakudo-moar 6d28c1: OUTPUT«True␤False␤»
notviki neat
jferrero notviki++ 19:29
notviki: :$month and :$day are optional arguments? 19:32
notviki yeah
m: say Date.new: :2017year
camelia rakudo-moar 6d28c1: OUTPUT«2017-01-01␤»
jferrero but... 19:33
How can use with the sub above?
Who?
notviki What do you mean who can use the sub above? 19:34
jferrero m: sub l{Date.new(:$^year).is-leap-year}; say l(2016); say l(2017);
camelia rakudo-moar 6d28c1: OUTPUT«True␤False␤»
notviki doesn't understand the question
jferrero I want to use Date.new() with only one argument 19:35
notviki OK. The above sub does just that.
There's only one argument; the named `year`
jferrero Ok
notviki There's a bunch of formats .new can take: docs.perl6.org/type/Date#method_new 19:37
rafschi Do we have one for Unix Time to DateTime conversion? 19:39
notviki m: say DateTime.new: Instant.from-posix: 1234567890
camelia rakudo-moar 6d28c1: OUTPUT«2009-02-13T23:31:30Z␤»
rafschi What's the reason for it to be in Instant instead of DateTime? Or, put another way, what's the difference between the two? 19:40
m: say Instant.from-posix: 123456789 19:41
camelia rakudo-moar 6d28c1: OUTPUT«Instant:123456801␤»
gfldex i just found that travis supports automatic monthly/weekly/daily builds 19:42
notviki oh
m: say DateTime.new: 1234567890
camelia rakudo-moar 6d28c1: OUTPUT«2009-02-13T23:31:30Z␤»
notviki rafschi: because apparently I like to overcomplicate things :P
timotimo gfldex: wow, that's super helpful! 19:43
gfldex you need to click the little gear icon on the page where you toggle travis builds 19:44
19:45 CIAvash joined, ggoebel left 19:46 curt_ left
rafschi multi method new(Int() $year, Int() $month, Int() $day, Int() $hour, Int $minute, $second, Int() :$timezone = 0, :&formatter)# since 6.d 19:47
moritz rafschi: Instant is a monotonic clock (TAI); DateTime is civil time, which deals with such nuisances as leap seconds
notviki rafschi: there's no 6.d :) 19:48
rafschi moritz: I got confused because it talks about leap seconds in the docs.
notviki m: say DateTime('2016-12-31T23:59:60') 19:49
camelia rakudo-moar 6d28c1: OUTPUT«Cannot find method 'DateTime' on object of type Str␤ in block <unit> at <tmp> line 1␤␤»
notviki m: say DateTime.new('2016-12-31T23:59:60')
camelia rakudo-moar 6d28c1: OUTPUT«2016-12-31T23:59:60Z␤»
rafschi My doubt about the method above is why does there's Int() for hour, Int for minute and Any for second.
notviki m: say DateTime.new('2016-12-31T23:59:60').Instant
camelia rakudo-moar 6d28c1: OUTPUT«Instant:1483228836␤»
notviki m: say DateTime.new('2016-12-31T23:59:59').Instant 19:50
camelia rakudo-moar 6d28c1: OUTPUT«Instant:1483228835␤»
moritz seconds can be fractional
CIAvash .tell nicq20 1+2 ==> (* / 5)()
yoleaux CIAvash: I'll pass your message to nicq20.
notviki moritz: what do you mean by DateTime deals with leap seconds? Instant also seems to know about them
19:50 mcmillhj left 19:51 shayan_ left
rafschi OK, and why does $hour has coercion and $minute doesn't? 19:51
moritz rafschi: no idea
19:51 girafe joined
rafschi And I think it shouldn't be in the public docs if it's not released yet. 19:51
moritz notviki: Instant only knows about leap seconds for converting from/to civil time 19:52
notviki rafschi: how come you say it's in 6.d BTW? 19:53
19:53 ffadi joined
rafschi I copied the line siceratscriptum 19:53
docs.perl6.org/type/DateTime#method_new 19:54
19:54 mcmillhj joined
notviki doesn't know what that means 19:55
rafschi: I mean why do you think that candidate isn't part of 6.c?
That list in docs seems way off the action candidate list: gist.github.com/zoffixznet/eb2d13d...7d87233290 19:56
rafschi Oh, I didn't test it. If it is part of 6.c, the docs shouldn't lie like that.
notviki lie like what?
rafschi notviki: It means "as it's written" in Latin.
Sorry, used a stronger word then I should have. 19:57
moritz "verbatim" in English
19:57 rindolf joined, effbiai left
rafschi Well, "verbatim" is Latim too, so translating from Latin to Latin didn't seem to me to be very helpful. 19:57
Well, in Latim "siceratscriptum" is actually "verbatimetliteratim" or "ipsisliteris" 19:59
But sic[...] actually implies a mistake, which the others don't. 20:00
20:00 ggoebel joined
melezhik HI perl6 gurus! how can I make an alias to a function? 20:01
notviki melezhik: constant &foo = &bar
melezhik thanks notviki:
notviki Seems a waste to use a dead language if you have to explain it so verbosely :) 20:02
dalek c: f5fb5ac | gfldex++ | doc/Type/Mu.pod6:
add more examples to Mu.Bool
synopsebot6 Link: doc.perl6.org/type/Mu
rafschi Well, I don't have to. I just tought you guys were interested because the other day we were talking about it. 20:03
notviki Yeah, but the original question is still left unanswered :) 20:04
rafschi sic->as erat->it was scriptum->written 20:05
notviki I meant "notviki │ rafschi: how come you say it's in 6.d BTW? " 20:06
As in, what made you think it was in 6.d and not 6.c 20:07
rafschi Well, I answered it: I copied it from the docs and gave a link to the section where i saw it.
Copied it verbatim.
melezhik one more question. how can I declare a perl6 function which expect Str or Array as argument ?
gfldex melezhik: see docs.perl6.org/type/Signature#Type_Constraints 20:08
notviki rafschi: ah, I just now noticed the comment in the code section. Thanks.
gfldex we should hang the sign that reads "please read Signature.pod6" at head hight
rafschi melezhik: declare multis
melezhik gfldex: thanks. I know it is possible in Perl6, just wanted some entry point to start with ...
El_Che melezhik: have also a look at this: docs.perl6.org/language/functions#...i-dispatch
dalek c: 1359196 | (Zoffix Znet)++ | doc/Type/DateTime.pod6:
There's no 6.d yet
20:09
synopsebot6 Link: doc.perl6.org/type/DateTime
melezhik El_Che: - thanks!
notviki rafschi: I didn't realize the "since 6.d" was from the copy-paste and not your writing :) 20:10
20:10 pyrimidine joined
rafschi But I told you I copied it as it's written there. 20:10
El_Che melezhik: if the types match, maybe vargs is an option: docs.perl6.org/type/Signature#Slur...Parameters
notviki rafschi: yeah... I guess you did :) 20:11
20:11 Tonik joined
melezhik El_Che: sure, will take this into account ... 20:12
rafschi Take care, wonderful people. Bye.
notviki m: multi foo ($ where Str|Array) { say "str or array thing" }; multi foo (|) { say "sommeing else" }; foo "foo"; foo ["foo"]; foo 42 20:13
camelia rakudo-moar 6d28c1: OUTPUT«str or array thing␤str or array thing␤sommeing else␤»
20:13 rafschi left, jraglin left 20:14 jraglin joined
gfldex can I hand a github repo over to an organisation? 20:14
notviki Yup 20:15
gfldex i found the docu on transfers 20:16
notviki /settings -> transfers ; Danger zone "Transfer"
gfldex I'm asking because zef depends on TAP::Harness. The latter saw it's last commit 22 Apr 2016 and there are outstanding PRs fore quite some time.
notviki Are you sure it depends on THAT TAP::Harness and not one in core? 20:17
.oO( this is getting confusing already... )
buggable: eco TAP::Harness 20:18
buggable notviki, TAP::Harness 'TAP harness for perl6': github.com/Leont/tap-harness6
gfldex that's the one I am refering to
notviki I guess this person wrote our core TAP::Harness; 'cause code is very similar 20:20
and it has the same bug in it
20:21 ramillies left, labster joined
notviki ummm 20:24
gfldex ugexe: i'm trying to track down the rakudo commit right now that made TAP::Harness fail
gonna take a while :-|
notviki gfldex: we already found it
gfldex nice 20:25
notviki gfldex: irclog.perlgeek.de/perl6-dev/2017-...i_13862285
And well, it makes me think that THAT ^ tap harness isn't the harness used by zef?
oohhh
Riiight
So then my fix to TAP::Harness in core won't fix zef if it's using THAT TAP::Harness
This :auth thing is working out great, BTW </sarcasm> 20:26
But the fix in core TAP::Harness will be the same as one needed in TAP::harness:auth<Leont>
gfldex if TAP::Harness is in core we should remove it from modules.perl6.org
notviki But it's someone's module. 20:27
gfldex who ignores PRs
notviki And I diffed it and there's hundreds of lines different from core one
Heh
gfldex does the core one provide a prove6 executable? 20:28
notviki Don't think so
gfldex then we need the module of Leont
notviki: if your fix works for the :auth<Leont> one, could you send a PR his way? 20:29
i could then fork and nick ownership in the ecosystem 20:30
notviki But you just said he ignores PRs
gfldex after writing a friendly e-mail ofc
after I forked I can nick the PRs too
notviki So we'll have three TAP::Harnesses?
hahahaha
gfldex the alternative would be to implement prove6 in core real quick :) 20:31
the whole thing is a result of switching to zef as the default module installer. As a result we have to solve those problems.
notviki What's the problem we're solving again? 20:32
Like, why do we need prove6?
El_Che lizmat: was leont in the amsterdam pm meeting you went the day before yesterday?
notviki This is the one-liner I used to debug the testbreaker bug: use TAP; await TAP::Harness.new.run('t.t').waiter; 20:34
gfldex the problem is that one who needs prove6 for automatic testing is going to install TAP::Harness what will make zef fail the next time it runs tests.
notviki Why would it make zef fail then?
gfldex it did when I tried to do just that 20:35
it seams to pick the wrong TAP::Harness
notviki But then that is the actual problem. And I don't see how hostile-forking TAP::Harness and releasing 3rd TAP::Harness into ecosystem would solve it :S
I wonder what sort of :auth<> the core stuff has :/ 20:36
20:36 CIAvash left
notviki m: use TAP:auth<blah> 20:36
camelia rakudo-moar 6d28c1: OUTPUT«===SORRY!===␤Could not find TAP:auth<blah> at line 1 in:␤ /home/camelia/.perl6␤ /home/camelia/rakudo-m-inst-2/share/perl6/site␤ /home/camelia/rakudo-m-inst-2/share/perl6/vendor␤ /home/camelia/rakudo-m-inst-2/share/perl6␤ CompUnit…»
20:36 ChoHag left
gfldex not releasing but replacing. So the ecosystem would have only one 20:36
notviki gfldex: so you'd just de-list someone's module because you don't like it? What if they have a production system depending on it?
gfldex no, I delist it because it doesnt work and creates failed tests for modules that depend on it 20:37
_after_ sending a friendly e-mail to the original author
if you know a better solution I'm all for it
less work for me
20:37 melezhik left
notviki We leave the module in and use what works. 20:38
El_Che can-of-worms-territory, ask the cpan admins (e.g. dbix drama)
notviki If a module doesn't work for you, use something else.
I have lots of modules in Perl 5 with bugs I don't have time/don't care to fix and that I use on production system. If PAUSE admins delist that module just because it failed to solve their problem XYZ, that'd break my system 20:39
gfldex CPAN got a voting system, we don't
I'm not a big fan of wasting other ppls time. 20:40
El_Che gfldex: ask leont if you can have co-maint?
gfldex i will try to do that first 20:41
20:41 ffadi left
notviki I'm not a big fan of removing code people may be dependant on based on undefined and arbitrary rules. 20:41
And we have a voting system: GitHub stars
20:42 rindolf left
gfldex where are those displayed on modules.perl6.org ? 20:43
notviki It's the column to the right of travis status 20:44
travis | Stars | Issues 20:45
20:46 TEttinger joined
lizmat El_Che: he was not 20:46
ugexe notviki: zef uses TAP.pm in rakudo
notviki thanks 20:47
will fix it ~2hrt
ugexe: what :auth<> do we specify to indicate core modules? 20:50
20:50 bjz_ joined
notviki relocates 20:51
ugexe well for NativeCall, TAP (whatever is in lib) it's perl. for those its "declared" in here github.com/rakudo/rakudo/blob/nom/...re-dist.pl
20:54 ocbtec left, ChoHag joined 20:55 rindolf joined
pmurias gfldex: the tap-harness PR that needs to be merged is by ugexe? 20:58
20:58 shayan_ joined
gfldex pmurias: it needs to go into rakudo and github.com/Leont/tap-harness6 20:59
Leont was active on github 3 weeks ago, so he aint no dead
ugexe notviki has a patch, he said he will apply when he gets a chance in a few hours 21:00
21:01 TEttinger left, mcmillhj left, pyrimidine left 21:03 mcmillhj joined 21:04 pyrimidine joined 21:08 mcmillhj left, pyrimidine left 21:09 ttkp6 joined 21:14 shayan_ left, shayan_ joined 21:15 mcmillhj joined 21:19 rindolf left 21:20 mcmillhj left 21:24 mr_ron left 21:26 pyrimidine joined, rindolf joined 21:27 TEttinger joined 21:28 pyrimidine left, bjz_ left 21:31 mcmillhj joined 21:34 kupopo joined, shadowpaste left 21:35 xzhao joined 21:36 mcmillhj left, shadowpaste0 is now known as shadowpaste, cdg joined 21:38 shadowpaste0 joined 21:42 mcmillhj joined 21:46 mcmillhj left 21:47 FROGGS left 21:58 cdg left, shayan_ left 21:59 mcmillhj joined, skids left 22:00 shayan_ joined 22:05 susmus left 22:08 Gasher joined 22:19 RabidGravy left 22:20 bjz joined, bjz left
pmurias nqp-js depends on an abandoned node-inspector npm module, I have worked it around by applying a PR to my github fork but I'm not sure how to deal with that in the long term 22:23
22:24 mcmillhj left 22:34 cpage_ left 22:36 cdg joined 22:45 xzhao left 22:47 xzhao joined 22:52 Tonik left 22:55 rindolf left
dalek c: 0525656 | (Tommy Stanton)++ | doc/Type/Pair.pod6:
Fix typo (possessive) in Pair
22:57
c: e1cb0fa | (Aleks-Daniel Jakimenko-Aleksejev)++ | doc/Type/Pair.pod6:
Merge pull request #1122 from tommystanton/pair-typo

Small typos on page for Pair type
synopsebot6 Link: doc.perl6.org/type/Pair
23:00 mcmillhj joined 23:01 cpage_ joined, shayan_ left 23:03 shayan_ joined 23:05 mcmillhj left 23:12 cyphase left
notviki well, this was a pointless excercise. Neither TAP 12 spec, nor 13 spec, nor the 14 draft say ANYTHING AT ALL about backslashes in test descriptions or their ability to prevent interpretation of description as one of the directives -_- 23:15
23:17 espadrine left 23:19 mcmillhj joined, cyphase joined 23:22 khw left, wamba left 23:24 mcmillhj left 23:25 kyan joined 23:27 rpburkholder joined 23:31 rpburkholder left 23:32 rpburkholder joined 23:34 dj_goku left 23:36 khw joined 23:37 Guest4235 is now known as matt_, mcmillhj joined, shayan_ left 23:42 mcmillhj left
samcv u: male sign 23:55
unicodable6 samcv, U+2640 FEMALE SIGN [So] (♀)
samcv, U+2642 MALE SIGN [So] (♂)
samcv, U+26A2 DOUBLED FEMALE SIGN [So] (⚢)
samcv, gist.github.com/7c1150c01f2c280869...bc103fb5d7
samcv wow ok :) got us down to 246 failing emoji tests out of 2822 down from 1050 or so failing. gonna make PR for moar :D 23:57
notviki \o/