Zoffix "100.00% 01:02
According to me spreadsheet :) Time to rebuild perl6.wtf website, check if any routines want more testing, finish off The Definitive IO Guide, write up final report, and done 01:03
MasterDuke Zoffix++ 01:04
japhb m: ':3[4, 22, 1]'.Numeric.say # MasterDuke 01:07
camelia Cannot convert string to number: digit is larger than 2 in ':3' style radix number in '3:3[4⏏5, 22, 1]' (indicated by ⏏)
in block <unit> at <tmp> line 1

Actually thrown at:
in block <unit> at <tmp> line 1
MasterDuke huh 01:09
BenGoldberg m: '2:[11111]'.Numeric.say
camelia Cannot convert string to number: trailing characters after number in '032⏏5:[11111]' (indicated by ⏏)
in block <unit> at <tmp> line 1

Actually thrown at:
in block <unit> at <tmp> line 1
BenGoldberg m: ':2[11111]'.Numeric.say 01:10
camelia Cannot convert string to number: digit is larger than 1 in ':2' style radix number in '3:2[11111⏏5]' (indicated by ⏏)
in block <unit> at <tmp> line 1

Actually thrown at:
in block <unit> at <tmp> line 1
BenGoldberg m: ':2[11111'.Numeric.say
camelia Cannot convert string to number: digit is larger than 1 in ':2' style radix number in '3:2[11111⏏' (indicated by ⏏)
in block <unit> at <tmp> line 1

Actually thrown at:
in block <unit> at <tmp> line 1
BenGoldberg That is a vr strange err message.
MasterDuke weird, that form is processed in two different spots 01:14
github.com/rakudo/rakudo/blob/nom/...#L349-L378 and github.com/rakudo/rakudo/blob/nom/...2949-L2968 01:16
japhb MasterDuke: ISTR the speculations were the basis of the Str.Numeric behavior 01:18
MasterDuke hm. ShimmerFairy did the val implementation in 9/2015 and moritz did the UNBASE_BRACKETS implementation in 9/2012. i guess they really should be de-duplicated somehow 01:26
japhb: and you think the val version is more correct? 01:28
BenGoldberg m: val(':2[11111]').say 01:30
camelia :2[11111]
BenGoldberg m: dd val(':2[11111]') 01:31
camelia ":2[11111]"
BenGoldberg m: dd val(':2[11111]', :val-or-fail) 01:32
camelia Failure.new(exception => X::Str::Numeric.new(source => ":2[11111]", pos => 8, reason => "digit is larger than 1 in ':2' style radix number"), backtrace => Backtrace.new)
Zoffix ./build-coverakudo.sh: line 60: 13598 Segmentation fault perl6 bootstrap.pl 02:24
Well, crap. I can't finish the grant without coverage report :|
Zoffix tries without pulling in moar master 02:26
*phew* seems to be working fine now 02:31
japhb S02:3317 02:54
synopsebot6 Link: design.perl6.org/S02.html#line_3317
japhb MasterDuke: ^^
Gah, link doesn't work. 02:55
MasterDuke: S02:3317 says " 3317 All numbers representing digits must be less than the radix, or an error
synopsebot6 Link: design.perl6.org/S02.html#3317_says
japhb 3318 will result (at compile time if constant-folding can catch it, or at run
3319 time otherwise)."
MasterDuke looks like ShimmerFairy also spotted the inconsistency, RT #125800 and 123572 can probably be merged 02:59
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125800
Zoffix perl6.wtf updated. Though it's data is pretty dismal :| 03:23
like, every method of CatHandle is tested, but it shows at 27% covered :/ perl6.wtf/SETTING__src_core_IO_Cat...erage.html 03:24
Oh, wait a second... 03:26
haw... I forgot to add S32-io/io-cathandle.t to spectest.data file :P
So I guess I wasted an hour waiting for coverage to build :) Gonna set it to run just 1 stresstest instead of 3; seems to flop less and the failures are consistent 03:27
Which, for record, are these: gist.github.com/zoffixznet/f210e22...35f8d37ab8 03:28
Anyone recall what tool tells you which files aren't in spectest.data? Maybe there're others I forgot about 03:29
looks like tools/update-passing-test-data.pl 03:31
I'll be damned... t/spec/S32-io/tell.t is another forgotten one 03:33
.tell pmurias RE: github.com/perl6/roast/blob/master...s-approx.t there's actually a more comprehensive test for that routine in rakudo's test suite. Should it be moved to roast, then? github.com/rakudo/rakudo/blob/nom/...s-approx.t 03:37
yoleaux Zoffix: I'll pass your message to pmurias.
Zoffix .tell pmurias nevermind. I moved it. Seems to make sense. 03:41
yoleaux Zoffix: I'll pass your message to pmurias.
Geth rakudo/nom: dfdd5439f3 | (Zoffix Znet)++ | t/spectest.data
Add now-passing test files

  - Also a couple of IO test files I forgot to add
