samcv $ water | zoffix # command not found: water 00:19
Zoffix could sure use definedness-based defaults right about now :| gist.github.com/zoffixznet/8f52e9f...decd6ce77b 00:24
I guess it's my fault tho. Since I was given green light to do them in a module and then move it to core, but I never bothered :}
Ah, I remember why I didn't do them now... I'm a n00b 00:26
Wonder if lizmat's stash of iterators got one that's "GiveNThenSinkAll 00:57
"
AllButLastNValues is almost good... but it's eager and doesn't sink 01:01
Pretty good collection, but none that suit my needs. Gonna write one. Will use it in IO::Handle.lines, .words, .comb, and .split to handle $limits that'll auto-close the handle for users if needed. 01:08
FirstNSinkAll 01:09
Great. Not only do I now not have water, but tobacco smoke is going into my apartment from the hole in the wall. 01:14
ZofBot: can I stay at your place tonight?
ZofBot Zoffix, *), 0) [1
Zoffix ZofBot: c'mon, don't be an ass
ZofBot Zoffix, Or if acronyms make you happy, there are a variety to pick from: Most Universal More Undefined Modern Undef Master Union Meta Ur Mega Up Or just think of it as a sound a cow makes, which simultaneously means everything and nothing
Zoffix huggable: Mu 01:15
huggable Zoffix, The root of the Perl 6 type hierarchy.: docs.perl6.org/type/Mu
Zoffix huggable: Mu :is: The root of the Perl 6 type hierarchy.: docs.perl6.org/type/Mu Or if acronyms make you happy, there are a variety to pick from: Most Universal More Undefined Modern Undef Master Union Meta Ur Mega Up Or just think of it as a sound a cow makes, which simultaneously means everything and nothing
huggable Zoffix, Added Mu as The root of the Perl 6 type hierarchy.: docs.perl6.org/type/Mu Or if acronyms make you happy, there are a variety to pick from: Most Universal More Undefined Modern Undef Master Union Meta Ur Mega Up Or just think of it as a sound a cow makes, which simultaneously means everything and nothing
Zoffix ZofBot++ # I love you, buddy
AlexDaniel slaps ZofBot 01:42
Zoffix: he refused to talk to me today 01:46
ā€¦ *it* refused
Zoffix AlexDaniel: he doesn't talk in #perl6 01:50
AlexDaniel ZofBot: in any case, I'm sorry 01:55
ZofBot AlexDaniel, PBP "Perl Best Practices"
mst vomits 01:56
Zoffix ZofBot: vomit best practices 02:01
ZofBot Zoffix, As in Perl 5, it is possible to "goto" into a lexical scope, but only for lexical scopes that require no special initialization of parameters
Zoffix uhuh, you keep trying 02:02
mst I have perl5 code that uses goto as longjmp 02:05
geekosaur scaring people away, are we?
samcv how can you make a Label in perl 6:? 02:07
that you can `goto`?
ZofBot, vomit 02:08
ZofBot samcv, The following does *not* cube "2/3": 2/3**3 # 2/(3**3), not (2/3)**3 Decimal fractions not using "e" notation are also treated as literal "Rat" values: 6
Zoffix m: LABEL: { say "meow" }
camelia meow
samcv m: if 0 { thislabel: { say 'label' }; }; goto thislabel 02:09
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
thislabel used at line 1
[Coke] ENOGOTO
Zoffix You can use labels, but we ain't got a goto yet :)
samcv :(
how do i get the label? 02:10
m: thislabel: { 'foo' }; goto thislabel
camelia WARNINGS for <tmp>:
Useless use of constant string "foo" in sink context (line 1)
Label.goto() not yet implemented. Sorry.
in block <unit> at <tmp> line 1
samcv ok got proper error here 02:11
Zoffix m: thislabel: { 'foo' }; dd thislabel.^name
camelia WARNINGS for <tmp>:
Useless use of constant string "foo" in sink context (line 1)
"Label"
Zoffix m: thislabel: { $ = 'foo' }; dd thislabel.^name
camelia "Label"
samcv m: thislabel: { 'foo' }; next thislabel
camelia WARNINGS for <tmp>:
Useless use of constant string "foo" in sink context (line 1)
labeled next without loop construct
in block <unit> at <tmp> line 1
samcv m: thislabel: { 'foo' }; thislabel.goto 02:12
camelia WARNINGS for <tmp>:
Useless use of constant string "foo" in sink context (line 1)
Label.goto() not yet implemented. Sorry.
in block <unit> at <tmp> line 1
Zoffix Seems my water crisis is beneficial to Perl 6. Normally, I would've been asleep 2 hours ago, but now I almost finished hacking up penultimate user-facing IO thing with .lines, .words, .comb, and .split IO::Path/IO::Handle methods :) 02:15
I think then it's IO::Path.child and I'm done with user-facing changes.
Oh, and IO::CatHandle and that's it.
\o/
[Coke] Zoffix: nice 02:24
Zoffix m: say Whatever ~~ Cool 02:40
camelia False
Zoffix That's just uncool.
m: say Whatever ~~ Numeric
camelia False
Zoffix The Whatever is a thorn in the side in any place where it's used to mean same thing as Inf 02:41
We should toss that meaning in 6.e :) 02:45
Or better yet, make Whatever Numeric that Numifies to Inf
\o/ \o/ Praise the Noodly Lord \o/ \o/ I can hear water int he pipes 03:12
:| celebrated too soon 03:43
It's off again, aparently. 11:43pm. Fuckers.
samcv my last apartment they worked on the water like 4 times or more during a year 03:44
i know your pain
Zoffix :'(
geekosaur the water main out front of this place has burst in two successive years 03:46
geekosaur keeps bottled water around now
Zoffix m: use nqp; class { has int $.x = -1; method !SET-SELF ($!x) {self}; method new(\n) {nqp::create(self)!SET-SELF(n) } }.new(42).x.say 04:12
camelia 42
Zoffix wtf... same code in core refuses to compile
In this line: gist.github.com/zoffixznet/4eb8630...-diff-L121 04:13
m: use nqp; role Foo { has int $.x = -1; method !SET-SELF ($!x) {self}; }; class :: does Foo { method new(\n) {nqp::create(self)!SET-SELF(n) } }.new(42).x.say 04:14
camelia Cannot modify an immutable int
in method SET-SELF at <tmp> line 1
in method new at <tmp> line 1
in block <unit> at <tmp> line 1
Zoffix boooo
Man, I'm a slow coder. 4 hours on this commit I'm working on that's barely 2 screens of content and nothing arcane :( 04:32
Finally managed to get it to compile... 04:33
Geth rakudo/nom: 172341c590 | (Zoffix Znet)++ | src/core/Rakudo/Iterator.pm
Remove trailing whitespace
04:37
Zoffix THERE! *phew*. Finally done. 04:38
:}
it's not it
I guess 5 hours :/ 04:48
OMG just compile already 04:51
yeah, fuck it. Will take 1 minute to finish tomorrow 04:52
So sleepy, latest compilation error was due to $!source.sink-call; instead of $!source.sink-all; 04:53
Zoffix drops to bed
holy crap 05:02
ZOFVM: Files=1238, Tests=133657, 108 wallclock secs (18.16 usr 2.85 sys + 2235.48 cusr 147.87 csys = 2404.36 CPU)
Fastest time yet
Geth rakudo/nom: 29f58cd256 | (Zoffix Znet)++ | src/core/Rakudo/Iterator.pm
Implement R::Iter.FirstNThenSinkAll iterator

  - Gives at most N values
  - When done, calls .sink-all and calls an optional Callable
  - Will be used in IO::Handle .lines, .words, .comb, and .split to auto-close
   the handle when given a limit and asked for closing
