🦋 Welcome to Raku! raku.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: colabti.org/irclogger/irclogger_log/raku Set by ChanServ on 14 October 2019. |
|||
timotimo | i've found that there's apparently some sfline blocks that have 0 entries in them, but are still written for some reason | 00:25 | |
00:26
Nile left
|
|||
timotimo | the reading code was not happy with that | 00:28 | |
00:29
Doc_Holliwould left
00:31
xinming_ left
00:32
xinming_ joined
|
|||
timotimo | gist.github.com/timo/01c5375872506...2f57319e27 looks odd | 00:39 | |
why would pull-one (Channel.pm6:186) have <anon> <Fetcher.rakumod:135) as its *outer*? | 00:42 | ||
00:43
xinming_ left,
xinming_ joined
|
|||
timotimo | greppable6: use.*Fetcher | 00:45 | |
greppable6 | timotimo, Sorry kid, that's not my department. | ||
timotimo | hum? | 00:46 | |
greppable6: help | |||
greppable6 | timotimo, Like this: greppable6: password # See wiki for more examples: github.com/Raku/whateverable/wiki/Greppable | ||
timotimo | file grep use.*Fetcher | 00:50 | |
greppable6: file grep use.*Fetcher | |||
greppable6 | timotimo, Found nothing! | ||
timotimo | greppable6: tree grep use.*Fetcher | ||
greppable6 | timotimo, Found nothing! | ||
timotimo | greppable6: tree grep Fetcher | ||
greppable6 | timotimo, Found nothing! | ||
timotimo | greppable6: file grep Fetcher | ||
greppable6 | timotimo, Found nothing! | ||
timotimo | greppable6: file Fetcher | ||
greppable6 | timotimo, Found nothing! | ||
timotimo | greppable6: tree Fetcher | ||
greppable6 | timotimo, Found nothing! | ||
timotimo | *shrug* | ||
01:04
oddp left
01:10
sena_kun joined
01:11
molaf left,
rbt left,
rbt joined,
Altai-man_ left
01:23
molaf joined
02:01
Manifest0 left
02:03
Manifest0 joined
02:07
xinming_ left
02:08
xinming_ joined
02:09
Cabanossi left
02:16
Cabanossi joined
02:20
rbt left
02:21
rbt joined
02:23
camelCaser left
02:25
camelCaser joined
02:41
xinming_ left
02:42
xinming_ joined
02:48
perlbot left,
simcop2387 left
02:50
simcop2387 joined
02:52
perlbot joined
03:04
cpan-raku left
03:06
cpan-raku joined,
cpan-raku left,
cpan-raku joined
03:09
Altai-man_ joined
03:12
sena_kun left
03:13
Sgeo left
03:17
dataangel joined
03:22
Sgeo joined
03:44
_jrjsmrtn joined,
__jrjsmrtn__ left
04:05
team\andinus joined
04:08
molaf left
04:52
molaf joined
05:10
sena_kun joined
05:11
Altai-man_ left
05:26
molaf left
05:28
tejr left
05:29
tejr joined
06:00
Altai-man_ joined
06:03
sena_kun left
06:04
tejr left
06:21
tejr joined
06:35
[particle] joined
06:44
bocaneri joined
|
|||
abraxxa | can someone please verify with me if I'm doing something wrong or if I found a bug in rakudo? | 06:52 | |
(20:44:11) abraxxa: any idea why copying a file to a gvfs mounted dir doesn't work? | |||
(20:44:31) abraxxa: I get an Failed to copy file: operation not supported on socket error | |||
06:56
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
raku-bridge | <DataKinds> without knowing anything about the situation i'd find that hard to believe if that was a rakudo bug | 07:00 | |
abraxxa | I can think of some low-level operation that is not supported on gvfs created, presumably virtual, directories | 07:06 | |
07:06
pecastro joined
07:08
Doc_Holliwould joined
07:12
xinming_ left,
xinming_ joined
07:14
JJMerelo joined
|
|||
JJMerelo | Hello, Raku community. Now you're the proud owner of 45 new modules. Here's what you need to do... | 07:15 | |
101 community modules now... | 07:16 | ||
07:19
sarna joined
|
|||
raku-bridge | <DataKinds> does anyone know how I might be able to simplify this? | 07:28 | |
<DataKinds> m: (-> @p { lazy gather { loop { for @p -> $p { take $p } } } })((10,20))[^10] | 07:29 | ||
evalable6 | |||
Geth | ecosystem/JJ-patch-15: e590fb2f63 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | META.list Update location Datetime::Math |
||
ecosystem: JJ++ created pull request #510: Update location Datetime::Math |
|||
JJMerelo | DataKinds not really... | 07:30 | |
DataKinds probably eliminate one parenthesis | |||
m: say (-> @p { lazy gather { loop { for @p -> $p { take $p } } } })(10,20)[^10] | 07:31 | ||
camelia | Too many positionals passed; expected 1 argument but got 2 in block <unit> at <tmp> line 1 |
||
JJMerelo | m: say (-> @p { lazy gather { loop { for @p -> $p { take $p } } } })((10,20))[^10] | ||
camelia | (10 20 10 20 10 20 10 20 10 20) | ||
JJMerelo | Not even that. So no. | ||
Geth | ecosystem: e590fb2f63 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | META.list Update location Datetime::Math |
||
ecosystem: 284f24833f | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | META.list Merge pull request #510 from Raku/JJ-patch-15 Update location Datetime::Math |
|||
raku-bridge | <DataKinds> JJMerelo: ah darn! thank you though | 07:32 | |
<DataKinds> shame you can't call take like @p.map: take | 07:33 | ||
07:33
aborazmeh left
|
|||
JJMerelo | DataKinds that would return a Seq, and it wouldn't be lazy. I assume laziness is what you want, right? | 07:34 | |
raku-bridge | <DataKinds> ahh, yeah it is | 07:35 | |
<DataKinds> I'm just playing with alternatives to python's itertools | 07:36 | ||
07:36
kensanata joined
07:39
rbt left,
wamba joined,
rbt joined
|
|||
raku-bridge | <DataKinds> did something really clever this one, I think: | 07:39 | |
<DataKinds> m: say ((-> $elem, $n = Inf { $elem, $elem ... { $++ >= $n - 1 } })(5, 10)) | |||
evalable6 | (5 5 5 5 5 5 5 5 5) | ||
07:50
Sgeo left
07:55
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
CIAvash | DataKinds: can't you use `|@a xx ∞`? | 07:55 | |
07:57
cgfbee left
|
|||
raku-bridge | <DataKinds> 😍 | 07:57 | |
<DataKinds> I can indeed CIAvash, thank you | |||
<DataKinds> that's awesome | 07:58 | ||
08:01
sena_kun joined
|
|||
raku-bridge | <DataKinds> python's accumulate(): | 08:02 | |
<DataKinds> m: say ((-> @p, &func = * + * { [[&func]] @p })((1,2...*))[^15]) | 08:03 | ||
evalable6 | (signal SIGHUP) «timed out after 10 seconds» | ||
raku-bridge | <DataKinds> 😦 discord ate my extra backslashes | ||
08:03
Altai-man_ left
08:05
patrickb joined,
aborazmeh left
|
|||
raku-bridge | <DataKinds> m: say ((-> @p, &func = * + * { [\[&func]] @p })((1,2...*))[^15]) | 08:06 | |
evalable6 | (1 3 6 10 15 21 28 36 45 55 66 78 91 105 120) | ||
08:19
JJMerelo left
08:24
JJMerelo joined
08:33
JJMerelo left
08:37
xinming_ left
08:38
xinming_ joined,
cgfbee joined
|
|||
raku-bridge | <DataKinds> this is a very silly question, but I can't find it: is there a break control flow statement? | 08:55 | |
<DataKinds> ah. last. that's an interesting name | 08:56 | ||
09:06
wamba left
09:07
squashable6 left,
antoniogamiz joined,
squashable6 joined
09:09
antoniogamiz left,
antoniogamiz joined
|
|||
antoniogamiz | o/ | 09:10 | |
I have just installed raku using rakudobrew in windows 10 but 'raku' command is not available | 09:11 | ||
do i need to change the PATH? I thought that was done automatically by rakudobrew | |||
09:12
bocaneri left
09:14
bocaneri joined
|
|||
moritz | antoniogamiz: rakudobrew cannot change PATH of your shell without your cooperation, somehow | 09:18 | |
github.com/tadzik/rakudobrew says you need ot do export PATH=~/.rakudobrew/bin:$PATH | 09:19 | ||
antoniogamiz | moritz, but that's for adding rakudobrew to the PATH, isnt it? My problem is that 'raku' command is not available | 09:21 | |
moritz | antoniogamiz: but did you do it? it's part of the installation instruction | 09:27 | |
antoniogamiz | yep | 09:28 | |
rakudobrew works perfectly | |||
moritz | rakudobrew might add some symlinks to other binaries in in ~/.rakudobrew/bin | ||
does it do that? | |||
antoniogamiz | but after running rakudobrew build moar 2020.06, neither raku nor perl6 command works | ||
moritz | is anything else in ~/.rakudobrew/bin ? | 09:29 | |
antoniogamiz | I do not have a .rakudobrew directory (using Windows) I have a rakudobrew directory | ||
09:29
lichtkind joined
|
|||
antoniogamiz | in rakudobrew/bin I only have: rakudobrew and rakudobrew.bat | 09:30 | |
09:46
oddp joined
|
|||
antoniogamiz | moritz, agh I forgot to execute rakudobrew switch moar-2020.06 | 09:47 | |
10:01
Altai-man_ joined
|
|||
SmokeMachine | m: class Bla { method a { $.b; self.clone }; method b { say self.WHY } }; my $a = Bla.new; $a.b; $a.a; #={ foi? } $a.b #is that expected? | 10:01 | |
camelia | foi? foi? foi? |
||
jnthn | SmokeMachine: Which bit of it surprises you? | 10:03 | |
10:03
sena_kun left
|
|||
SmokeMachine | m: class Bla { method a { $.b; self.clone }; method b { say self.WHY } }; class Ble {}; my $a = Bla.new; $a.b; $a.a; #={ foi? } $a.b; Bla.new.b; say Bla.WHY; say Ble.WHY | 10:04 | |
camelia | foi? foi? foi? foi? foi? No documentation available for type 'Ble'. Perhaps it can be found at docs.raku.org/type/Ble » | ||
SmokeMachine | jnthn: is #= adding documentation to the class through the instance? | ||
jnthn | Oh. Yes, for certain, because the documentation lives in the meta-object. | 10:05 | |
And is attached during the compilation. | |||
I don't think instances come into it at all; it's a compile time thing. Declarator commnets have no runtime semantics. | 10:06 | ||
SmokeMachine | m: class Bla {}; class Ble {}; say [Bla, Ble].pick.new #={ foi? }; say Bla.WHY; say Ble.WHY # what about this? | 10:08 | |
camelia | Bla.new foi? No documentation available for type 'Ble'. Perhaps it can be found at docs.raku.org/type/Ble » | ||
lizmat | weekly datakinds.github.io/2020/06/24/pyt...-pure-raku | ||
weekly: datakinds.github.io/2020/06/24/pyt...-pure-raku | |||
notable6 | lizmat, Noted! (weekly) | ||
jnthn | SmokeMachine: I guess if you have two declarations on the same line, it's just finding the first one to attach the doc too | 10:09 | |
If you're using the "thing on this line" syntax and putting two things on the line, you're probably asking to be confused. :P | 10:10 | ||
SmokeMachine | m: class Bla {}; class Ble {}; say [Bla, Ble].pick.new #={ foi? }; say Bla.WHY; say Ble.WHY | ||
camelia | Ble.new foi? No documentation available for type 'Ble'. Perhaps it can be found at docs.raku.org/type/Ble » | ||
SmokeMachine | m: class Bla {}class Ble {}; say [Bla, Ble].pick.new #={ foi? }; say Bla.WHY; say Ble.WHY | 10:11 | |
camelia | Bla.new No documentation available for type 'Bla'. Perhaps it can be found at docs.raku.org/type/Bla foi? » | ||
SmokeMachine | jnthn: yes, that makes sense... | ||
jnthn: thank you | |||
jnthn | I wonder if it should be grumpy if you try and do such "attachment at a distance" though | 10:12 | |
It seems more likely to imply confusion than anything else. | |||
lizmat | m: say Int.WHY | 10:13 | |
camelia | No documentation available for type 'Int'. Perhaps it can be found at docs.raku.org/type/Int » | ||
SmokeMachine | yes... I was thinking it was being applied to the instance, and not to the class... if it gave error, like "cannot apply documentation on something that's not a deffinition" (of course, well written), it would be clearer... | 10:14 | |
lizmat | perhaps it should only do that for core types ? | ||
patrickb | antoniogamiz, moritz: rakubrew (as rakudobrew is known now) has moved to a separate directory for the rakubrew executable and the shims. If it's in env mode there won't be any executables in the shim dir either. | ||
SmokeMachine | lizmat: I think its a good idea | ||
patrickb | antoniogamiz: Any reason you are still using rakudobrew instead of rakubrew? | ||
antoniogamiz | patrickb: I just did not know rakubrew existed... | 10:15 | |
thanks for the info | 10:16 | ||
jnthn | SmokeMachine: Yeah, I need to revisit how this is all done as part of the RakuAST thing anyway | ||
SmokeMachine: Though of course I need to beware the back-compat monster :) | 10:17 | ||
SmokeMachine | :) | ||
lizmat is fighting one with the Match internals | |||
SmokeMachine | jnthn: talking about RakuAST, I know that's not planned for now... but I'm just curious. Is that any thinking on how custom compiler passes will work (if it will)? | 10:18 | |
10:19
JJMerelo joined
|
|||
jnthn | SmokeMachine: Probably placed into some kind of EXPORT-y thing, like custom meta-objects are. | 10:19 | |
(those have EXPORTHOW) | 10:20 | ||
SmokeMachine | will one be able to say: add a pass before/together/after a specific one (as we do with tighter/equiv/looser op)? | ||
or that do not make any sense? | 10:21 | ||
jnthn | If anything, the options will be pre-CHECK and post-CHECK | ||
I don't know where else you could expect to insert it | 10:22 | ||
patrickb | antoniogamiz: See rakubrew.org :-) | ||
jnthn | Oh, the other option I thought of is if you want to have it happen at scope exit | ||
`use fatal` would be along those lines | |||
Those could potentially happen rather sooner | 10:23 | ||
Need to think how this all plays into BEGIN time things also | |||
SmokeMachine | I mean if there is a module adding a custom pass, and I want to write another one that will run a custom pass just before/after that one... or maybe even a way of running that (doing the transformations needed) at the same pass of that one | 10:24 | |
jnthn | No, I didn't consider that. I think it's better if passes are independent. | ||
I think any arrangements like this would need to be arranged by a module that exports the two, perhaps. | 10:25 | ||
SmokeMachine | got it... | 10:26 | |
I think I didn't get the use fatal... | |||
patrickb | antoniogamiz: I'm interested in feedback from you, as I want rakubrew to support Windows well, but Windows users tend to be rare around here. :-) | 10:27 | |
jnthn | SmokeMachine: use fatal only wants to tweak the scope it's imported into | 10:28 | |
10:28
Doc_Holliwould left
|
|||
jnthn | SmokeMachine: And probably to do it right at the end of that scope | 10:28 | |
SmokeMachine | jnthn: yes, that makes sense | ||
jnthn | Other things may want to work like that - while others probably don't care about scope and want the whole compilation unit | 10:29 | |
SmokeMachine | I was wondering if it would be cool if we had some kind of syntax we could say when to run and pass a multi sub like `multi transform(RakuAST::Something $ast) { transform-it $ast }` | 10:30 | |
antoniogamiz | patrickb: I don't use windows a lot, I have installed it this morning to add Windows support for Documentable | 10:32 | |
SmokeMachine | and it would walk the AST tree and run it when the signature matches... (sorry... I don't know anything about that... I am just wondering...) | ||
antoniogamiz | I will uninstall rakudobrew and use rakubrew instead, I will tell you how it goes :) | 10:33 | |
jnthn | SmokeMachine: If nothing else, it should be possible to provide such an interface via a module | ||
SmokeMachine: Though it's sort of already possible in that there's a .walk method for visiting all nodes, and if you pass it a multi, then provided you write a candidate that ignores all the things you don't care about too, then you've got it. | 10:34 | ||
SmokeMachine | jnthn: and that would be a viable way of implement a custom pass? | 10:35 | |
10:36
xinming_ left
|
|||
jnthn | I'd think so | 10:36 | |
I think some of course will not want to transform anything :) | 10:37 | ||
(Just walk and check for stuff) | |||
SmokeMachine | :) | ||
10:37
xinming_ joined
|
|||
SmokeMachine | I think doing that and writing a RakuAST -> Red::AST mapper would be enough to do what I want with Red | 10:38 | |
10:41
rindolf joined
|
|||
antoniogamiz | patrickb, Windows Defender blocks the cmd installer | 10:41 | |
(but it can be run anyway) | |||
SmokeMachine | jnthn: while walking, will one have access to the lexpad? | 10:42 | |
antoniogamiz | patrickb, it could be helpful a progress bar to see the progress of rakubrew download | 10:43 | |
SmokeMachine | sorry... I think it's not needed, right? | ||
jnthn | SmokeMachine: If you do this post-check, symbols will have already been resolved | 10:45 | |
And you can force a resolution pass if not | |||
AlexDaniel` | treegrep: Fetcher | ||
greppable6 | AlexDaniel`, Sorry kid, that's not my department. | ||
SmokeMachine | jnthn: I'm looking forward for using all this! :) | 10:46 | |
is there a way of writing an anonymous multi function? | 10:58 | ||
jnthn | my $multi = do { multi foo($x) { }; multi foo($x,$y) { }; &foo } | 11:07 | |
SmokeMachine | thanks | 11:16 | |
11:35
JJMerelo left
|
|||
kawaii | Hello :) An issue my colleague has been struggling with for a while now - github.com/shuppet/p6-api-discord/...on.pm6#L93 this line is never run when the method is run from TWEAK. | 11:43 | |
Comes from here: github.com/shuppet/p6-api-discord/...d.pm6#L212 | |||
and in turn from a script. | |||
The Connection object is definitely created because the websocket is created. | |||
11:53
brtastic joined
12:01
sena_kun joined
12:03
Altai-man_ left
|
|||
patrickb | .tell rba There is a new rakubrew release: Version 12. Can you upload versions 10, 11 and 12 to the website? (rooster.uber.space/patcloud/index....JLQDZcjbf) | 12:09 | |
tellable6 | patrickb, I'll pass your message to rba | ||
patrickb | antoniogamiz: Fix incoming. | ||
antoniogamiz | thanks :D | 12:11 | |
El_Che | no raku talks today according to the schedule? | 12:23 | |
tellable6 | 2020-06-23T15:48:24Z #raku <JJMerelo> El_Che thanks for letting me know! | ||
12:25
antoniogamiz left
|
|||
lizmat | El_Che: not to my knowledge, perhaps in the lightning talks | 12:25 | |
but I'll wait for the YouTube version of that | |||
:-) | |||
12:33
timotimo left
12:35
timotimo joined
|
|||
jdv79 | timotimo: is that the full path? def odd. | 12:59 | |
timotimo | jdv79: i'm not sure if it's an artifact or some bug; maybe you could attach a gdb to it and have it dump the backtraces of all the threads to see if the one that's doing the Fetcher stuff has a bigger stack trace than it should | 13:00 | |
oh, anyway, i should upload the patch that makes it able to read your file | 13:01 | ||
jdv79 | there is a retry loop inside of a self feeding hyper map on a channel - the line in the heap path is the beginning of the retry loop. weird. | 13:02 | |
teh retry is around cro agent get | |||
timotimo | this isn't clear from documentation or output, but the line it says there is only the "position of the function" line | 13:03 | |
not the "current line of execution" as you would have in a normal stacktrace | |||
jdv79 | i just woke up - need coffee - bbiab - thanks! | ||
timotimo | i could have sworn i had a function "find the biggest N objects of this type" somewhere | 13:04 | |
interesting, there's a little bit of a difference between how the gc roots do a frame and how the heap snapshot profiler does a frame | 13:06 | ||
regarding the caller | |||
one checks if the frame's caller is a heap-allocated frame, the other if the frame itself is heap-allocated | 13:07 | ||
sena_kun | .tell JJMerelo please, ping me whenever comfortable re docs we discussed. | 13:09 | |
tellable6 | sena_kun, I'll pass your message to JJMerelo | ||
sena_kun | AlexDaniel`, ping? | 13:10 | |
13:13
AlexDaniel joined,
AlexDaniel left,
AlexDaniel joined
|
|||
AlexDaniel | timotimo: so… greppable failed earlier because of this error: “No such symbol 'IO::Socket::SSL'” | 13:14 | |
even though it is installed | |||
timotimo | interesting! | ||
Geth | ake: e197c123cc | (Aleks-Daniel Jakimenko-Aleksejev)++ | bin/sake Add missing semicolon |
13:15 | |
13:18
greppable6 left
|
|||
AlexDaniel | sena_kun: pong? | 13:18 | |
sena_kun | AlexDaniel, can I PM you? | 13:19 | |
AlexDaniel | sure | ||
13:19
sena_kun left,
sena_kun joined
|
|||
sena_kun | ouch, this hexchat segfault was painful... | 13:19 | |
AlexDaniel | sure! (if you didn't see that ) | 13:20 | |
[Coke] wonders what the deal was with all the supernovus transfers. | 13:25 | ||
AlexDaniel | [Coke]: I think it's just unmaintained repos now getting more access because of the community-modules org | 13:26 | |
[Coke] | ok, but we don't want to take over *every* unmaintained module. did someone do some analysis or did we take everything from that user? | 13:27 | |
(I mean, it could be both) | 13:28 | ||
ShimmerFairy | Couldn't interested coders just fork an abandoned module and change the :auth<> property of the module? (Or is this transfer process already doing that?) | 13:36 | |
13:37
antoniogamiz joined
|
|||
antoniogamiz | is there a ready to use raku for Windows? (not rakudo star) to use in Azure Pipelines | 13:39 | |
[Coke] | ShimmerFairy: yes, that's a possibility. IMO we should only be pulling modules into the community bucket that have been abandoned but are "important" by some criteria. | 13:40 | |
And that may be happening: I'm just seeing the github alerts that we've taken the module, not seeing any discussion before that. | 13:41 | ||
ShimmerFairy | Yeah, I just wanted to point out that Raku is perfectly capable of handling a module name mapping to more than one codebase. | ||
13:42
zacts joined
|
|||
jdv79 | will community modules end up being raku's version of perl's dual life modules as they fall out of favor and others fork them to maint? | 13:44 | |
patrickb | I mailed supernovus about one of his modules. | ||
After a bit back and forth it became clear that he won't have time for the forseeable future to do any work on those modules. | 13:45 | ||
Especially not being able to respond to PRs is problematic. | 13:46 | ||
So he decided to transfer his modules to community modules. | |||
He did only transfer modules he deemed worthy. Everything noone is using or superseeded he left out. | |||
So the basic idea is that the status of the modules is clear (i. e. he won't be able to maintain them for the forseeable future), and whoever is willing to work on them can do so without forking. | 13:48 | ||
I'm not entirely sure if that is in line with whatever purpose community modules is intended to be, but to me the move makes sense, especially because his modules do have users. | 13:49 | ||
[Coke] | that sounds good, patrickb - the one thing I'd add is we should look for individual maintainers before taking them over in the community space. | 13:50 | |
patrickb | antoniogamiz: What requirements would such a raku(do) have? There are the precompiled releases on rakudo.org you can just extract and use. | ||
antoniogamiz: (by the way: The precompiled builds on rakudo.org are the same builds that rakubrew installs when using the "download" command.) | 13:51 | ||
[Coke] | we need to update raku.org/downloads example with latest version. (looks like rakudo.org/downloads was updated, thanks!) | ||
antoniogamiz | patrickb, I will use those then :D | 13:52 | |
patrickb | [Coke]: If I would have to decide I'd remove all direct rakudo download options from raku.org and just link to the rakudo.org download page. | ||
[Coke] | can we update the link to Inline::Perl5 on raku.org/downloads to a disambiguated version? (if it's on CPAN, I imagine we'd prefer CPAN as it better tracks releases?) | 13:53 | |
patrickb: I'd be OK with that; we can add more detailed stuff later if there's a different impl. | 13:54 | ||
patrickb | Having to maintaining in two places often results in not all places being updated. Also it does not support the "rakudo is one implementation of raku, there might be others" story. | ||
afk for a bit | |||
14:01
Altai-man_ joined
|
|||
jdv79 | timotimo: how did you get to that path? | 14:01 | |
timotimo | tbh i basically randomly poked at frames to see if anything sprung out at me | 14:03 | |
essentially in snapshot 80 i used "find 1000 frames" or so? | |||
14:03
sena_kun left
14:06
xinming_ left
|
|||
jdv79 | it says "Sorry, I don't understand." to that | 14:06 | |
14:08
dataangel left
|
|||
timotimo | i really need to get used to starting moar-ha with rlwrap | 14:08 | |
14:08
xinming_ joined
|
|||
jdv79 | is moarperf broken for these heapsnapshots atm? | 14:09 | |
timotimo | find 1000 objects type="BOOTStaticFrame" | 14:10 | |
shouldn't be | |||
just have to make sure it's using the latest commit from the heapanalyzer tool as well | |||
the commandline tool and the web tool don't match up in functionality completely yet | 14:11 | ||
jdv79 | cool | 14:14 | |
AlexDaniel | yeah, so, the bots really don't like precomp | ||
14:14
notable6 left,
coverable6 left,
evalable6 left,
benchable6 left,
statisfiable6 left,
nativecallable6 left,
reportable6 left,
quotable6 left,
bloatable6 left,
linkable6 left,
committable6 left,
tellable6 left,
sourceable6 left,
releasable6 left,
shareable6 left,
bisectable6 left,
squashable6 left
|
|||
jdv79 | i'm not sure how that long path you somehow found came to be... | 14:15 | |
raku-bridge | <tmtvl> I've been reading the Little Schemer again... gist.github.com/tmtvl/e80befea5a84...0866ea26cf | ||
timotimo | try "path 470696" in snapshot 80 for a simpler example | ||
jdv79 | why are there so many bots? could they be merged into one that has selectable personality disorder? | 14:16 | |
moritz | UNIX philosophy. Do one thing, do it well. | ||
14:17
antoniogamiz left
|
|||
jdv79 | which perl pretty much upended, ironic being touted in a perlish place | 14:17 | |
ShimmerFairy | for some definition of "one thing" ☺ | ||
jdv79 | timotimo: i'm not sure what that means:) | 14:18 | |
timotimo | jdv79: if you could patch your moarvm thusly: src/profiler/heapsnapshot.c around line 600 or so, there should be a line "if (frame->caller && !MVM_FRAME_IS_ON_CALLSTACK(tc, frame)) | ||
change the last "frame" to "frame->caller" | |||
i'm not sure if it's a correct change, but it may be what's responsible for the odd path | 14:19 | ||
14:19
coverable6 joined,
reportable6 joined,
quotable6 joined
14:20
notable6 joined,
bisectable6 joined,
unicodable6 joined,
sourceable6 joined,
benchable6 joined,
evalable6 joined
|
|||
ShimmerFairy | (btw, a big reason for Unix philosophy is that you can compose those small do-one-thing tools to form any kind of big tool you need, which I don't think applies to IRC bots) | 14:20 | |
14:20
shareable6 joined
|
|||
timotimo | hmm, i could imagine a syntax that lets you write "pipes" of bot commands | 14:20 | |
14:20
bloatable6 joined
|
|||
timotimo | that would be hella funny | 14:20 | |
jdv79 | maybe they could be piped together! | ||
ha | |||
14:21
greppable6 joined
|
|||
AlexDaniel | it's more about the user interface. You don't really need to remember any command, you just do bis-TAB and write your code | 14:21 | |
timotimo | i'm not sure which of the bots we could combine in sensible ways at the moment | ||
14:21
squashable6 joined,
releasable6 joined,
linkable6 joined
|
|||
Grinnz | i would consider this set of bots a representation of microservices, not the unix philosophy :P | 14:21 | |
AlexDaniel | some bots do have more than one command, like greppable, which timotimo failed to use a few hours ago x) | ||
14:21
nativecallable6 joined,
statisfiable6 joined
|
|||
jdv79 | the blizzard of disconns/reconns is the only reason i mentioned it | 14:21 | |
14:22
committable6 joined
|
|||
Grinnz | a robust plugin system for a single irc bot would fit the unix philosophy fine | 14:22 | |
14:22
tellable6 joined
|
|||
timotimo | i guess you could ask an evalbot + notable6 to send the result of an evaluation to a user when they come back | 14:22 | |
Grinnz | where the irc connection is just another part of the pipeline | ||
tellable6 | 2020-06-09T16:42:16Z #raku <melezhik> Grinnz, Blead Breaks CPAN - this what is what done by Blin or RakuDist in Raku | ||
AlexDaniel | that is kinda solvable with bouncers, and I'd appreciate if anybody contributed code for it | ||
Grinnz personally really hates the design of irc bouncers, but ircv3 is improving the situation | 14:23 | ||
AlexDaniel | or by making them compatible with matrix or such, but current matrix-freenode bridge sucks too much | ||
jdv79 | Grinnz: is there a short version of what you're talking about? | 14:24 | |
Grinnz | eh? | ||
jdv79 | i know nothing about "bouncers" | ||
Grinnz | oh the bouncer thing | ||
jdv79 | is that just a irc proxy | ||
Grinnz | yes | ||
most of them suck because irc is not designed for that | |||
at least, IMO :) | |||
jdv79 | you mean history and such? | 14:25 | |
Grinnz | yes | ||
jdv79 | ah, yes... | ||
AlexDaniel | I can easily remake the bots as plugins, but then you'll see people issuing the `help` command every time before using any feature | ||
right now the nicks themselves expose which commands are available, which is nice | |||
ShimmerFairy | tbf some of these bots I'd still want to ask for 'help' first | 14:26 | |
AlexDaniel | ShimmerFairy: but almost all of them don't have any commands | ||
jdv79 | timotimo: oh, i guess that last one is a match obj i may have scooped up | ||
AlexDaniel | that is, they just figure out what to do with what you give them | 14:27 | |
jdv79 | hmm, is there an easy way to see if that's a common/many times thinng? | ||
it might well be correct if it hasn't been around for long i guess | |||
ShimmerFairy | But I mean I don't know what some of them do, since the name isn't enough. Like what do quotable or shareable or squashable do? | ||
AlexDaniel | github.com/Raku/whateverable/wiki | ||
timotimo | "top objects by size", "top objects by count" and the same with frames | ||
jdv79 | i didn't mean to start a whole thing about it - just blurted out when i got spammed with bot noise;) | 14:28 | |
14:28
sarna left
|
|||
jdv79 | but if i did have to argue one more point for it - the discoverability right now seems less than good - i have no idea what bots do or how to find them/their purpose is life... | 14:29 | |
AlexDaniel | biscuitable6: help | 14:30 | |
bisectable6 | AlexDaniel, Like this: bisectable6: old=2015.12 new=HEAD exit 1 if (^∞).grep({ last })[5] // 0 == 4 # See wiki for more examples: github.com/Raku/whateverable/wiki/Bisectable | ||
ShimmerFairy | My point is just that "I don't need 'help' because the bot names tell me everything" doesn't hold, since a newcomer will still need documentation of some kind to understand them. | ||
jdv79 | so to discover them one has to grep the chan's nick list for .*albe.* ? | ||
*able... | |||
AlexDaniel | hmm | 14:31 | |
moritz | don't we have docs for the bots on some of our websites? | ||
AlexDaniel | anyway, bug reports & suggestions are welcome: github.com/Raku/whateverable/issues | ||
timotimo | `find 1000 frames name="<anon>"` and a few times `more` always interesting! :D | 14:32 | |
AlexDaniel | moritz: whateverables are wondefully documented: github.com/Raku/whateverable/wiki | ||
jdv79 | timotimo: that doesn't do "show me all MATCH-CAPTURES", does it? | ||
ShimmerFairy | I don't have strong feelings on split bots vs. monolith bot fwiw | ||
jdv79 | ah | ||
timotimo | ... mircrokernel ... | 14:33 | |
zacts | can perl5 be used from within raku? | ||
timotimo | could 487215 be the only MATCH-CAPTURES frame in snapshot 80? | ||
zacts | like without an FFI kind of idea? like can you truly embed a perl interpreter into raku somehow? | 14:34 | |
timotimo | yeah you can with Inline::Perl5 | ||
ShimmerFairy | timotimo: hey, GNU Hurd is coming out any day now! | ||
zacts | oh cool | ||
timotimo | i mean, er | ||
it is based on FFI | |||
AlexDaniel | greppable6: use.*Fetcher | ||
greppable6 | AlexDaniel, 5 lines, 4 modules: gist.github.com/20e52aa91e21c95779...824f3043eb | ||
AlexDaniel | treegrep: Fetcher | ||
greppable6 | AlexDaniel, gist.github.com/df76ed0ccb8cd3c11e...90efa8b17c | ||
zacts | gnu hurd actually has some interesting ideas from a philosophical design standpoint. I think it even influenced NetBSD's RUMP anykernel too. | ||
but in actuality the hurd is like not happening as far as I know | |||
AlexDaniel | timotimo: ↑ works now, did nothing to fix it besides purging precomp and restarting the bots : | 14:35 | |
: | |||
:( | |||
jdv79 | timotimo: looks like it. a few snaps all have but one. | ||
AlexDaniel | jdv79: fix the precomp issue and I'll be restarting the bots less often!! :P | 14:36 | |
jdv79 | what precomp issue? | 14:37 | |
14:37
soursBot joined
|
|||
AlexDaniel | jdv79: well, um… you'd have to figure out that too… | 14:37 | |
jdv79 | sounds like a rabbithole. i'm already in one atm. sorry, maybe later;) | 14:38 | |
AlexDaniel | it's just that whenever I update anything in the bots I have to purge precomp folders to make it working | ||
otherwise all bots seem to start up fine (usually, but not always), but then give out some weird errors whenever you actually try to use them | |||
I'm not entirely sure how to reproduce this either, but it has to be related to read-only precomp folders | 14:39 | ||
timotimo | jdv79:interestingly, 470693 in snapshot 80 is also apparently a frame of that function? | ||
doesn't show up in the search though? | |||
AlexDaniel | because for the bots most of the filesystem is read-only, I think… | 14:40 | |
anyway, if somebody wants to help with whateverable (whether it's the UI or plugin system or whatever), please feel free to, nowadays I only make sure that they're running | 14:41 | ||
[Coke] | are you doing a build and then copying the precomp folders into a readonly area? | ||
timotimo | can we have some kind of monitoring where we can follow cpu usage, memory usage, uptime, and such? | ||
[Coke] | (so that maybe precomp is seeing that there's precomp and trying to update it in the new location and then failing?) | ||
AlexDaniel | [Coke]: I run them with write access first, this creates precomp files, then I only run them as a service where they have no write access | 14:42 | |
if I don't do that each bot will take minutes to start up | |||
timotimo: you have ssh access, don't you? Wanna have root access to set up monitoring? | |||
timotimo | i mean i want root on as many machines as i can, obviously. but only if i'm never asked to use it for repairing stuff! :D | 14:43 | |
AlexDaniel | is it a yes or a no? | ||
timotimo | also, which monitoring system would i set up? | ||
AlexDaniel | you decide | ||
timotimo | oh no | ||
AlexDaniel | bisectable6: uptime | 14:44 | |
bisectable6 | AlexDaniel, 24 minutes and 49 seconds, 275.847656MiB maxrss. This is Rakudo version 2020.02.1-395-g2c9168b9a built on MoarVM version 2020.02.1-162-g3d8ff61e2 implementing Raku 6.d. | ||
timotimo | ideally we'd have something on a central raku-community server/VM that collects data from a lot of machines we have | ||
14:45
Name66 joined
|
|||
AlexDaniel | or we can move whateverable to one of the servers that already has monitoring, if there are any | 14:45 | |
jdv79 | doesn't all that stuff have to be rooted? | ||
its also backwards from the other, no? | |||
AlexDaniel | but it's not the kind of workload you'd really want to have, which is why I was happy to run it on my server so that I'm not bothering anyone :) | 14:46 | |
timotimo | jdv79: are you talking about the frames? | ||
AlexDaniel | rba: a machine with a nice-enough CPU, at least 50GB free space on an SSD, and a bunch of free ram (like 10G at least) for the bots? | 14:47 | |
jdv79 | yes | ||
14:47
brtastic1 joined
14:48
Name66 is now known as Everybody,
Everybody is now known as Guest93538,
brtastic left,
brtastic1 is now known as brtastic
|
|||
timotimo | i'm not sure how you mean that | 14:49 | |
when looking at the paths it looks like one is on a callstack, while the other is just sitting pretty in its module? | 14:50 | ||
14:50
Guest93538 left
|
|||
jdv79 | the first path goes from root to captures, the other goes from captures to a random frame? | 14:52 | |
14:53
Guest93538 joined
|
|||
jdv79 | i thought all of them should be rooted since these snaps are made just after a sweep, no? | 14:53 | |
timotimo | when i "path" the numbers, they both reach the root | 14:54 | |
14:57
Guest93538 is now known as bowlinNo
|
|||
jdv79 | nopaste.xyz/?7b2c72c12198636c#EmdP...TUBdzPx6rn | 14:58 | |
those both make sense to you? | |||
timotimo | ah, you used show for the bottom one and path for the top | ||
jdv79 | oops | 14:59 | |
15:01
molaf joined
|
|||
jdv79 | the header is misleading on top i think - it says "Name" but VMString is a type for find, not a name - is that on purpose? | 15:02 | |
timotimo | it's a little weird, yes! | 15:03 | |
not ... really? on purpose | |||
15:04
splatt9990 joined
15:06
splatt9990 left
|
|||
raku-bridge | <Rogue> It seems like negated code blocks/code containers don't work with the flipflop operator | 15:09 | |
timotimo | flipflop uses smart match, doesn't it? | ||
15:09
antoniogamiz joined
|
|||
raku-bridge | <Rogue> Yeah, and negated code works fine on a regular smartmatch | 15:09 | |
<Rogue> I can't use the bot from Discord, but try sticking some predicate in an &-sigiled variable and smartmatching against !&pred -- it does exactly what you'd hope | 15:10 | ||
15:11
bowlinNo is now known as Circle129,
Circle129 is now known as Shapes6312
|
|||
raku-bridge | <Rogue> and yet, with ff, it only seems to work with non-negated blocks | 15:11 | |
<Rogue> for 1..5 { .say if !{ $_ < 3 } ff * } doesn't do what you'd expect | 15:12 | ||
timotimo | didn't the bot just got a fix for discord? | ||
raku-bridge | <Rogue> Did it? | ||
<Rogue> m: for 1..5 { .say if !{ $_ < 3 } ff * } | |||
evalable6 | |||
raku-bridge | <Rogue> See, nothing. And yet.... | 15:13 | |
timotimo | m: say !{ $_ < 4} given 5 | ||
raku-bridge | <Rogue> m: for 1..5 { .say if { $_ !< 3 } ff * } # move the negation inside the block, it does what the first bit of code should do | ||
camelia | False | ||
evalable6 | 3 4 5 |
||
timotimo | m: say { $_ < 4} given 5 | ||
camelia | -> ;; $_? is raw = OUTER::<$_> { #`(Block|81025272) ... } | ||
timotimo | m: say do { $_ < 4} given 5 | ||
camelia | False | ||
timotimo | i'm not actually sure negated code blocks is a thing | ||
raku-bridge | <Rogue> m: say 1 ~~ !{ $_ > 1 } | 15:14 | |
evalable6 | False | ||
timotimo | m: say 1 ~~ !{ say "executed? $_" } | 15:15 | |
camelia | False | ||
timotimo | i think negating a code block just always results in False? | ||
raku-bridge | <Rogue> Oh... wait a minute... maybe I got some behavior that looked correct because of the particular condition, but actually wasn't | ||
timotimo | :) | ||
raku-bridge | <Rogue> You gotta love these occasion mind benders | 15:16 | |
<Rogue> occasional* | |||
<Rogue> Generally less frequent with Raku than other languages, but it still happens | |||
15:17
soursBot left
|
|||
AlexDaniel | are dynamic variables usable? | 15:20 | |
[Coke] | m: say so &sort | ||
camelia | True | ||
[Coke] | ^^ | ||
Altreus | Rather than repeat my question a bunch, can I put my virtual hand up for someone who knows about supplies, specifically .migrated ones | 15:21 | |
cos it's Not Working :) | |||
AlexDaniel | timotimo: yeah, it's fixed. That message had some text at the end, so it didn't compile (there was no m: so autodetection decided it's not really worth printing the output) | ||
timotimo | right | 15:22 | |
i didn't know what the issue was, i only saw a commit fixing "the issue" | |||
AlexDaniel | ah, I read some more messages, nevermind | ||
15:22
Sgeo joined
|
|||
timotimo | Altreus: i suggest you use a visualizer tool for Supply stuff | 15:23 | |
AlexDaniel | I got confused because at first I thought “for 1..5 { .say if !{ $_ < 3 } ff * } doesn't do what you'd expect” message should've eval-ed too | ||
timotimo | such a thing doesn't exist yet, to my knowledge | ||
so you'll have to build it first :) :) :) | |||
Altreus | you are a monster | ||
AlexDaniel | anyway, so… dynamic variables? For example, if I decide to use a start block somewhere, dynamic variables are then of no use right? | ||
timotimo | start blocks hold on to dynamic variables for you | 15:24 | |
some are cleared, such as $*THREAD though | |||
AlexDaniel | Hash %*BOT-ENV = {:background("white"), :height(800), :range("2014.01..HEAD"), :timeout(10), :width(1000)} | 15:25 | |
ok let's start | |||
Failure.new(exception => X::Dynamic::NotFound.new(name => "\%*BOT-ENV"), backtrace => Backtrace.new) | |||
hmmmmm? | |||
here's my code | 15:26 | ||
dd %*BOT-ENV; start { dd %*BOT-ENV } | |||
evalable6 | Failure.new(exception => X::Dynamic::NotFound.new(name => "\%*BOT-ENV"), backtrace => Backtrace.new) | ||
15:27
JJMerelo joined
|
|||
timotimo | don'- forget to wait for that promise | 15:27 | |
m: my %*BOT-ENV = :1a, :2b; dd %*BOT-ENV; await start { dd %*BOT-ENV; dd $*THREAD } | 15:28 | ||
camelia | Hash %*BOT-ENV = {:a(1), :b(2)} Hash %*BOT-ENV = {:a(1), :b(2)} Thread $*THREAD = Thread.new(app_lifetime => Bool::True, name => "GeneralWorker") |
||
15:28
libertas left
15:29
libertas joined
|
|||
AlexDaniel | I don't get it? Does it matter? How come a start block right on the next line doesn't see the dynamic variable? | 15:29 | |
timotimo | well, your example code doesn't show the problem | 15:30 | |
AlexDaniel | timotimo: gist.github.com/AlexDaniel/03e8f32...p6-L81-L83 | 15:31 | |
I'm trying to fix the bot | |||
timotimo | well that is odd | 15:32 | |
you have multiple dd %*BOT-ENV; how do you know which one the output comes from? | |||
AlexDaniel | yea, but I'll retest to be sure | 15:33 | |
timotimo | do you remember why the "core setting lines" feature is commented out? | ||
AlexDaniel | gist updated | ||
timotimo | oh | 15:34 | |
TODO, that's why | |||
AlexDaniel | yes but there was a reason why I couldn't implement it | ||
timotimo | ok this is strange; especially since %*BOT-ENV is also lexically available from the start block | 15:35 | |
AlexDaniel | timotimo: github.com/Raku/whateverable/issue...-286013294 | ||
timotimo | i have a super stupid idea how to do it | 15:36 | |
AlexDaniel | timotimo: how? :) | 15:37 | |
timotimo | moar --dump blib/CORE.c.setting.moarvm | grep annotation | 15:38 | |
check the output of this | |||
it's not completely accurate | |||
but it'd show the™ trend | 15:39 | ||
AlexDaniel | timotimo: and where would I take CORE.c.setting.moarvm ? | 15:43 | |
timotimo | whereever it gets installed to | ||
i was thinking we'd take the highest line number for every "filename" we find in the annotations | 15:44 | ||
and sum them up | |||
AlexDaniel | timotimo: here's what I have in rakudo: whateverable.6lang.org/HEAD | ||
timotimo: here's what I have in moarvm: whateverable.6lang.org/HEAD?type=moarvm | |||
timotimo | that's not a moarvm file, that's a rakudo file | ||
AlexDaniel | please show my this mythical file in one of these archives | ||
me* | |||
timotimo | is statisfiable only for moarvm? | 15:45 | |
AlexDaniel | actually statisfiable only works on rakudo builds, that's easily fixable but doesn't really matter | ||
15:45
rbt left
|
|||
AlexDaniel | ahhh it's share/perl6/runtime/CORE.c.setting.moarvm | 15:46 | |
right? | |||
15:46
rbt joined
|
|||
AlexDaniel | I had… troubles finding it | 15:46 | |
timotimo | :) | ||
not sure if we should sum .c, .d, .e and whatever else is in there, or if they should be separate lines | |||
AlexDaniel | okay I can do it then as long as you help me fix the %*BOT-ENV issue | 15:47 | |
timotimo | crap | ||
AlexDaniel | otherwise the bot is not really coming back to life x) | ||
“This twigil is used for dynamic variables which are looked up through the caller's, not through the outer, scope” | 15:48 | ||
and who's the caller for start blocks? | 15:49 | ||
timotimo | m: say DYNAMIC::.keys | ||
camelia | ($?PACKAGE $=finish ::?PACKAGE GLOBALish EXPORT $! $=pod $_ !UNIT_MARKER $¢ $/) | ||
timotimo | m: say DYNAMIC::.keys; my %*BOT-ENV = :1a, :2b; | ||
camelia | (%*BOT-ENV ::?PACKAGE $/ $=finish $! $¢ $?PACKAGE GLOBALish !UNIT_MARKER $=pod $_ EXPORT) | ||
moritz | m: my $*x = 42; await start { say $*x } | ||
camelia | 42 | ||
timotimo | m: say DYNAMIC::.keys; my %*BOT-ENV = :1a, :2b; start { say DYNAMIC::.keys.gist ~ " <-"; }; await Promise.in(1) | ||
camelia | ($¢ $=finish $=pod $_ $! %*BOT-ENV ::?PACKAGE $?PACKAGE $/ EXPORT GLOBALish !UNIT_MARKER) ($_ $! $/) <- |
||
timotimo | m: say DYNAMIC::.keys; my %*BOT-ENV = :1a, :2b; start { say %*BOT-ENV.gist ~ " <-"; }; await Promise.in(1) | 15:50 | |
camelia | ($! $_ ::?PACKAGE %*BOT-ENV $=pod $=finish $¢ EXPORT $?PACKAGE GLOBALish $/ !UNIT_MARKER) {a => 1, b => 2} <- |
||
timotimo | m: say DYNAMIC::.keys; my %*BOT-ENV = :1a, :2b; sub do-the-it { start { say %*BOT-ENV.gist ~ " <-"; }; await Promise.in(1) }; do-the-it; do-the-it | ||
camelia | (GLOBALish !UNIT_MARKER ::?PACKAGE EXPORT &do-the-it $=finish $?PACKAGE $¢ %*BOT-ENV $/ $! $=pod $_) {a => 1, b => 2} <- {a => 1, b => 2} <- |
||
timotimo | can't really get it to fail? | ||
statisfiable6: uptime | |||
statisfiable6 | timotimo, 1 hour, 31 minutes, and 22 seconds, 438.742188MiB maxrss. This is Rakudo version 2020.02.1-395-g2c9168b9a built on MoarVM version 2020.02.1-162-g3d8ff61e2 implementing Raku 6.d. | ||
MasterDuke | build5nines.com/sysinternals-procd...for-linux/ huh, looks like it might be useful | 15:51 | |
AlexDaniel | moritz: yeah that works except when it doesn't: gist.github.com/AlexDaniel/03e8f32...p6-L81-L82 | ||
15:51
cpan-raku left
|
|||
timotimo | committable6: 2c9168b9a say DYNAMIC::.keys; my %*BOT-ENV = :1a, :2b; sub do-the-it { start { say %*BOT-ENV.gist ~ " <-"; }; await Promise.in(1) }; do-the-it; do-the-it | 15:51 | |
committable6 | timotimo, ¦2c9168b: «(!UNIT_MARKER ::?PACKAGE EXPORT $! $¢ $?PACKAGE $=pod $/ %*BOT-ENV $_ &do-the-it $=finish GLOBALish){a => 1, b => 2} <-{a => 1, b => 2} <-» | ||
timotimo | even with the same version as the bot uses | 15:52 | |
AlexDaniel | timotimo: this bug has been there forever | ||
if it's a bug | |||
I'm on 2020.05.1-304-ge231558c4 and it's also there | |||
El_Che | Perl 7 baby | ||
www.facebook.com/theperlconference...0845621877 | 15:53 | ||
JJMerelo | Not going there... Facebook, bad. | ||
tellable6 | 2020-06-24T13:09:45Z #raku <sena_kun> JJMerelo please, ping me whenever comfortable re docs we discussed. | ||
JJMerelo | .tell sena_kun maybe next Friday? Tomorrow I'm givin the talk in TPCiC... | 15:54 | |
tellable6 | JJMerelo, I'll pass your message to sena_kun | ||
Altai-man_ | JJMerelo, sure, good luck with your talk! | 15:55 | |
JJMerelo | (implied is that it's not totally ready yet... ) | ||
15:56
orinthe5 joined
|
|||
Altai-man_ | And good luck with your slides. :] | 15:56 | |
JJMerelo | Thanks :-) I'm looking forward to reading them :-) (it will mean I've actually written them) | ||
15:57
cpan-raku joined,
cpan-raku left,
cpan-raku joined
|
|||
AlexDaniel | El_Che: sounds very nice | 15:57 | |
weekly: Perl 7 www.facebook.com/theperlconference...0845621877 | |||
notable6 | AlexDaniel, Noted! (weekly) | ||
15:57
orinthe left,
orinthe5 is now known as orinthe
15:58
skids joined
16:02
sena_kun joined
16:03
Altai-man_ left
|
|||
antoniogamiz | patrickb: I'm getting the error: ERROR: NQP_HOME is invalid: D:\a\1\s\rakudo\..\share\nqp | 16:06 | |
after downloading the rakudo zip from rakudo.org and trying to run raku.exe, any idea? | |||
patrickb | interesting. | 16:07 | |
Where did you put it? D:\a\1\s\rakudo ? | |||
can you try moving it to some folder in C and see what happens? | |||
16:07
Shapes6312 left
|
|||
antoniogamiz | I have not moved anything, just downloaded the zip, unzip it with 7zip and run it | 16:08 | |
patrickb | OK. But can you try moving it to the C: drive and see if it works then? It is possible you are the first person trying to run a raku from a non C: drive and there is some bug preventing that. | 16:09 | |
antoniogamiz | that's the error from my azure pipeline, I'm getting the same result locally (where I have it in C:) | 16:10 | |
patrickb | uh oh | ||
version 2020.06? | |||
antoniogamiz | maybe is a problem with 7zip mm, because nqp directory is empty after unzip | ||
yep | |||
patrickb | *trying this now | ||
16:10
rbt left
16:11
rbt joined
|
|||
antoniogamiz | oh the problem is with 7zip | 16:12 | |
it changes the structure of the directories mm | |||
patrickb | what?!? | 16:13 | |
antoniogamiz | I was using '7z e' instead of '7zip x' | 16:14 | |
16:14
soursBot joined
|
|||
patrickb | ah ok | 16:14 | |
*phew | |||
[Coke] | here's the p6 announcement on perl.com: www.perl.com/article/announcing-perl-7/ | 16:21 | |
p*7* | |||
timotimo | i applaud the decision to have all these good use statements for free | 16:22 | |
16:24
Black_Ribbon joined
16:31
sno left,
sjm_uk joined
|
|||
ShimmerFairy | Honestly, I'm surprised they did the "jump to 7" trick, I would've gone with a Java-esque "ignore the 5. part" | 16:33 | |
JJMerelo | Sawyer has mentioned that jumping up to 34 would be jumping up too high | 16:34 | |
or "doing a Firefox" | |||
antoniogamiz | patrick: zef is not inside rakudo-2020.06/bin folder, where is it? | ||
ah ignore that hehe | 16:35 | ||
jdv79 | wonder how a Perl 8 vs raku 6.$whatever-it-is-at-the-time would compare | 16:36 | |
raku-bridge | <DataKinds> perl 8, in, you know, another 20 years 😛 | 16:37 | |
ShimmerFairy | .oO(It'd be funny if Perl programmers somehow reject Perl 7 too.) |
16:39 | |
16:39
zacts left
|
|||
tadzik | only Anna will ;) | 16:42 | |
JJMerelo | tadzik and Patrick. Bad, bad Patrick. | 16:43 | |
16:43
abraxxa left
|
|||
ShimmerFairy | Also, I seem to recall there being another Perl 7 already. | 16:44 | |
JJMerelo | Was it? There was something called Perl 11... With "something" being, actually, a very accurate description for it. | ||
raku-bridge | <DataKinds> moment of silence for _why | 16:45 | |
ShimmerFairy | I might be thinking of Perl 11, but I could swear there was a P7 project. So far just found this: github.com/perl7/perl7 | 16:46 | |
sena_kun remembers that | |||
tellable6 | 2020-06-24T15:54:43Z #raku <JJMerelo> sena_kun maybe next Friday? Tomorrow I'm givin the talk in TPCiC... | ||
JJMerelo | ZoffixZnet... I'd never heard about that, actually... | 16:47 | |
16:47
TeamBlast left
|
|||
JJMerelo | Written in NQP... | 16:47 | |
16:48
sivoais left
|
|||
ShimmerFairy | Yeah, I think Perl 11 is what I was thinking of. I really just remember ASCII art of a flask or something. | 16:49 | |
raku-bridge | <DataKinds> ShimmerFairy: that would be here github.com/perl11/potion#-readme- | 16:50 | |
antoniogamiz | patrickb: can you take a look at github.com/Raku/Documentable/blob/...elines.yml and tell me why tests are not being run? | ||
El_Che | perl 11 was reini`s thing | ||
16:52
xinming joined
|
|||
El_Che | dodod^H^H^H^H^H^H^H^H^H^H^Hterrible wifi sorry | 16:54 | |
ShimmerFairy just got a giggle out of p2 on potion's website mentioning parrot | |||
16:55
soursBot left,
xinming_ left
17:00
sivoais joined,
TeamBlast joined
|
|||
El_Che | If you need an older Perl to run your code, you are going to be fine. Those old versions are not going to disappear. Just like Perl 5.6 is still available, if that’s the version you wish to run. | 17:02 | |
^-- that`s not very sane advice | |||
patrickb | antoniogamiz: Looking at the log in azureci it looks like it it doing what you wrote there. | 17:03 | |
dev.azure.com/antoniogamiz10/Docum...3554afc9f5 | |||
El_Che | use versions with known security flaws | ||
patrickb | antoniogamiz: Can you try putting the set-env.bat and zef bits into a separate script block? | 17:04 | |
antoniogamiz | patrickb: but zef install . is not being executed, actually any command after 7z is not run | 17:05 | |
patrickb | Also you can run the pipeline with debug prints enabled (when you trigger a run from the azure website there is a tick box a the bottom "enable debug output") | ||
I just saw. Can you try putting the set-env.bat and zef bits into a separate script block? | |||
antoniogamiz | like this? github.com/Raku/Documentable/blob/...elines.yml | 17:06 | |
patrickb | yes | ||
antoniogamiz | dev.azure.com/antoniogamiz10/Docum...89c63e1c86 | 17:07 | |
patrickb | Do you know that you can edit the azure-pipelines.yml file directly on the azureci website (including syntax highlighting, help and stuff) and run it from there? | ||
antoniogamiz | oh I did not know that, thanks | ||
patrickb | Can you run the pipeline with debug prints enabled (when you trigger a run from the azure website there is a tick box a the bottom "enable debug output") | ||
antoniogamiz | I'm looking for the debug button... | 17:09 | |
ah enable system diagnostics? | 17:10 | ||
patrickb: dev.azure.com/antoniogamiz10/Docum...fc7dff55f9 | 17:13 | ||
17:13
abraxxa joined,
MasterDuke left
|
|||
patrickb | antoniogamiz: Is this working locally? | 17:16 | |
I'm not sure about the %cd% thing you have there | |||
17:18
abraxxa left
17:21
abraxxa joined
17:24
team\andinus is now known as notandinus
|
|||
antoniogamiz | patrickb: yep | 17:25 | |
%cd% returns the current directory | |||
patrickb | Can you just leave that off? | ||
Also can you add some debug prints before and after to see where it fails? | |||
antoniogamiz | If i leave that off the .bat file will not be found i think+ | 17:26 | |
yep, it errs The system cannot find the path specified. | 17:29 | ||
rbt | Looking for DBIish API feedback. I'd like to replace do( --> Int); where Int is kinda useless, with execute( --> StatementHandle) where StatementHandle is quite useful. github.com/raku-community-modules/...h/pull/192 | ||
JJMerelo asked about that here: github.com/raku-community-modules/...issues/185 I thought it was a good idea. | |||
antoniogamiz | dev.azure.com/antoniogamiz10/Docum...89c63e1c86 | 17:30 | |
JJMerelo | rbt all for it, obviously :-) | ||
rbt | Yeah, one small niggle. It changes $sth.execute() to return a StatementHandle too for consistency. Previously it also returned Int (number of rows impacted). Kinda curious if anyone actually used the return code from $sth.execute. | 17:31 | |
JJMerelo | rbt you can try and search GitHub | 17:32 | |
But also, you can simply bump up the api version. It will not break anything, and you can go ahead with the new API. | |||
Or API number. Not a version. Have to remember that. | 17:33 | ||
antoniogamiz | patrickb: this was the problem stackoverflow.com/questions/581438...lowing-the | ||
rbt | I'm still new to all the META6 abilities. How do you bump an API number? | ||
skids | .oO(Could return StatementHandle but 3 for a while during deprecation cycle) |
||
patrickb | antoniogamiz: Nice you solved it! | 17:34 | |
JJMerelo | Add :api<1> to the declaration of the class, and the distribution. By default, it's api<0> | ||
rbt | I see. Thanks. | ||
That would be toplevel right? On unit class DBIish:api<1> ? | 17:35 | ||
JJMerelo | Correct. | 17:36 | |
Where you change API. | |||
rbt | thanks | ||
JJMerelo | I mean, where you change the actual API, by giving a method a different signature. | ||
But you can also use a multi, as I suggest... Raku will pattern-match signature, and work with the best available. | 17:37 | ||
That will not change the API, and you get the best of both worlds. | |||
rbt | Does that work where rc isn't typed? my $rc = $sth.execute() | 17:38 | |
skids | Multi doesn't work on the return type... it's not "wantarray" | 17:40 | |
17:41
antoniogamiz left
|
|||
JJMerelo | rbt no, it does not. Not part of the signature. But you can detect if it's in void context and make it work differently. docs.raku.org/language/contexts#Sink | 17:41 | |
Anyway, if it's too complicated, simply use other, similar, idiom. | |||
rbt | In Perl5 DBI the return code was typically used to detect errors. Raku has both Fail and Exceptions. IMO, the original port missed a trick by keeping that bit :) | 17:42 | |
17:43
Black_Ribbon left,
Black_Ribbon joined
17:53
kensanata left
17:57
Doc_Holliwould joined
18:01
Altai-man_ joined
18:03
sena_kun left
18:05
girafe left
18:07
JJMerelo left
18:11
dataangel joined
|
|||
El_Che | if people needed a good reason to rename their repo fron p6-* to raku-* they certainly have one today | 18:16 | |
18:20
zacts joined
18:23
bocaneri left
18:32
Cabanossi left
|
|||
El_Che | The video seems to be private now | 18:35 | |
weird to take it offline when everyone is linking to it | 18:36 | ||
18:37
Doc_Holliwould left
|
|||
El_Che | they just moved it | 18:37 | |
18:38
xinming left
18:39
xinming joined
|
|||
El_Che | youtu.be/6wPMh-3qYJM?t=1024 if someone needs it | 18:39 | |
18:43
Cabanossi joined
18:44
molaf left
18:50
zacts left
18:55
Doc_Holliwould joined
19:14
lichtkind left
19:17
natrys joined
19:33
soursBot joined
19:34
wamba joined
19:41
TeamBlast left,
sivoais left
19:43
molaf joined
19:44
sivoais joined,
TeamBlast joined
20:01
sena_kun joined
20:03
Altai-man_ left
20:06
lichtkind joined
20:07
chloekek joined
|
|||
chloekek | . | 20:07 | |
tadzik | o/ | 20:08 | |
chloekek | I crave tzatziki all day and then tadzik says hi | ||
20:08
kensanata joined
|
|||
tadzik | :> | 20:09 | |
chloekek | CRAI is still up and running, does anyone use it? | ||
Maybe I should install analytics software. | |||
The cronjob seems to work still, only has sporadic failures, about eight since its inception. | 20:10 | ||
20:20
soursBot left
|
|||
gfldex | lolibloggedalittle: gfldex.wordpress.com/2020/06/24/a-raku-riddle/ | 20:27 | |
El_Che | weekly: gfldex.wordpress.com/2020/06/24/a-raku-riddle/ | 20:28 | |
notable6 | El_Che, Noted! (weekly) | ||
20:28
TeamBlast left
20:29
sivoais left
20:32
xq joined
20:35
TeamBlast joined
20:37
aborazmeh joined,
aborazmeh left,
aborazmeh joined
20:41
sivoais joined
20:42
MasterDuke joined
20:45
aborazmeh left
|
|||
El_Che | this talk from today touches raku: www.youtube.com/watch?v=wZZtrtoTjt4 Bruce Gray - Refactoring and Readability: Crouching Regex, Hidden Structures | 20:50 | |
21:00
finsternis left
|
|||
lizmat couldn't find much apart from the intro ? | 21:09 | ||
21:11
rbt left,
skids left,
rbt joined
21:12
aborazmeh joined,
aborazmeh left,
aborazmeh joined,
zacts joined
21:20
wamba left
21:21
aborazmeh left
21:23
reach_satori joined
21:25
rindolf left
21:26
zacts left
|
|||
raku-bridge | <DataKinds> gfldex++ | 21:35 | |
21:56
softmoth joined
21:57
natrys left
21:58
chloekek left
22:01
Altai-man_ joined
22:03
sena_kun left
22:07
kensanata left,
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
rypervenche | Oh man, I need to read more code. These are some really good examples. I was struggling with a similar example of figuring out how to nest my data. | 22:07 | |
22:13
sno joined
|
|||
El_Che | lizmat: yeah, I didn't finished, had to go away for some time | 22:17 | |
-ed | 22:19 | ||
22:25
patrickb left
22:27
aborazmeh left
23:04
squashable6 left,
softmoth left
23:05
lichtkind left
23:07
squashable6 joined
23:11
xinming left
23:13
xinming joined
23:15
brtastic left
23:23
sno left,
pecastro left
23:25
sno joined
|
|||
rypervenche | I wonder if anyone might have any tips on how I might store this information: gist.github.com/rypervenche/a1a70a...530b0bd020 | 23:28 | |
I hope it's understandable. | |||
jnthn | rypervenche: Is the "1" in links.csv an ID in sentences.csv, or just an identifier for things grouped together? | 23:33 | |
rypervenche | jnthn: Yes, they are the same ID. | ||
jnthn | I'm sleepy, but probably I'd process links.csv first to make a lookup that I can index with the value in the second column to get the first column | 23:34 | |
Then use that as I go through sentences.csv to figure out which "group" the entry goes into | 23:35 | ||
You could use a hash for the stuff in links.csv, but my guess is that the IDs aren't sparse, so it'd probably be a huge amount cheaper to use a native int array for it | |||
rypervenche | I'm not sure what sparse means here. I know that one ID can point to multiple IDs, as there are sometimes multiple translations for a sentence. And I also know that they mapped the sentences backward as well, from the translated sentence to the original sentence. I'll be getting around that by only searching for the sentences in my target language. | 23:39 | |
jnthn | rypervenche: I mean: I see there is 1276 and 1277, also 1280, so there's a gap there. Maybe those values are somewhere else in the file. | 23:41 | |
rypervenche | Oh, yeah, there will be gaps. | ||
That's why I was thinking of a hash instead of an array. | |||
jnthn | Yeah, it really depends on how big and how typical the gaps are | 23:42 | |
Also the range of IDs | |||
rypervenche | Up to 8,859,201 for both. I can't say about the gaps. Probably a lot. | 23:43 | |
jnthn | I mean, a `my int @a` takes 8 bytes per entry in the array. A hash bucket involves storing the key *and* the value and has its own overhead too. | ||
Ah, that's small enough you can use an int32 array even | |||
Density you can figure out by dividing the maximum ID by the number of lines in the file. | 23:44 | ||
If you get a number less than 10 then the packed integer array probably comes out ahead. | |||
On memory *and* speed | |||
If you can afford the memory and want speed, a bigger factor is OK too | 23:45 | ||
You mentiond sentences.csv was 8,445,232 lines in the gist, so the factor is 1.x (can't be bothered to calculate it, but I mean, it's close to 1), so you can just do the native int array. | 23:46 | ||
And probably win a good bit on memory use and speed | |||
(Compared to a hash) | 23:47 | ||
Anyways, I should get a bit of sleep...it's been a long day | |||
Good luck! :) o/ | |||
rypervenche | Ahhh. Thanks a bunch for your help! I'll give that a go. | ||
23:54
MilkmanDan joined
|