03:45
rakudo/nom: 7aa1c08ceb | (Zoffix Znet)++ | t/02-rakudo/02-new-is-approx.t
Move is-approx tests to roast
roast: 61ab1c61f4 | (Zoffix Znet)++ | S24-testing/10-is-approx.t
Replace is-approx test file

With more comprehensive set of tests for this routine that existed in rakudo's test suite.
03:46
roast: e863b9499a | (Zoffix Znet)++ | S24-testing/10-is-approx.t
Remove useless `use lib <lib>`
03:49
Zoffix ZOFVM: Files=1252, Tests=136819, 115 wallclock secs (22.11 usr 2.93 sys + 2334.35 cusr 129.80 csys = 2489.19 CPU) 03:50
hm, tried building coverage on 24-core my google VM.... there's like a billion failing tests :/ 04:01
so many, I just aborted it, 'cause coverage will be crap
Zoffix shudders at rt.perl.org/Ticket/Display.html?id=131392 04:22
I thought Perl 6 left weird-magic-variables stuff to Perl 5
geekosaur $/ (match result) is one of the few left 04:24
Zoffix m: 'foo' ~~ /$<meow>=.+/; say %()
camelia Map.new((:meow(Match.new(list => (), made => Any, pos => 3, hash => Map.new(()), orig => "foo", from => 0))))
Zoffix m: 'foo' ~~ /(.+)/; say @() 04:25
camelia (「foo」)
Zoffix m: 'foo' ~~ /(.+)/; say $()
camelia foo
Zoffix m: class Foo { multi method words(::?CLASS:D:) { say 'meow' }; multi method words(::?CLASS:D \SELF: $limit, :$close) { say 'here' }; multi method words(::?CLASS:D \SELF: :$close) { say 'there' }; }; Foo.new.words; Foo.new.words: :close; Foo.new.words: 4, :close; 04:33
camelia there
there
here
Zoffix hm. Any way to make the `meow` one to be called on Foo.new.words?
m: class Foo { multi method words(::?CLASS:D:) { say 'meow' }; multi method words(::?CLASS:D \SELF: $limit, :$close) { say 'here' }; multi method words(::?CLASS:D \SELF: :$close!) { say 'there' }; }; Foo.new.words; Foo.new.words: :close; Foo.new.words: 4, :close; 04:34
camelia meow
there
here
Zoffix nm
cpan@perlbuild4~/CPANPRC/rakudo (nom)$ t/fudgeandrun t/spec/S06-other/main.t 04:40
t/spec/S06-other/main.t .. ===SORRY!===
Serialized data segment overflows end of stream
Got a whole ton of such failures :S
Rebuilt. Gone now :/ 04:50
Wonder if it's one of the new test files I added above that's causing global mess up
ZofBot: it's really dead in here!
ZofBot Zoffix, First, you can convert the angles into radians, by multiplication: sin(90 * Degrees) or by using the "to-radians" method: sin(90
Geth rakudo/nom: ed07b2c375 | (Zoffix Znet)++ | 2 files
Fix thinko in .lines/.words handle candidates

The no-arg candidates were not chosen, but the ones with :$close were
04:55
Zoffix ohhhh 05:07
Those weird errors? /dev/sda1 9.8G 9.3G 188K 100% /
Geth roast: 899d223abd | usev6++ | S16-filehandles/argfiles.t
[JVM] Skip hanging test
05:13
rakudo/nom: f9403b3b8e | (Stefan Seifert)++ | src/core/CompUnit/PrecompilationRepository.pm
Fix order of RAKUDO_MODULE_DEBUG precomp output

By capturing STDERR of precomp processes, their output will appear later than its actually printed. This makes understanding this output much harder as the sequence of events is important. Fix by just not capturing STDERR in that case.
07:41
[Tux] This is Rakudo version 2017.05-290-gf9403b3b8 built on MoarVM version 2017.05-25-g62bc54e9 07:53
csv-ip5xs 2.714
test 12.774
test-t 4.372 - 4.422
csv-parser 12.895
jnthn morning o/ 08:44
lizmat jnthn o/ 08:45
Geth nqp: 81b1f29808 | pmurias++ | src/HLL/Compiler.nqp
[js] Omit useless parens
11:06
nqp: cad6b7d667 | pmurias++ | 4 files
[js] Implement nqp::execname
rakudo/js: 955748066e | pmurias++ | 2 files
[js] Pass --execname when building rakudo.js
12:08
rakudo/nom: 36ea86071e | (Zoffix Znet)++ (committed using GitHub Web editor) | docs/2017-IO-Grant--Action-Plan.md
Update list of plan changes in IO grant
13:03
rakudo/nom: 51d6ff9c01 | (Zoffix Znet)++ (committed using GitHub Web editor) | docs/2017-IO-Grant--Action-Plan.md
List IO::Cat was renamed to IO::CatHandle
13:27
Zoffix m: for 'a', 'b' -> $x { my $z = \(my class Foo {}) } 14:09
camelia ( no output )
Zoffix m: gist.github.com/zoffixznet/92317fb...bb38bdc4b7
camelia 5===SORRY!5=== Error while compiling <tmp>
Redeclaration of symbol 'Foo42'
at <tmp>:28
------> 3 7⏏5}, '((Mu) (Foo) I ♥ Perl 6 1 2 [3 5 (foo
Zoffix redeclaration? wtf is its problem?
Ah. Closing curly instead of a paren 14:11
Geth roast: ce1b637eab | (Zoffix Znet)++ | S32-io/io-handle.t
[io grant] Test IO::Handle.say
14:13
roast: 0bb629891b | (Zoffix Znet)++ | S32-io/io-handle.t
[io grant] Test IO::Handle.print-nl
14:22
roast: 20384dc85c | (Zoffix Znet)++ | S32-io/io-handle.t
Remove useless open call
roast: 47c88abe40 | (Zoffix Znet)++ | S32-io/pipe.t
[io grant] Test IO::Pipe.proc attribute
14:27
roast: 945621d507 | (Zoffix Znet)++ | S32-io/io-path.t
[io grant] Test IO::Path.SPEC attribute
14:35
roast: 5fb4b633dc | (Zoffix Znet)++ | S32-io/io-path.t
[io grant] Test IO::Path.CWD/.path attributes
14:48
Zoffix ZOFVM: Files=1252, Tests=136825, 119 wallclock secs (22.66 usr 3.35 sys + 2404.00 cusr 166.62 csys = 2596.63 CPU) 15:04
Geth roast: d0e5701b71 | (Zoffix Znet)++ | S32-io/io-path.t
[io grant] Test IO::Path.Numeric and other .numeric methods
15:05
rakudo/nom: d13d9c2e15 | (Zoffix Znet)++ | src/core/IO/Path.pm
[io grant] Throw out IO::Path.int