... (6 more lines)
05:03
Zoffix Oh wait. 05:04
Oh nevermind.
For a second I thought I misrememberd the final decision on the IO Plan, but I didnt :)
Geth rakudo/nom: 90da80f620 | (Zoffix Znet)++ | 2 files
[io grant] Rework read methods in IO::Path/IO::Handle

IO::Path: .line, .comb, .words, .split
  - Don't pass Capture to .open(), pass it to the method
  - Revert eager IO::Path.lines; make it lazy again
IO::Handle.lines: ... (5 more lines)
05:06
Zoffix k, NOW I can sleep
Zoffix drops to bed again
Geth roast: 413b0a62bf | usev6++ | S32-io/io-path-extension.t
Use unicode characters supported on JVM
05:57
rakudo/nom: e0173b9ec3 | usev6++ | t/spectest.data
Don't run chdir-process.t on JVM

  because chdir is not available there.
06:08
roast: 4bb68889a6 | usev6++ | 3 files
[JVM] Fudge tests affected by io grant
06:18
[Tux] This is Rakudo version 2017.03-229-ge0173b9ec built on MoarVM version 2017.03-128-gc9ab59c6 07:15
csv-ip5xs 3.189
test 12.754
test-t 5.024 - 5.121
csv-parser 13.462
Geth rakudo: samcv++ created pull request #1060:
Better align the --help output of the perl6 cmd
07:35
rakudo/nom: d3c93ad36d | (Samantha McVey)++ | src/Perl6/Compiler.nqp
Better align the --help output of the perl6 cmd

