01:40 leont left 03:22 sourceable6 left, nativecallable6 left, releasable6 left, committable6 left, benchable6 left, statisfiable6 left, squashable6 left, bloatable6 left, greppable6 left, quotable6 left, linkable6 left, coverable6 left, shareable6 left, tellable6 left, evalable6 left, bisectable6 left, notable6 left, unicodable6 left, unicodable6 joined, greppable6 joined 03:23 evalable6 joined, bloatable6 joined, shareable6 joined, bisectable6 joined, committable6 joined, squashable6 joined 03:24 statisfiable6 joined, nativecallable6 joined, coverable6 joined, tellable6 joined, linkable6 joined, sourceable6 joined 03:25 releasable6 joined, notable6 joined, benchable6 joined, quotable6 joined 05:06 frost-lab joined 08:34 domidumont joined 08:42 MasterDuke joined 09:23 leont joined
MasterDuke hm. trying to pull an nqp::index out in front of grammar parsing might be quite difficult. doing it in the QAST::Block of a regex didn't really help because of the overhead of the parse() and ACCEPTS(), but maybe it would help for grammars? 09:30
10:03 [Tux] left 10:09 [Tux] joined
MasterDuke heh. i got it working with a simple grammar. but...it slows it down by a little 10:10
10:21 MasterDuke left 10:26 MasterDuke joined
MasterDuke when a grammar is parsing some text, is any particular token applied against the entire thing? or some substring of the text? i.e., `self.target` in the QAST::Block of a token seems to be the entire text, but i'd rather work against something smaller 10:27
oh, i guess i can use `.(from|to|pos)()` 10:29
moritz token TOP applies to the whole file 10:30
lizmat Files=1337, Tests=114215, 224 wallclock secs (29.23 usr 8.61 sys + 3097.67 cusr 288.87 csys = 3424.38 CPU) 11:02
11:05 MasterDuke left
Geth_ rakudo/expose-objecthash-role: 56113de2c1 | (Elizabeth Mattijsen)++ | 4 files
Move Typed/ObjectHash files to new location

