🦋 Welcome to the former MAIN() IRC channel of the Raku Programming Language (raku.org). This channel has moved to Libera (irc.libera.chat #raku) Set by lizmat on 23 May 2021. |
|||
00:02
reportable6 left
|
|||
[Coke] | MasterDuke++ | 00:03 | |
00:03
_ed left
00:05
reportable6 joined
00:13
sono joined
00:19
a3r0_ left,
a3r0 joined
00:33
Doc_Holliwould left
00:45
Xliff joined
|
|||
Xliff | m: class A { method a { say 'class a' }; }; class B is A { }; role AA { method a { say 'role A'; }; }; class C is B does AA { }; C.new.a | 00:46 | |
camelia | role A | ||
Xliff | m: class A { method a { say 'class a' }; }; class B is A { }; role AA { method a { say 'role A'; }; }; class C is B { also does AA }; C.new.a | 00:48 | |
camelia | role A | ||
moon-child | m: class A { method a { say 'class a' }; }; class B is A { }; role AA { method a { say 'role A'; }; }; class C does AA is B { }; C.new.a | ||
camelia | role A | ||
Xliff | I don't want the role to override A.a | 00:49 | |
But I do want A.a to refer to AA.a | |||
m: class A { method a { say 'class a' }; }; class B is A { }; role AA { method a { say 'role A'; }; }; class C is B { also does AA }; B.new.a; C.new.a | 00:50 | ||
camelia | class a role A |
||
Xliff | Let's say that C.new.a is running A.a -- how would I refer to AA.a via self? | 00:53 | |
m: class A { method a { say 'class a' }; }; class B is A { }; role AA { method a { say 'role A'; }; }; class C is B { also does AA method a { 'class C'; }; }; B.new.a; C.new.a | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Two terms in a row at <tmp>:1 ------> 3le A'; }; }; class C is B { also does AA7⏏5 method a { 'class C'; }; }; B.new.a; C. expecting any of: infix infix stopper … |
||
Xliff | m: class A { method a { say 'class a' }; }; class B is A { }; role AA { method a { say 'role A'; }; }; class C is B { also does AA; method a { 'class C'; }; }; B.new.a; C.new.a | ||
camelia | class a | ||
Xliff | m: class A { method a { say 'class a' }; }; class B is A { }; role AA { method a { say 'role A'; }; }; class C is B { also does AA; method a { sau 'class C'; }; }; B.new.a; C.new.a | 00:54 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Undeclared routine: sau used at line 1. Did you mean 'say'? |
||
Xliff | m: class A { method a { say 'class a' }; }; class B is A { }; role AA { method a { say 'role A'; }; }; class C is B { also does AA; method a { say 'class C'; }; }; B.new.a; C.new.a | ||
camelia | class a class C |
||
Xliff | Aha! | ||
Answering my own question... | 00:56 | ||
m: class A { method a { say 'class a' }; }; class B is A { }; role AA { method a { say 'role A'; }; }; class C is B { also does AA; method a { say 'class C'; self.AA::a }; }; B.new.a; C.new.a # Et voila! | |||
camelia | class a class C role A |
||
01:04
parv left
02:04
nativecallable6 left,
statisfiable6 left,
sourceable6 left,
squashable6 left,
bloatable6 left,
bisectable6 left,
evalable6 left,
reportable6 left,
greppable6 left,
committable6 left,
unicodable6 left,
releasable6 left,
notable6 left,
quotable6 left,
benchable6 left,
linkable6 left,
tellable6 left,
shareable6 left,
coverable6 left,
coverable6 joined,
sourceable6 joined,
nativecallable6 joined,
bisectable6 joined
02:05
quotable6 joined,
unicodable6 joined,
reportable6 joined,
releasable6 joined
02:06
statisfiable6 joined,
committable6 joined,
squashable6 joined,
linkable6 joined,
notable6 joined,
greppable6 joined,
evalable6 joined
02:07
benchable6 joined,
bloatable6 joined,
shareable6 joined,
tellable6 joined
02:52
nirnam left
03:05
bd3i joined
03:25
RandalSchwartz left
03:41
bd3i left
03:45
_ed joined
03:50
_ed left
03:53
Doc_Holliwood joined
04:27
Doc_Holliwood left
05:10
_ed joined
05:14
_ed left
05:30
kylese joined
05:31
Doc_Holliwood joined
05:32
Kaiepi left
05:33
Kaiepi joined
05:36
kylese left
05:42
Kaiepi left
05:45
Kaiepi joined
06:00
Kaiepi left,
Kaiepi joined
06:02
reportable6 left
06:04
_ed joined
06:05
reportable6 joined
06:08
_ed left
06:27
l0g joined,
l0g left
06:43
nirnam joined
06:45
frost joined
06:48
patrickb joined
|
|||
patrickb | o/ | 06:57 | |
Anyone knows who is responsible for the raku mailing lists? | |||
07:13
Sgeo left
07:21
stoned75 joined
07:23
Doc_Holliwood left
07:30
xinming_ joined
07:33
xinming left
07:50
dakkar joined
|
|||
lizmat | patrickb: which one do you mean? | 07:58 | |
patrickb | _perl.perl6.users_ | 08:00 | |
lizmat | that would be the Perl NOC | 08:04 | |
patrickb | Thanks lizmat! | 08:17 | |
08:18
patrickb left
08:40
nirnam left
08:41
nirnam joined
08:44
ufobat joined
08:54
dakkar left
08:55
dakkar joined
08:56
Doc_Holliwood joined
09:01
patrickb joined
09:13
patrickb left
|
|||
Xliff | Is there a Raku module for generating random words? | 09:23 | |
Sort of like Silly::Werder | 09:24 | ||
lizmat | modules.raku.org/dist/Random::Names ? | ||
lizmat clickbaits rakudoweekly.blog/2021/06/29/2021-26-r3/ | 09:35 | ||
09:40
jdv left,
jdv joined
09:58
Doc_Holliwood left
|
|||
Xliff | Looks like Inline::Perl5 is broken on latest KUbuntu | 10:19 | |
Wants libperl.so.5.30 but current is on libperl.so.5.32 | |||
And 5.30 is no longer available. | |||
dakkar | does kubuntu ship a inline-perl5 package? | 10:21 | |
moritz | did you upgrade your OS after installing Inline::Perl5? | ||
moon-child | Xliff: recompile? | ||
moritz | you might need to recompile Inline::Perl5 | ||
dakkar | (we're all thinkig the same exact thing 😉) | ||
10:27
sono left
|
|||
Xliff | I did 'zef install --force-install Inline::Perl5' and that didn't change anything. | 10:30 | |
And I did that before mentioning anything here... ;) | |||
dakkar | ok, you're an advanced user ☺ | 10:33 | |
that's very surprising, though | |||
next step: check that you don't have two copies installed | 10:34 | ||
Xliff | Hah! Yep. | ||
Er. Nope. | 10:35 | ||
Weird. | |||
0.52 is getting installed, but 0.53 is available | |||
I install from zef, and it says its installing 0.53 | 10:36 | ||
I do info, but it says 0.52 is installed. | |||
dakkar | yep, two copies in two different directories | ||
Xliff | Hrm. How can I find? | 10:37 | |
dakkar | `raku -V |grep repo::chain` | ||
should tell you where raku looks for modules | |||
Xliff | Well, it looks like I do without :from<Perl5> for now. | 10:40 | |
That doesn't help me at all. The names are all hashed. | |||
dakkar | yes, the names are, sure | ||
but I'm pretty sure we can figure it out | 10:41 | ||
what directories does that command show you? | |||
Xliff | repo::chain=inst#/home/cbwood/.raku inst#/home/cbwood/Projects/rakudobrew/versions/moar-blead/install/share/perl6/site inst#/home/cbwood/Projects/rakudobrew/versions/moar-blead/install/share/perl6/vendor inst#/home/cbwood/Projects/rakudobrew/versions/moar-blead/install/share/perl6/core ap# nqp# perl5# | ||
dakkar | good, nothing too weird there | 10:42 | |
`zef list --installed` should `Inline::Perl5` twice for you | 10:43 | ||
Xliff | ....aaaaand.... | ||
The package came with a version of libp5helper.so precompiled | |||
Which wanted the wrong version of perl. | |||
dakkar | ooh | 10:44 | |
Xliff | Removed it and rebuilt and problem looks sorted. | ||
dakkar++ | |||
dakkar | I'm glad you fixed it! | ||
Xliff | Believe it or not, you did help a lot! Thanks. | 10:56 | |
11:06
ufobat left
11:08
Xliff left,
squashable6 left
11:09
squashable6 joined
11:13
patrickb joined
11:21
ufobat joined
11:50
stoned75 left,
stoned75 joined
12:02
reportable6 left
12:04
reportable6 joined
12:12
frost left
12:15
nirnam left,
nirnam joined
12:25
dogbert17 joined
12:28
dogbert11 left
12:43
AntonOks joined
12:50
RandalSchwartz joined
13:08
dogbert11 joined
13:11
dogbert12 joined,
dogbert17 left
13:13
dogbert11 left
14:03
AntonOks left
14:13
Sgeo joined
14:29
m6locks joined
14:37
eseyman left
|
|||
nirnam | Label.goto() not yet implemented. Sorry. | 14:47 | |
hmmmm | |||
m6locks | m: class a { has @!b; submethod BUILD ( :@c! ) { for @c -> $i { @!b.append($i); say $i; }}}; my @argg = <nsdnskf rgporkgp>; my $d = a.new(c => @argg); | 15:15 | |
camelia | nsdnskf rgporkgp |
||
m6locks | hmm I get an error with that | ||
it says expecting any of: generic role | 15:16 | ||
dakkar | works here on 2021.02 (yes, I'll upgrade some day…) | ||
m6locks | I have 2021.03 | 15:17 | |
dakkar | where does your rakudo say the error is? | ||
m6locks | after the a | ||
ugexe | works on blead and on 2018.01 | ||
m6locks | in class a | ||
ran it again and now it seems to work | |||
weird | |||
dakkar | which probably means you had some previous declaration that changed the meaning of that code | 15:18 | |
m6locks | aye | ||
15:20
ufobat left,
melezhik joined
|
|||
melezhik | . | 15:20 | |
.tell raydiak I've dropped some r3 tests for nested pod , maybe quite simple but still test something - gist.github.com/melezhik/859b91789...7c2000554c | 15:21 | ||
tellable6 | melezhik, I'll pass your message to raydiak | ||
15:29
_ed joined
15:33
_ed left
|
|||
raydiak | thank you :) | 15:35 | |
tellable6 | 2021-06-30T15:21:51Z #raku <melezhik> raydiak I've dropped some r3 tests for nested pod , maybe quite simple but still test something - gist.github.com/melezhik/859b91789...7c2000554c | ||
15:54
sortiz joined
|
|||
sortiz | /msg NickServ VERIFY REGISTER sortiz Of6vRqVeDghL22Ss | 16:01 | |
lizmat | oops | 16:02 | |
sortiz | \o #raku Is an OTP only, no problem. | 16:03 | |
16:04
sortiz left
16:05
sortiz joined
16:10
sortiz left
16:11
sortiz joined
|
|||
El_Che | otp for the win | 16:12 | |
16:24
patrickb left,
sortiz left,
sortiz joined
|
|||
melezhik | i post some r3 tags stat, also including upcoming release if someone is interested - gist.github.com/melezhik/d214191ec...2ce3d50057 | 16:35 | |
so before release is cut one call always run `tomty --only=rc_2021_07+open` to run tests against all open issues and see if they are pass .. | 16:37 | ||
or just `tomty --only=rc_2021_07+open --tags` to see tags stat | 16:38 | ||
that's the idea ... | |||
16:38
dakkar left
17:00
peder left
17:02
peder joined,
sortiz left
17:18
neshpion joined
|
|||
perlbot | nirnam pasted a new file at l.perl.bot/p/x95xhe - | 17:39 | |
nirnam | I did some fiddleing with experimental.rakumod to make cached worked with hyper | 17:40 | |
and I finally did the brenchmark | |||
17:41
poseidon joined,
poseidon left
|
|||
nirnam | it gonna carsh every time thread accessing the same cache not just modifying, so I just lock everything that have to do with cache in there | 17:43 | |
[Coke] | did MasterDuke's try not work? | 17:56 | |
nirnam | it blowing up on %cache.EXISTS-KEY , he only lock %caches{$key} := target(|c) | 17:57 | |
[Coke] | interesting. I think he and I both thought we just needed to worry about the *set*, not the get. | ||
I wonder if we have any benchmarks on cached we could test a new impl. again | 17:58 | ||
17:59
eseyman joined
18:00
eseyman left
18:02
reportable6 left
18:03
reportable6 joined,
eseyman joined
|
|||
nirnam | perfomance wise, if I reverse the list before feeding it, hyper with chache is already beating just chache | 18:06 | |
not by alot, but it become apparent for very very last set of input | 18:07 | ||
18:20
RandalSchwartz left
19:20
evalable6 left,
linkable6 left
19:21
linkable6 joined
|
|||
MasterDuke | nirnam: so you modified my patch to protect the whole sub? | 19:21 | |
nirnam | yeah | 19:22 | |
19:23
evalable6 joined
|
|||
MasterDuke | did that ever fail for you? | 19:23 | |
nirnam | Didn't yet, I tried variation of the collatz function, and nothing been blowing up yet | 19:24 | |
MasterDuke | have you benchmarked cached, but no hyper with the patch and without? i.e., how much does adding the lock.protect slow things down in the case where it isn't needed? | 19:25 | |
because if it's not terrible, might be worth submitting as a PR for rakudo | 19:26 | ||
nirnam | I didn't does anything with hyper, and hyper with cached will not work without the patch | 19:27 | |
MasterDuke | well, i'd say it's worth submitting as a PR regardless, and there is a large performance drop for the non-hyper case that'd be a good cause for discussion | ||
*if there is | |||
nirnam | Ah, in that case I should benchmark only cached without hyper, with and without patch on | 19:28 | |
19:29
Doc_Holliwood joined
|
|||
MasterDuke | yeah | 19:30 | |
19:40
rassoc joined
19:56
melezhik left
|
|||
perlbot | nirnam pasted a new file at l.perl.bot/p/16zsu2 - | 19:56 | |
nirnam | it does run slower with the patch | ||
when it get to one million there's about 1 minute difference | 19:57 | ||
I also used 3 lock in there, one for each time %cache is being access in your original patch | 19:58 | ||
rassoc | interesting how much slower cached vs manual memoization via state var is; almost 3x | 19:59 | |
20:01
sono joined
|
|||
nirnam | I don't know if I did the manual cache right, but it about the same to me | 20:02 | |
rassoc | gimme a sec, will create a gist | ||
nirnam | I can see small difference, in small input set, I can see how that could scale when there's more and more input | 20:04 | |
woo, you're right, it is about 3 times faster | 20:06 | ||
rassoc | gist.github.com/rassoc/7cc2d9b853f...98e9da3ab9 | ||
just the non-hyper variants | |||
and there's a huge gap to ruby :( | 20:07 | ||
nirnam | and astronomical gap to C, but we don't talk about C | 20:08 | |
I tried it in C, it took .5 second for one million chain | |||
rassoc | yeah, same deal in crystal; virtually the same ruby code | ||
20:10
Doc_Holliwood left
20:35
_ed joined
20:40
_ed left
20:54
nirnam left
21:13
nirnam joined
21:38
stoned75 left
21:43
nirnam left
21:53
nirnam joined
21:54
nirnam left
|
|||
moon-child | tried cl (ix.io/3rBo/lisp), it's 0.7s for a million | 21:57 | |
(that's with >/dev/null; doing i/o, the terminal slows it down) | 21:58 | ||
22:03
avar joined
|
|||
rassoc | sbcl? can't reproduce, way slower for me | 22:05 | |
moon-child | yeah, sbcl | 22:06 | |
ix.io/3rBx | 22:07 | ||
rassoc | but it might just be the slowpoke toaster i'm running this on | ||
22:08
littlebenlittle[ left,
demostanis[m] left,
juanfra left,
CIAvash left,
AlexDaniel left,
ComplYue[m] left,
tyil[m] left,
cnx left
|
|||
rassoc | yeah, that's what i'm doing; 1.81 s, 228660 kb | 22:08 | |
moon-child | I get similar times on my old crappy laptop | 22:09 | |
22:09
juanfra joined
|
|||
moon-child | rassoc: note the cl is going up to a million, raku just doing 100k | 22:09 | |
22:09
tyil[m] joined,
CIAvash joined,
ComplYue[m] joined,
demostanis[m] joined,
AlexDaniel joined
22:10
cnx joined
|
|||
rassoc | sure, and this is ruby with 1mil: 2.11 s, 169560 kb | 22:10 | |
not THAT bad | |||
22:10
littlebenlittle[ joined
|
|||
rassoc | raku is still crunching ;) | 22:10 | |
moon-child | heh, that one took me 1-2 minutes | 22:11 | |
rassoc | typing didn't help at all. was curious whether uint annotations would help, but those aren't implemented for hashes just yet | 22:12 | |
22:22
Doc_Holliwood joined
|
|||
moon-child | I would try using a buf32 instead of a hash, and just falling back if it's out of range | 22:29 | |
rassoc | try it, hehe. raku did swap like crazy for me :) | 22:33 | |
moon-child | oh it'll autoexpand | ||
rassoc | yeah, max key is 1570824736 for 100k | 22:34 | |
japhb | Commented with a micro-opt | 22:39 | |
22:39
cognominal left
|
|||
japhb | BTW, gist.github.com/rassoc/7cc2d9b853f...l-raku-L12 forces constant type coersions from Num to Int. | 22:40 | |
(Because 1E5 is a Num, not an Int) | 22:41 | ||
22:41
cognominal joined
|
|||
rassoc | initial solution isn't mine | 22:42 | |
seeing 2.19 s, 154772 kb for yours; slick | |||
that's ruby's runtime for a 1mil seq | 22:43 | ||
japhb | Err, wasn't claiming it was, just explaining for those who wondered why that variant was so slow. | ||
rassoc | 1.7s even; system had load | 22:44 | |
welcome to the club of crappy i3 machines ;) | |||
japhb | Heh | 22:46 | |
23:02
_ed joined
23:06
_ed left
|