Make some changes to make the indentation a little more consistent.
10:00
rakudo/nom: e7e47b302f | (Zoffix Znet)++ (committed using GitHub Web editor) | src/Perl6/Compiler.nqp
Merge pull request #1060 from samcv/help

Better align the --help output of the perl6 cmd
Zoffix ZofBot: You know you didn't get a long enough sleep when you load IRC window and can still see youself saying you're going to bed 10:07
ZofBot Zoffix, In particular, list generators are not flattened until they need to be, if ever
dogbert17 samcv: are you making changes in the same area as RT #130760? 10:26
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=130760
Zoffix m: my $x = 4; $x Ć·= 3; say $x 11:33
camelia 1.333333
Zoffix (Perl 6)++ Letting me type examples of meta assign op on my phone without needing to switch keyboard sections :) 11:34
m: my $x = 4; $x Ɨ= 3; say $x
camelia 12
Zoffix ZofBot: awesome 11:35
ZofBot Zoffix, 456"; $num++; # 124
jnthn grmbl...so on Windows my app with a load of module deps takes twice as long to load as on Linux (with everything precompiled) 11:40
So, --profile-compile to the rescue
41% of time is spen tin canon-cat 11:41
*spent in
Can we, uh, fire it? :P
Zoffix: Dunno if you know anything about this, given your recent I/O work? :)
Zoffix jnthn, yes, I know everything about that. On *nix that stuff is highly optimized but on Windows not at all. Was planning to improve it as part of the grant, hopefully this weekend, before the release 11:43
jnthn Oh, that would be awesome :) 11:44
moritz elsif $volume.chars && $volume !~~ / '\\' $/ {
jnthn eek
That should just be .ends-with, no? :)
moritz looks like that could be cahnged to an ends-with
Zoffix Yeah, nix version is a bunch of nqp ops while windows bersion is a bunch of unoptimized regexes 11:45
jnthn I wonder if this affects dir speed too
Zoffix looks like yeah; at least some branches in conditionals do call canonpath 11:49
Zoffix &
jnthn OK, that could also help us 11:50
++Zoffix :)
RabidGravy If I have a C "struct foo { unsigned char _ [64];}" could I just do "class Foo is repr('CPointer') { method new() { malloc(64) }}" ? 12:35
timotimo you'd also want to nativecast the result of malloc 13:19
so that it ends up actually being a Foo
RabidGravy yeah 13:35
it really doesn't like it if you don't
was just looking at that ZMQ thing
Geth nqp: MasterDuke17++ created pull request #351:
Make errors in QASTOperationsMAST more awesome
13:48
rakudo/nom: fbc6697da6 | (Zoffix Znet)++ (committed using GitHub Web editor) | src/core/IO/Path.pm
Fix typo in comment
13:52
nqp: 513d4ebfbf | MasterDuke17++ | src/vm/moar/QAST/QASTOperationsMAST.nqp
Make errors in QASTOperationsMAST more awesome

