🦋 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