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] |
|
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
|