Make the wording a bit more consistent and include relevant information where possible. E.g., if the number of arguments to an op is wrong, say both the number expected and received; if the type of an argument is wrong, say both the type expected and received.
14:11
nqp: 7194ff46c7 | (Zoffix Znet)++ (committed using GitHub Web editor) | src/vm/moar/QAST/QASTOperationsMAST.nqp
Merge pull request #351 from MasterDuke17/make_errors_in_QASTOperationsMAST_more_awesome

Make errors in QASTOperationsMAST more awesome
timotimo m: use nqp; nqp::sayfh(1, "hello", 999999)
camelia This type cannot unbox to a native string: P6opaque, Int
in block <unit> at <tmp> line 1
timotimo it didn't give us wrong-number-of-args errors? 14:12
Geth nqp: a70dabf240 | (Zoffix Znet)++ (committed using GitHub Web editor) | src/vm/moar/QAST/QASTOperationsMAST.nqp
s/two/2/

To follow convention established in github.com/perl6/nqp/pull/351
14:13
Zoffix Need more comments: github.com/rakudo/rakudo/pull/1053 14:18
(that's Make `my @a = ^10; my @b = @a[*]` 30-40x faster; by making it return self and not reify)
And this too: github.com/rakudo/rakudo/pull/1020 I feel like rejecting it, simply because it's shifting semi-broken code to another semi-broken state while introducing breakage in 6.c-errata. So, it's not fixing anything really 14:20
And this: "Use foldcase in QASTRegexCompilier" github.com/perl6/nqp/pull/350 14:27
Don't know anything about that code.
.ask samcv Is this good to merge? github.com/perl6/nqp/pull/350
yoleaux Zoffix: I'll pass your message to samcv.
Zoffix Alright. Enough PR reviewing for me for a 'lil while 14:47
huggable: hug MasterDuke
huggable hugs MasterDuke
Zoffix ZofBot: hug huggable 14:50
ZofBot Zoffix, } The current topic is always aliased to the special variable $_
Zoffix Speaking of $_ and current topic. I find I often need to reach for a temp var when doing nqp code. I've been using $_, like here: github.com/rakudo/rakudo/blob/nom/...th.pm#L586 14:51
Are there pros/cons to binding to $_ instead of doing my $somevar := instead? 14:52
Looks like using my $var instead of $_ uses 2.8MB more RAM, but I see no speed diff 14:57
When testing with /usr/bin/time perl6 -e 'sub foo { $_ := rand.abs }; for ^1000_000 { $ = foo }; say now - INIT now'
Oh, that's the result on my weird box that uses waaay more RAM in perl6 -e '' than other boxes. 14:59
On my normal box the diff is just 668kb
Zoffix reads some of the old 6guts posts 15:36
Wow! Perl 6 really come a long way :o Here's talk about adding dynamic typing: 6guts.wordpress.com/2010/08/22/rak...oad-ahead/
Also, crazy how long some of you've been here for :) I'm a n00b by comparison. 15:39
ZofBot: engage de-n00bifying protocols 15:40
ZofBot Zoffix, There is no fail-over either from subroutine to method dispatch or vice versa
Zoffix ZofBot: what's a fail-over
ZofBot Zoffix, The "is symbol" and "is encoding" (for strings) traits also apply to variables
Zoffix reaaaly
m: my $var is symbol('meows') = 42; say meows
camelia 5===SORRY!5=== Error while compiling <tmp>
Can't use unknown trait 'is symbol' in a variable declaration.
at <tmp>:1
------> 3my $var is symbol('meows')7ā5 = 42; say meows
expecting any of:
TypeObject
default
ā€¦
Zoffix ZofBot: you lied! 15:41
ZofBot Zoffix, op Ops are "opcode"s that belong to the "NQP" interpreter or that are dynamically charged by the interpreter of another language
geekosaur didn't lie, just didn't tell the whle truth :) is symbol is a NativeCall thing 16:14
iirc
Zoffix Yeah, it is. 16:17
Geth nqp/uncurse: 02c141f7f6 | TimToady++ | 7 files
remove now-useless .CURSOR calls
16:59
rakudo/uncurse: 10 commits pushed by (Zoffix Znet)++, usev6++, (Timo Paulssen)++, TimToady++
review: github.com/rakudo/rakudo/compare/6...331c51f85d
Zoffix c: 2017.03,HEAD my $b1 = bag(<a b c>); my $b2 = bag(<a b c d e>); for ^100_000 { $ = $b1 (<+) $b2 }; say now - INIT now 17:27
committable6 Zoffix, Ā¦2017.03: Ā«2.1880892Ā» Ā¦HEAD(fbc6697): Ā«0.2272940Ā»
Zoffix m: say (2.22-.06)/(0.227-.06)
camelia 12.934132
Zoffix Looks like (<+) is ~13x faster, but 38b341a/928a406 list it as 5x/6x faster + apparently they had a bug and there was some reverting in 0672082 17:28
Zoffix logs it as about 12x faster and will keep an eye for any relevant newer commits in the list of ones I still need to log
c: 2017.03,HEAD my $b1 = bag(|()); my $b2 = bag(<a b c d e>); for ^100_000 { $ = $b1 (<+) $b2 }; say now - INIT now 17:29
oops
committable6 Zoffix, Ā¦2017.03: Ā«1.11477996Ā» Ā¦HEAD(fbc6697): Ā«0.1135088Ā»
Zoffix Ah, k, it gets slower the more items you got 17:30
Ah, the 6x/5x are the worst case, as I now see is stated in commit bodies 17:32
NeuralAnomaly: status 17:33
NeuralAnomaly Zoffix, [āœ˜] Next release will be in 1 day and 10 hours. Since last release, there are 24 new still-open tickets (0 unreviewed and 1 blockers) and 107 unreviewed commits. See perl6.fail/release/stats for details
Zoffix Shaping out to be a very nice release. Still 107+ commits to log and I ALREADY have a full screen of performance improvement changes :)
ZofBot: the good thing about you is you always listen. Others... Others just scroll. 17:44
ZofBot Zoffix, The use of "<(
Zoffix ZofBot: that's the chicken-balancing-two-rice-grains-on-its-beak operator!
ZofBot Zoffix, meta
Zoffix Ah, righ, *meta* operator
timotimo :D
Geth roast: 418466f8bc | usev6++ | S32-io/open.t
Remove newly added test for open with :ra mode