No source changes yet
11:10
rakudo/expose-objecthash-role: fce3f7764e | (Elizabeth Mattijsen)++ | 19 files
Track Typed/ObjectHash -> Hash::Typed/Object changes
11:38 MasterDuke joined
nwc10 m: my int $a = 1; my int $b = 1; $a does role { method Str() { "foo" } }; $b.Str.say 12:45
camelia foo
nwc10 m: my $a = 1; my $b = 1; $a does role { method Str() { "foo" } }; $b.Str.say
camelia foo
nwc10 j: my int $a = 1; my int $b = 1; $a does role { method Str() { "foo" } }; $b.Str.say
camelia 1
nwc10 j: my $a = 1; my $b = 1; $a does role { method Str() { "foo" } }; $b.Str.say
camelia foo
nwc10 github.com/MoarVM/MoarVM/pull/1379 fixes the first for `m` 12:46
clearly the second is in NQP or Rakudo
that's not something I can easily find
12:49 frost-lab left 12:50 sena_kun joined 12:51 MasterDuke left 13:07 MasterDuke joined 13:17 MasterDuke left
lizmat nwc10: could you make a Rakudo issue for that? so it doesn't fall through the cracks ? 13:27
nwc10 OK
I was going to say: you mean the second one that isn't just MoarVM? But I guess the first one also needs "tests needed" 13:28
13:30 MasterDuke joined
lizmat notable6: weekly 13:35
notable6 lizmat, No notes for “weekly”
nwc10 github.com/rakudo/rakudo/issues/4015 13:40
sena_kun bisectable6, my $a = 1; my $b = 1; $a does role { method Str() { "foo" } }; $b.Str.say 13:43
bisectable6 sena_kun, Will bisect the whole range automagically because no endpoints were provided, hang tight
sena_kun, ¦6c (48 commits): «foo␤»
sena_kun, Nothing to bisect!
ugexe m: my $a = "1".Int; my $b = "1".Int; $a does role { method Str() { "foo" } }; $b.Str.say 14:03
camelia foo
ugexe that says 1 on my system... 14:04
This is Rakudo version 2020.01 built on MoarVM version 2020.01.1
bisectable6, my $a = "1".Int; my $b = "1".Int; $a does role { method Str() { "foo" } }; $b.Str.say 14:05
bisectable6 ugexe, Will bisect the whole range automagically because no endpoints were provided, hang tight
nwc10 somewhere (this channel) I think, someone noted that the exact syntax used to define the variables causes different code paths to be taken
bisectable6 ugexe, Output on all releases: gist.github.com/b81ae42c0a6a50e656...582bb2a97d
ugexe, Bisecting by output (old=2020.05.1 new=2020.06) because on both starting points the exit code is 0
nwc10 it's way beyond me.
(my head is too full of other things, which I do understand better) 14:06
bisectable6 ugexe, bisect log: gist.github.com/57f81bbf8162f5633e...7243301dbc
ugexe, Output on all releases and bisected commits: gist.github.com/f3abfc8538a0730e60...41766c572b
MasterDuke 3ee1777a6b78f30cb6997701a667c0a6de04269f 14:07
linkable6 (2020-05-13) github.com/rakudo/rakudo/commit/3ee1777a6b Make "42".Int about 4.3x faster
MasterDuke m: my $a = "1".Int; my $b = Int.new("1".Int); $a does role { method Str() { "foo" } }; $b.Str.say 14:08
camelia 1
Geth_ nqp: 6859824bba | (Daniel Green)++ | src/HLL/Grammar.nqp
Add missing closing '"' to error message
14:09
AlexDaniel` hm, bisectable printed garbage in that last message 14:53
weird
lizmat and another Rakudo Weekly News hits the Net: rakudoweekly.blog/2020/11/09/2020-...-serviced/ 14:59
MasterDuke lizmat: the link to the new cro points to commaide.com/download 15:01
lizmat argh.... wordpress hits again :-(
MasterDuke oh, that also looks like a new release 15:02
lizmat yeah, but that was last week :-) 15:03
Anyways, fixed now, MasterDuke++
MasterDuke lizmat++ 15:07
15:09 MasterDuke left
jjatria jmerelo: Belated thanks for the Gitlab invite! 15:15
tellable6 jjatria, I'll pass your message to jmerelo
15:15 MasterDuke joined
MasterDuke lizmat: btw, if you want another place to check, lwn.net also sometimes has raku-related comments. i know i've seen several by nine++ 15:17
lizmat ah, good point
MasterDuke e.g., lwn.net/Articles/835004/ 15:18
lizmat yeah, it's just that LWN (like the mailing list) has such a rotten UI
anyways, thanks for the nudge 15:19
afk for a bit&
[Tux] Rakudo v2020.10-59-g1321a8533 (v6.d) on MoarVM 2020.10-31-gb13f6a24c
csv-ip5xs0.867 - 0.882
csv-ip5xs-208.053 - 8.476
csv-parser27.320 - 28.084
csv-test-xs-200.382 - 0.385
test7.770 - 8.463
test-t1.810 - 1.916
test-t --race0.829 - 0.850
test-t-2030.681 - 32.166
test-t-20 --race8.698 - 9.477
15:23
MasterDuke timotimo: i almost have pulling a literal out into an nqp::index working for grammars (works in some toy examples, but the nqp build dies with it turned on). but i'm doing it in the QAST::Block because otherwise i run into the WVal problem referring back to the grammar 15:35
but it appears to do a lot of extra work, i'm not sure why, backtracking maybe? 15:37
think there's a better way to do it this way? or do i need to figure out the WVal problem?
15:40 domidumont left 16:09 Altai-man joined 16:12 sena_kun left
ugexe fwiw as of a few weeks ago e.g. `"depends" : [ { "any": ["Lib::Curl","Lib::Wget"] } ]` is available in the latest version of zef (nine++) 16:51
===> Dependencies: any(Lib::Curl, Lib::Wget), Test
===> Searching for missing dependencies: any(Lib::Curl,Lib::Wget)
===> Failed to find dependencies: any(Lib::Curl,Lib::Wget)
Failed to resolve some missing dependencies
or for a success 16:56
===> Dependencies: any(Lib::Curl, Net::HTTP), Test
===> Searching for missing dependencies: any(Lib::Curl,Net::HTTP)
===> Found dependencies: Net::HTTP:ver<0.0.9>:auth<github:ugexe> [via Zef::Repository::LocalCache]
MasterDuke cool 17:03
nine Time to dust off my patches for OpenSSL (which depends on {"any": [{"name":"ssl", "from": "native", "ver": "1.1"}, {"name":"ssl", "from": "native", "ver": "1.0"}]}) 17:16
With these patches it will no longer need a -devel or -dev package of OpenSSL installed 17:17
ugexe It'll need something for windows though, no? OpenSSL packages its own ssleay32.dll and libeay32.dll 17:21
i guess just return an empty dependency set on windows 17:23
17:34 eater left
nine I just trimmed that away for IRC 17:46
ugexe yeah i figured, but i had forgot an empty dependency set was ok. i was initially thinking 'but we dont have a way to declare a dependency such as foo.dll that the package itself will provide if its missing" 17:47
17:49 domidumont joined 18:43 domidumont left 18:53 MasterDuke left
Geth_ rakudo/reorganize-array-shaping: e8cab59995 | (Elizabeth Mattijsen)++ | 11 files
Start making Array roles exposed properly as well

Move source files to their new location: no changes to code just yet
19:23
rakudo/reorganize-array-shaping: 46786b5e46 | (Elizabeth Mattijsen)++ | 8 files
Expose shaped/typed array roles

This doesn't change any functionality, it just makes the code better maintainable and changes some names:
   TypedArray -> Array::Typed
   ShapedArray -> Array::Shaped
... (15 more lines)
rakudo: lizmat++ created pull request #4016:
Reorganize array shaping
19:24
19:26 MasterDuke joined 20:10 sena_kun joined 20:12 Altai-man left
gfldex m: my @a; @a[0] = (1,2).Slip; .say for @a; 20:20
camelia (1 2)
gfldex Should that slip?
lizmat m: my @a; @a[0] = (1,2).Slip; dd @a 20:23
camelia Array @a = [slip(1, 2),]
lizmat well, you stored the slip at @a[0[, and the moment you access it, it gets slipped 20:24
m: my @a; @a[0] = (1,2).Slip; dd @a[0[
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in subscript; couldn't find final ']' (corresponding starter was at line 1)
at <tmp>:1
------> 3my @a; @a[0] = (1,2).Slip; dd @a[0[7⏏5<EOL>
expecting any of:…
lizmat m: my @a; @a[0] = (1,2).Slip; dd @a[0]
camelia Slip @a = $(slip(1, 2))
lizmat hmmm...
m: my @a; @a[0] = (1,2).Slip; say @a[0]
camelia (1 2)
lizmat the "say" is actually applying the single argument rule, I guess 20:25
m: my @a; @a[0] = (1,2).Slip; say @a[0], "foo"
camelia (1 2)foo
lizmat hmmm
gfldex This is either a rakudobug or an ENODOC.
lizmat well, a Slip is just a List with benefits
timotimo badum tss 20:26
lizmat :-)
gfldex m: my @a; @a[0] = (1,2).Slip; @a.iterator.pull-one.say; 20:28
camelia (1 2)
Geth_ rakudo/reorganize-array-shaping: 86f17387c9 | (Elizabeth Mattijsen)++ | 2 files
Make sure exception is stubbed at the right time
lizmat m: my @a; @a[0] = (1,2).Slip; dd @a.iterator.pull-one # say is hiding information 20:29
camelia Slip @a = $(slip(1, 2))
gfldex I did expect the iterator to decent into the Slip.
lizmat why ? 20:30
it is itemized, so it shouldn't anyway
but even then
gfldex because the docs say: A Slip is a List that automatically flattens into an outer List (or other list-like container or iterable).
lizmat m: my @a; @a[0] := (1,2).Slip; dd @a.iterator.pull-one
camelia slip(1, 2)
lizmat m: my @a; @a[0] := (1,2).Slip; dd $_ for @a.iterator.pull-one 20:31
camelia 1
2
lizmat m: my @a; @a[0] = (1,2).Slip; dd $_ for @a.iterator.pull-one
camelia 1
2
lizmat when you use an iterator, you're really on your own 20:32
gfldex m: my @a; @a[0] = (1,2).Slip; dd $_ for @a;
camelia Slip @a = $(slip(1, 2))
lizmat it's the handling of whatever an iterator produces, is where the flattening happenbs
gfldex I don't want to use the iterator at all.
lizmat m: my @a; @a[0] := (1,2).Slip; dd $_ for @a;
camelia slip(1, 2) 20:33
lizmat m: my @a; @a[0] := (1,2).Slip; dd $_ for @a.flat;
camelia slip(1, 2)
lizmat hmmm
m: my @a; @a[0] := (1,2); dd $_ for @a.flat; 20:34
camelia (1, 2)
lizmat m: my @a; @a[0] := (1,2); dd @a.flat; 20:35
camelia ((1, 2),).Seq
gfldex All cases without a Slip are correct. But they behave the same then with a Slip. So why have the Slip? 20:36
Is there any use case where one would want to maintain the Slip?
lizmat m: my @a; @a[0] = (1,2).Slip; dd @a.map({$_})
camelia (1, 2).Seq
gfldex At the other hand, if Slip works on array container assignment/binding one does not need splice anymore. 20:37
m: my @a = [ (1,2), (3,4), (5,6) ]; @a[1] = (<a b>, <c d>).Slip; .say for @a; 20:38
camelia (1 2)
((a b) (c d))
(5 6)
lizmat m: my %h; %h<a> = (1,2,3).Slip; dd $_ for %h<a> 20:39
camelia 1
2
3
lizmat m: my @a; @a[0] = (1,2,3).Slip; dd $_ for @a[0]
camelia 1
2
3
lizmat handy uses of Slip inside a Hash or an Array
It feels like we could use more documentation, so perhaps make a doc issues ? 20:40
*issue
gfldex I'm not conviced this is an ENODOC. Because I could not explain why it works for Hash-elements and List but not for Array. 20:42
lizmat gfldex: so what is the difference in behaviour between List and Array ? 20:45
afk for at least a few hours& 20:50
22:06 MasterDuke left 22:23 JJAtria[m] joined 22:24 sena_kun left 22:25 sena_kun joined 22:53 sena_kun left 23:39 Kaeipi joined, Kaiepi left