It's already handled via .Numeric
Zoffix I mean .Int 15:08
Geth rakudo: MasterDuke17++ created pull request #1090:
Error for wrong arity in signature has right value
15:31
rakudo/nom: 86fe766aec | MasterDuke17++ | t/05-messages/01-errors.t
Error for wrong arity in signature has right value

Tests for rt.perl.org/Ticket/Display.html?id=123085
15:33
rakudo/nom: a18c0649da | (Zoffix Znet)++ (committed using GitHub Web editor) | t/05-messages/01-errors.t
Merge pull request #1090 from MasterDuke17/tests_for_RT123085_wrong_arity_in_signatures

Error for wrong arity in signature has right value
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=123085
Zoffix (people who wrote IO::Spec* tests)++ # really thorough job 15:49
Geth roast: 94d7133661 | (Zoffix Znet)++ | S16-io/bare-say.t
[io grant] Test 0-arg &say/&put/&print
15:58
ugexe is/when is tap harness being removed from core? 16:07
ugexe sees the verbose output stuff was added to the tap-harness6 repo only 16:08
Zoffix ugexe: next Saturday the latest. It's next on my list after finishing IO grant 16:09
ugexe it'll be interesting seeing what happens when a core module is removed (re: upgrades) 16:13
i imagine they will still have TAP::ver<6.c>:auth<perl> installed - in this case i don't see a problem but might be worth figuring out if it could be for other modules in the future 16:16
Geth roast: 4dd22cf61a | (Zoffix Znet)++ | S32-io/slurp.t
Remove trailing whitespace
16:17
roast: 38c61cd329 | (Zoffix Znet)++ | S32-io/slurp.t
[io grant] Test &slurp() and &slurp(IO::Handle)
16:18
Zoffix w00t all testing is done
Zoffix starts last perl6.wtf update run 16:19
ZOFFLOP: t/spec/S17-supply/interval.t 16:33
BTW hack is doing ( ping moritz ) 16:34
I mean down
SourceBaby: help 16:35
dalek left an hour ago; I'm surprised SourceBaby is still here :S
and I can't ssh [email@hidden.address]
ZOFVM: Files=1252, Tests=136834, 117 wallclock secs (22.78 usr 3.43 sys + 2389.07 cusr 155.78 csys = 2571.06 CPU) 16:36
moritz Zoffix: rebooting now 16:38
Zoffix w00t 16:39
Thanks
dogbert17 commit: 2016.06 my $a = 1; say Q:c«{$a}()$b()»; 17:08
committable6 dogbert17, ¦2016.06: «1()$b()»
dogbert17 m: 2016.06 my $a = 1; say Q:c«{$a}()$b()»; 17:09
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 032016.067⏏5 my $a = 1; say Q:c«{$a}()$b()»;
expecting any of:
infix
infix stopper
statement end
statement mo…
dogbert17 m: my $a = 1; say Q:c«{$a}()$b()»;
camelia 1()$b()
dogbert17 Zoffix: have you ever used the BUILDALL method? 17:11
Zoffix nope
dogbert17 :( trying to update some docs and there's an inconsistency in an example 17:12
the example has a call to callsame in it but the text explaining the example says you must call nextsame. docs.perl6.org/language/traps 17:13
Zoffix Well, I have an article on callsame/nextsame that may assist you in figuring out which is the right routine in there. perl6.party/post/Perl6-But-Heres-M...with-Maybe 17:17
"Which also explains why...' 17:18
Zoffix shrugs
Don't explain to me
dogbert17 :) will have a look 17:19
lizmat Zoffix: am looking at RT #131395 17:34
MasterDuke m: class A {}; say A.^methods(:all) 17:41
camelia (Method+{<anon|70885904>}.new Method+{<anon|70885904>}.new Method+{<anon|70885904>}.new Method+{<anon|70885904>}.new Method+{<anon|70885904>}.new Method+{<anon|70885904>}.new Method+{<anon|70885904>}.new Method+{<anon|70885904>}.new Method+{<anon|7088590…
Geth rakudo/nom: 9494cbd3b9 | (Elizabeth Mattijsen)++ | src/core/Rakudo/Iterator.pm
Fix for RT #131395

Apparently nqp::isnull() is not always the right test for $!reified
17:42
Zoffix cool 17:52
lizmat greppable6: pack( 17:56
greppable6 lizmat, Sorry, can't do that
lizmat greppable6: pack\(
greppable6 lizmat, gist.github.com/0450cd99cf5bb95d70...87d457c0b7
BenGoldberg greppable6: <|w>pack\( 18:33
Oops? 18:34
Zoffix It's not Perl 6 regex. it's grep -E 18:35
Geth roast: 0faf3c354f | (Zoffix Znet)++ | S03-metaops/cross.t
Test X, with empty-List RHS does not crash

RT#131395: rt.perl.org/Ticket/Display.html?id=131395 Rakudo fix: github.com/rakudo/rakudo/commit/9494cbd3b9
18:36
BenGoldberg Well, it shouldn't have *died*! ;) 18:37
BenGoldberg feels bad about accidentally killing the bot :P
MasterDuke to be precise it's git grep -P -i -I 18:39
BenGoldberg Also, I notice in the gist it produced: There's an extra space produced before the matched text, so where the original code had 'unpack', the gist has 'un pack' (or I suppose 'un pack'
with bold) 18:40
MasterDuke yeah, something do with the the markdown i believe
and the way it highlights
BenGoldberg I think the problem is with beginning and end of <code> sections. 18:42
E.g.: $buffer.un​</code><strong><code>​pack(​</code></strong><code>​"...
There's no *actual* space, but my browser (chrome) is showing it as if there were one. 18:44
MasterDuke do you know a way to fix that?
BenGoldberg huggable, chromebug 18:47
huggable BenGoldberg, nothing found
BenGoldberg shrugs
MasterDuke not just chrome, i get it in FF too 18:48
[Coke] BenGoldberg: URL showing the issue? 18:50
BenGoldberg gist.github.com/Whateverable/0450c...87d457c0b7
If you *select* the text, it kinda shows that the browser knows there's not really supposed to be a space, since the area before and after "pack(" isn't highlighted. 18:52
Zoffix [Coke]: I'm gonna be submitting my completion report today, as I'm hours away from finsihing the IO grant 18:54
Just gonna cleap up .open docs + finish definitive IO Guide + finish the already-half-made report and done
*clean
BenGoldberg And (when it's not selected) zooming in shows these odd artifacts in the background color. They're subtle, since it's a super-pale background for the <code> stuff, vs white background for the rest of the page. 18:55
Geth rakudo/nom: 608e886a9b | usev6++ | src/core/Exception.pm
Don't use unival on JVM backend (NYI there)
18:58
lizmat Zoffix: would you mind making the IO Grant completion something for next week's P6W ? 18:59
[Coke] Zoffix: sounds good, thanks.
Zoffix lizmat: sounds fine to me. 19:02
lizmat ok... almost done with the P6W of this week, and it's already quite large
Zoffix \o/
BenGoldberg I spy on p6weekly.wordpress.com/ a really annoying bug! 19:05
I wanted to scroll down to the links for the RSS feeds, and the page kept getting longer and longer, pushing them further and further down. 19:06
Zoffix sees no RSS feeds links 19:08
ugexe samcv: I think you can do the type of reinstall you want using (new) --force-install flag. there are --force-[resolve|fetch|build|test] flags as well to only force what you want (or everything with --force) 19:10
samcv oh great :) fantastic thanks ugexe
also --depsonly is the only flag that doesn't have dashes between words. really weird
i always try and do --deps-only because that's how every single other flag is 19:11
ugexe heh, yeah i should alias that 19:12
lizmat BenGoldberg: if you're interested in just one issue, you can click on the title and get a separate page
BenGoldberg: e.g. p6weekly.wordpress.com/2017/05/22/...-21-yap6b/
BenGoldberg No, I wanted my news reader to subscribe to the rss feed, but I couldn't click the link, since it kept running away :) Turning off javascript, then copying the link, then turning it back on fixed the silly problem... 19:14
BenGoldberg wonders how often you get new people subscribing ;) You'd have to look at accesses to p6weekly.wordpress.com/feed/ whose http "referer" is the main page. 19:17
Geth roast: d36b837130 | usev6++ | 6 files
[JVM] Fudge newly failing tests
19:37
Zoffix bartolin_: I take it all the JVM failures are now fudged? I recall promising long time ago to fudge stuff when I was done with the grant, and I'm done with writing tests... Wondering if I need to build JVM and stresstest 19:40
bartolin_ Zoffix: well, there might be a few failing tests left. It's hard to keep up with all the commits and new tests :-) 19:41
Zoffix :) 19:42
bartolin_ but I'll fudge the remaining tests as well, so you can use your time for something better. (e.g. relax?)
Zoffix++
Zoffix bartolin_++ thanks
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2017/05/29/...-encoding/ 19:56
MasterDuke huh, i can't seem to use $*W in Exceptions.pm or Perl6/Metamodel/BOOTSTRAP.nqp 20:03
Zoffix wow, lots of stuff 20:04
lizmat++ good weekly
lizmat: what's 'The Afflighem Affair'? Google-fu is failing me
lizmat Zoffix: it's the beer I'm drinking there
Zoffix Ahhhh :)
lizmat and tonyo coined the term, if I remember correctly :-) 20:05
which I may not, due to the nature of the alcoholic beverages involved :-)
Zoffix lol
MasterDuke `Serialization Error: missing static code ref for closure 'suggest_methods' (src/Perl6/World.nqp:4060)`. heh, tried to get around no $*W when/where i wanted it by returning a closure at BEGIN time. oh well 20:29
INIT almost worked 20:35
Geth nqp/master: 4 commits pushed by pmurias++ 20:48
rakudo/js: 2a84ee0bc3 | pmurias++ | 3 files
[js] Create a perl6-js runner during "make js-all"
Zoffix Writing some examples for IO tutorial and realizing that .lines and .words iterators could probably use .count-only method implementations 20:52
Something that still reads the lines, but just tosses them while bumping up a counter. Dunno... would that get cleaned up by GC well? The goal here is to, say, count words in a huge file: '500-Petabytes.txt'.IO.words.elems.say 20:53
without keeping a huge Seq of words around
jnthn A Seq by definition doesn't keep things around 20:54
That's the point of it
Zoffix s: ().Seq, 'elems', \()
SourceBaby Zoffix, Sauce is at github.com/rakudo/rakudo/blob/608e...Seq.pm#L97
jnthn Except the things that call .cache, of course. 20:55
Zoffix jnthn: self.cache.elems
jnthn Yeah
Zoffix Yeah
jnthn :/
Taht one was cached because otherwise we couldn't do @foo.grep(&blah)[*-1] and so forth
Zoffix Ah. OK. 20:56
lizmat Zoffix: count-only only makes sense if you can determine the number *without* iterating at all 20:57
jnthn Which is indeed rather unfortunate for the "just count stuff" case
Zoffix lizmat: thanks
lizmat same for bool-only
jnthn Maybe we need a .count or something
lizmat (which you *might* get away with?)
jnthn (where since it's a method call it's the verb, not the noun)
MasterDuke i'm trying to add a suggest_methods to World.nqp, and call it from either Exception.pm or BOOTSTRAP.nqp. in addition to the error above, also got `X::Method::NotFound exception produced no message` and `Cannot find method 'suggest_methods' on object of type NQPMu` 21:03
anybody have a suggestion? 21:04
lizmat MasterDuke: this is about levenshteining a method name that wasn't found ? 21:08
MasterDuke yeah
lizmat why not do this in HLL Perl 6 ? 21:09
I mean, you can call .^methods(:all)>>.name on the object, no ?
MasterDuke just because the functionality is already mostly done in Word.nqp
lizmat and it doesn't need to be optimized, as execution is pretty much done by that point, no ? 21:10
but must it be in nqp ?
MasterDuke i don't care about that, just didn't want to implement another levenshtein function 21:11
lizmat hmmm...there's also src/core/StrDistance.pm 21:13
which is used in Actions
MasterDuke ah! 21:14
lizmat not sure how they all relate, fwiw 21:15
never got a round tuit for that
MasterDuke i'll give that a try 21:17
lizmat MasterDuke++ 21:21
meanwhile, I'm going to try to get away from the keyboard for a while
chansen_ I have just read lizmat's excellent weekly summary, I'm just curious why the decision of streaming encodings where pushed to Perl6/NQP, seems like a major degradation of performance for programs targeting MoarVM. In my book implementing support for UTF-8, UTF-16(BE|LE) and UTF-32(LE|BE) is the easiest part of Unicode. 21:23
jnthn chansen_: I wondered when I read it if somebody would read it that way. Apparently, "yes" 21:24
The VM still provides fast decoding for the most common ones. 21:25
What changed is that previously there have been a bunch of VM-provided ops for doing char-level I/O 21:26
While now there's binary I/O and a VM-backed decoder which are decoupled from each other
So what's really moved up to Perl 6 is the coordination, *not* the hot loop work of decoding. 21:27
Though in doing that it will be possible for userspace decoders to be used with the built-in IO handles, at least once we standardize the interface to that. 21:28
Which it previously wasn't
This also allows for a number of simplifications down at the VM level, and further will also make streaming decode support available when you aren't doing I/O through the VM 21:29
Zoffix .ask samcv is there any switch for disabling highlighting in a code block on the docs site? I got these code blocks that just contain text (I use codeblocks for tighter formatting). I can of course just make the text comments, but wondering if there's a switch. docs.perl6.org/type/IO::Handle#method_open
yoleaux Zoffix: I'll pass your message to samcv.
samcv hey Zoffix 21:30
yoleaux 21:29Z <Zoffix> samcv: is there any switch for disabling highlighting in a code block on the docs site? I got these code blocks that just contain text (I use codeblocks for tighter formatting). I can of course just make the text comments, but wondering if there's a switch. docs.perl6.org/type/IO::Handle#method_open
samcv well yeah just use uh
Zoffix FWIW neither [Tux]'s bench nor my stresstest runs show any noticeable perf degradation after the encoding refactor
samcv =begin code :allow< B R >
literally :allow<anything>
would prolly trigger it. even if it is not understood as being bold or italic etc 21:31
will cause it to render as pod
pod code that is
jnthn BTW, think I figured out the correct solution to the readchars/getc thing; will have time to tinker with it tomorrow.
samcv oh nice jnthn
jnthn (Will need a tweak to the decoder API)
Zoffix samcv: thanks. I'll give ti a go 21:32
samcv Zoffix, alternatively we could add a thing
but that i know works today
with no changes to the build script
Zoffix cool
jnthn Down with this summer thing. It's still pretty warm. At 11:30pm. :/
samcv :)
chansen_ jnthn: IIUC, the state of incomplete sequences (is in the host language) while the VM processes any complete sequences in any of the defined Unicode encodings? 21:33
jnthn chansen_: For the built-in decodings the normalization buffer and any partially eaten multi-byte sequences are managed in the VM too 21:35
chansen_: In the host language we ask the I/O handle for some bytes, then feed those bytes to the decoder, and ask it for chars.
chansen_: And it can provide chars in a range of ways (for example, up to a separator, or all that we know are normalized and won't change, or everything assuming we hit eof) 21:36
BenGoldberg Silly question: does the decoder API provide an option to choose whether to throw an error or insert � when it finds invalid bytes? 21:39
jnthn At the moment it always throws an error 21:41
BenGoldberg Hmm...
jnthn Until now we've had async I/O code paths and sync I/O code paths, and when we did char level I/O at the VM we ended up with every single decoding improvement needing to happen in both of those places. 21:43
Whereas now we can do the replacement char support and only have to extend one lower-level API to do it. 21:44
chansen_ jnthn: That make sense, thank you for the explanation. 21:45
AlexDaniel BenGoldberg: re greppable and spaces: I just don't know how to highlight something in a code block :( 21:49
maybe I should simply create .html, host it myself and give a link to it 21:50
this way I will not be abusing github, it will be faster, and we'd be able to do whatever we want with it 21:51
anyway, I created an issue for it: github.com/perl6/whateverable/issues/155 21:54
Zoffix .in 2d Future-Zoffix: Address the .sink-all stuff: github.com/rakudo/rakudo/commit/0c...t-22320387
yoleaux Zoffix: I'll remind you on 31 May 2017 21:54Z
Zoffix BenGoldberg++ thanks for that pointer. I'll fix up that code when I get a chance 21:55
AlexDaniel .in 5d Future-AlexDaniel: Fix all 103 whateverable issues 21:56
yoleaux AlexDaniel: I'll remind you on 3 Jun 2017 21:56Z
Zoffix heh 21:57
BenGoldberg :)
AlexDaniel greppable6: <|w>pack\(
chansen_ samcv: I'm glad that you received a grant to improve Unicode support in Perl6! But please learn from existing implementations, there is no need to reinvent structures that have been invented long before Perl6. 21:58
AlexDaniel Unhandled exception in code scheduled on thread 20
Malformed UTF-8
this is the issue: github.com/perl6/whateverable/issues/153
samcv chansen_, what do you mean by structures
BenGoldberg AlexDaniel, I think greppable needs \b instead of <|w>.
AlexDaniel BenGoldberg: sure, but as you said, it shouldn't crash :) 21:59
chansen_ samcv: data representation in memory or from I/O
BenGoldberg greppable6: \bpack\( 22:00
greppable6 BenGoldberg, gist.github.com/31e6ca66ef71758021...52c265be3e
samcv not sure what you're saying i should do. thinking you're talking about the structure of the unicode database?
do you have a proposal for an existing data implementation to use?
i'm all ears if there is something that will help me when i start through that phase of my work 22:01
or a library for bitfield creation would be neat as well 22:02
chansen_ I'm talking in a more general perspective (bitfield creation?), I assume you are are aware about "compact array"/"folded trie"? 22:05
samcv yes that was one thing i had considered. i will def look further into that. thanks 22:08
the index compresion is one part which i had not fully figured out yet. so that would be great 22:10
since we have way more indexes than we have discreet unique property sets 22:11
there's like 20,000 different combinations of property values but way more codepoints. and compressing the index was one of the things i needed to decide how that would be implemented
BenGoldberg You might (or might not) get better results looking at each property (especially booleans) separately. 22:17
chansen_ There is no magical bullet for the compression of the folded trie, but first decide on the absolute necessary properties (don't try to represent all of the Unicode properties in one trie) once you have decided on the properties (perhaps GC, GCB, BIDI) you can implement it efficiently. 22:18
samcv: learn from others, you are not the first to encounter these problems! 22:19
samcv: Unicode Demystified is a good read (even though it's old), learn from ICU, read chapter 5 in Unicode Implementation Guidelines. 22:21
MasterDuke p6 -e 'class A { method foo { say "hi" } }; A.fob' No such method 'fob' for invocant of type 'A'. Did you mean 'foo'? in block <unit> at -e line 1 22:22
any opinions on whether it should just look through :local methods or :all? 22:23
chansen_ samcv: www.unicode.org/notes/tn31/ might provide some ideas on how to compress names beside base 40 22:27
MasterDuke or how big a difference to allow?
samcv i've already figured that out
using base 40 encoding and also encoding entire words as single characters 22:28
can compress the names a great deal since many names are repeated
BenGoldberg For example, suppose that *all* you wanted was the 'isDigit' property for all unicode characters. Since the result is just a true or false, we can use something like a Bloom Filter, Quotient Filter, a Skip List, etc.
samcv so can have the most common 39 words encoded in only two bytes
well less
2/3 of 2 bytes 22:29
and standard characters as 1/3 of 2 bytes
and most likely all properties will be equally fast. i only have an issue compressing indexes to ~20,000 unique sets of property value combinations 22:30
Zoffix snags the "most commits to docs" title from moritz :)
samcv but multiple trie's probably for the index
would make sense
Zoffix Kinda bittersweet, because I didn't really write that much docs.. :/
timotimo don't worry, we have a long tail of docs contributors 22:31
samcv the actual property values themself when deduplicates to 20,000 sets is not actually that large when you use a compressed bitfield
Zoffix COMPLETION Report / Perl 6 IO TPF Grant: blogs.perl.org/users/zoffix_znet/20...grant.html 22:33
BenGoldberg Zoffix++ 22:34
timotimo fantastic! 22:35
chansen_ samcv: another trick is to use a bitmap for "common" code-points < U+07FF and use a two-level trie for code-points < 0xFFFF and a three level trie for code-points above > 0xFFFF 22:36
reduces memory considerably 22:38
chansen_ anyway it`s past my bedtime, but we can catch up tomorrow 22:40
Zoffix ZofBot: FREEDOM! 22:41
ZofBot Zoffix, Within a submethod the "$
Zoffix leaves to de-IO in EVERSPACE™
MasterDuke Zoffix++ 22:42
BenGoldberg Zoffix, Your Trait::IO auto-close thingy looks insane. Is there no better solution than 5 nested nqp::ctxcaller's? 22:51
AlexDaniel Zoffix++ 22:58
awesome
Zoffix BenGoldberg: no idea. I mostly copied the code from another core trait 23:09
Maybe not; since it looks up a lexical in a scope. If it just were to start going up scopes, trying to find it, it might get a lexical from a wrong scope, if the names clash 23:11
BenGoldberg Also, what if someone uses $ as the filehandle name? 23:13
Zoffix No point 23:18
Zoffix &
AlexDaniel m: sub foo() { … }; foo 23:46
camelia Stub code executed
in sub foo at <tmp> line 1
in block <unit> at <tmp> line 1

Actually thrown at:
in block <unit> at <tmp> line 1
AlexDaniel m: sub foo() { !!! }; foo
camelia Stub code executed
in sub foo at <tmp> line 1
in block <unit> at <tmp> line 1
AlexDaniel m: sub foo() { ??? }; foo 23:47
camelia Stub code executed
in sub foo at <tmp> line 1