This combination (READ + append) is explicitely disallowed for the JVM backend [1] and it doesn't make too much sense, anyway.
  [1] docs.oracle.com/javase/8/docs/api/...ribute...-
17:48
bartolin Zoffix: ^^ we talked about that one earlier. for the other tests I fudged for r-j this morning, I'll open a ticket, since they don't look wrong to me. 17:51
Zoffix bartolin++ thanks 17:55
cygx o/ 18:36
bartolin, Zoffix: note that :ra is a perfectly sensible, if obscure mode 18:37
fopen() has supported it at least since the ANSI days
Geth nqp/uncurse: fcff8e222e | TimToady++ | src/QRegex/Cursor.nqp
allow !cursor_init to be used by a BUILD
18:53
rakudo/uncurse: 5069294b56 | TimToady++ | 2 files
Capture and Match shouldn't provide method new

  (Especially when BUILD will work just fine.) Otherwise we force
new grammars that have their own attributes to declare their own new, which should be unnecessary.
rakudo/uncurse: 18bb9be217 | TimToady++ | src/core/Match.pm
do not override nqp's make/made methods

NQPMatchRole from nqp now provides all our $!made service.
Zoffix noted 19:00
we can emulate it on JVM with 19:01
we can emulate it on JVM with :rw + .seek to end, I think
bartolin hi cygx, I just now found the commit message where you added :ra 19:04
github.com/rakudo/rakudo/commit/36f773eb01 19:05
Geth roast: 053189ec05 | usev6++ | S32-io/open.t
Revert "Remove newly added test for open with :ra mode"

This reverts commit 418466f8bc0d5dc304d1ad0541a8a688c3ad3a1f.
cmp. irclog.perlgeek.de/perl6-dev/2017-...i_14424307
19:06
cygx Zoffix: that should work, though we'll have to figure out how to do it best 19:10
first idea would be adding a flag and conditionally seeking in SyncHandle.write, but that's rather smelly
Zoffix I was thinking just nqp::seekfh() in the end of IO::Handle.open in #ifjvm conditionals 19:11
Is that bad?
cygx the position has to be changed before every write 19:12
Zoffix Ohhh
cygx :ra allows you to interleave reading, seeking and writing, but you'll only ever write to the end
Zoffix s: IO::Handle, 'open' 19:15
Geth roast: 84feaafd1f | TimToady++ | S02-types/WHICH.t
Cursor is going away

And Cursor was always considered to be mostly internal anyway, not really part of the official Perl 6 language. So don't test for it.
  (We will still have Cursor for now, but only as an alias to Match.)
19:16
Zoffix :/ the hack bots are in split limbo again... can't reconnect after shutting down either :\ 19:17
ZofBot: where are the robots when you need 'em!
ZofBot Zoffix, ) A type variable can be used anywhere a type name can, but instead of asserting that the value must conform to a particular type, it captures the actual "kind" of the object and also declares a package/type name by which you can refer to that kind later in the signature or body
Zoffix Oh, cool
cygx bartolin: you can blame me for not properly documenting this stuff
Zoffix m: class Bar {}; constant Foo = Bar; sub (Foo) { say "we made it" }($_) for Foo, Bar 19:18
camelia we made it
we made it
bartolin doesn't want to blame anyone :-)
whatever, I send a bug report for the failing test on JVM -- it didn't make it to RT, yet 19:19
Zoffix m: with "foo".IO { .spurt: "meows\n"; with .open(:ra) { .spurt: "foos"; .lines.say; .close }; .lines.say }
camelia ()
(meows foos)
Zoffix m: with "foo".IO { .spurt: "meows\n"; with .open(:ra) { .lines.say; .spurt: "foos"; .lines.say; .close }; .lines.say } 19:20
camelia (meows)
()
(meows foos)
Zoffix m: "foo".IO.unlink
camelia ( no output )
Zoffix So it seeks to-end on first write, looks like.
This smells a bit outta my league
cygx on every write - throw in a seek(0) (or whatever it's called after your refactor) to see the effect 19:21
geekosaur it seeks to end on every write, if we're talking about what the O_APPEND flag does on POSIX
Zoffix .seek ended up unchanged in my refactor. And it's .seek(0, SeekFromEnd); .seek(0) seeks to start 19:22
geekosaur that was the idea
seek to start and watch it automatically go back to the end on the next write
Zoffix Ah. Thanks
bartolin for the records: RT #131145 19:23
rt.perl.org/Ticket/Display.html?id=131145 19:24
Zoffix ZofBot: all these humans with there open modes. You should never need more than: read, write, and corrupt-all-the-data
ZofBot Zoffix, json" file contains this "resource" section: "resource" : { "images" : [ "fido
Zoffix ZofBot: that's wrong. We changed it. It's now "resource": { "images/fido" } 19:25
ZofBot Zoffix, Any quoting form that includes "qq" or ":qq" in its semantic derivation (including the normal double quote form) assumes that all backslashes are to be considered meaningful
Zoffix &
cygx bartolin: the idea was that the one and two letter variants mirror C11 (to some degree), whereas the long forms correspond to the POSIX flags, which need to be combined 19:29
eg :append needs to be combined with :mode<wo> or :mode<rw>
bartolin ah, I see. 19:31
but then a test for only :append does not make much sense, does it? github.com/perl6/roast/blob/84feaa...pen.t#L216
cygx you're right: the combination of :mode<ro> (the default) with :append isn't particularly useful 19:32
Zoffix Wonder if we should have some sort of [pseudo] test in roast for "undefined" behaviour. Basically to *spec* that current behaviour was consciously made to be undefined. 19:38
.oO( that sounds more like a Markdown list: "- `open :append`"
19:39
)
Geth nqp: MasterDuke17++ created pull request #352:
Make errors in QASTCompilerMAST more awesome
19:43
nqp: 66dfddd219 | MasterDuke17++ | src/vm/moar/QAST/QASTCompilerMAST.nqp
Make errors in QASTCompilerMAST more awesome

Make the wording a bit more consistent and include relevant information where possible. Similar to 513d4eb.
19:48
nqp: fbd18cc687 | (Zoffix Znet)++ (committed using GitHub Web editor) | src/vm/moar/QAST/QASTCompilerMAST.nqp
Merge pull request #352 from MasterDuke17/make_errors_in_QASTCompilerMAST_more_awesome

Make errors in QASTCompilerMAST more awesome
roast: 3b9b031186 | usev6++ | 2 files
[JVM] Fudge some tests for large natives
20:08
cygx something like gist.github.com/cygx/795dc8f57e0f5...3cca650574 (untested, not even syntax checked) should make :ra (as well as a few other obscure flag combinations) work on the JVM 20:09
it would be better to use the proper APPEND mode where possible and not pessimize all writes 20:19
though in practice the latter probably won't matter as IO tands to be... IO bound 20:20
*tends
Geth rakudo: MasterDuke17++ created pull request #1061:
Make errors in BOOTSTRAP more awesome
22:07
Zoffix Need comments. A proposal to alter 6.c-errata to NOT test for exact text of error message (the error message text is being improved): github.com/rakudo/rakudo/pull/1061...-294035688 22:15
lizmat . 22:16
timotimo Zoffix: we can potentially match the exception text up in rakudo land and throw a typed exception instead 22:24
then the attributes could be checked
rather than the message
Zoffix It seems a bit weird to match texts. We can throw typed exceptions from VM, right? 22:34
Or from NQP, I dunno
timotimo oh, of course we can
we have an installation mechanism for error generators 22:35
it's somewhere in Exception.pm, probably to the ned?
Zoffix sweet
Maybe that's a better way to go.
timotimo ah yes
bindhllsym P6EX
Zoffix leaves to take the evening off before a 4 day hackathon :D 22:36
ZofBot: night!
ZofBot Zoffix, 1> * :2<10> ** :2<10> 6 So we write those as :2<1
timotimo have a good one! 22:37
Geth nqp: ec85612664 | (Samantha McVey)++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp
[moar] Use foldcase in QASTRegexCompilier

The only remaining places in QASTRegexCompilier for MVM are used for character ranges, which need to stay lc and uc to make character ranges make sense.
This takes advantage of the MoarVM case insensitive string index operator, giving us at least 1.8x speed boost doing case insensitive regex.
23:42
nqp: 7d9f43c99a | (Samantha McVey)++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp
Make sure to push in the sval node before the indexic_s op

  timotimo++
nqp: 1b3f6cf40d | (Samantha McVey)++ (committed using GitHub Web editor) | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp
Merge pull request #350 from samcv/foldcase

  [moar] Use nqp::indexic op in QASTRegexCompilier
samcv yay merged Zoffix++++ for reminding me
samcv i would have been sad if it hadn't gotten into the release and my indexic improvments weren't used :(