🦋 Welcome to the MAIN() IRC channel of the Raku Programming Language (raku.org). This channel is logged for the purpose of keeping a history about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | Log available at irclogs.raku.org/raku/live.html . If you're a beginner, you can also check out the #raku-beginner channel!
Set by lizmat on 8 June 2022.
00:05 kueppo joined 00:07 reportable6 left 00:10 reportable6 joined 00:17 lichtkind left 00:18 kueppo left 00:56 Sankalp left, Sankalp- joined, Sankalp- is now known as Sankalp 01:42 frost joined 02:11 Kaiepi left 03:11 nativecallable6 left, evalable6 left, coverable6 left, benchable6 left, bisectable6 left, quotable6 left, notable6 left, statisfiable6 left, sourceable6 left, tellable6 left, shareable6 left, bloatable6 left, greppable6 left, reportable6 left, linkable6 left, committable6 left, releasable6 left, unicodable6 left, unicodable6 joined 03:12 coverable6 joined, tellable6 joined, evalable6 joined, committable6 joined, linkable6 joined 03:13 shareable6 joined, reportable6 joined, statisfiable6 joined, benchable6 joined, quotable6 joined, releasable6 joined, nativecallable6 joined, bloatable6 joined 03:14 sourceable6 joined, notable6 joined, greppable6 joined, bisectable6 joined 04:14 unicodable6 left, linkable6 left, committable6 left, evalable6 left, bloatable6 left, greppable6 left, quotable6 left, benchable6 left, statisfiable6 left, sourceable6 left, coverable6 left, tellable6 left, releasable6 left, reportable6 left, bisectable6 left, nativecallable6 left, shareable6 left, notable6 left 04:15 linkable6 joined, bloatable6 joined, benchable6 joined, shareable6 joined 04:16 nativecallable6 joined, bisectable6 joined, statisfiable6 joined, sourceable6 joined, reportable6 joined, unicodable6 joined, quotable6 joined 04:17 coverable6 joined, committable6 joined, tellable6 joined, notable6 joined, greppable6 joined, releasable6 joined, evalable6 joined 04:23 Kaiepi joined 04:28 Kaiepi left 05:28 nativecallable6 left, releasable6 left, greppable6 left, reportable6 left, bisectable6 left, statisfiable6 left, sourceable6 left, unicodable6 left, benchable6 left, notable6 left, coverable6 left, shareable6 left, linkable6 left, committable6 left, bloatable6 left, quotable6 left, evalable6 left, tellable6 left, bloatable6 joined 05:29 statisfiable6 joined, evalable6 joined, greppable6 joined, notable6 joined, tellable6 joined, nativecallable6 joined 05:30 reportable6 joined, sourceable6 joined, benchable6 joined, committable6 joined, quotable6 joined, bisectable6 joined, linkable6 joined 05:31 releasable6 joined, unicodable6 joined, shareable6 joined, coverable6 joined 05:48 Guest42 joined 05:50 Guest42 left 06:07 reportable6 left 06:09 reportable6 joined 07:09 evalable6 left, linkable6 left, linkable6 joined 07:10 evalable6 joined 07:16 Sgeo left 08:08 Colere left 08:09 Colere joined 08:10 djerius_ left 08:11 djerius joined 08:43 frost left 09:16 timo1 is now known as timo 09:40 Kaiepi joined 09:56 lichtkind joined 09:57 mexen left 10:23 frost joined 10:45 xinming left 10:47 xinming joined 11:09 xinming left 11:10 xinming joined 11:58 discord-raku-bot left 11:59 discord-raku-bot joined 12:03 discord-raku-bot left, discord-raku-bot joined 12:06 reportable6 left 12:09 reportable6 joined
sienet_ja_LSD[m] how to fix You may need to configure one of the following backends, or install its underlying software - [psunzip] 12:51
alias psunzip='unzip' doesn't work
12:53 morte_ joined 12:55 lichtkind left 12:56 lichtkind joined 12:57 frost left 13:06 lichtkind left
Voldenet sienet_ja_LSD[m]: psunzip is using powershell to unzip files 13:11
13:11 frost joined
sienet_ja_LSD[m] aye but this is linux 13:12
Voldenet aye, it's only relevant if $*DISTRO.is-win
so, the question is why isn't `unzip` suggested here 13:13
sienet_ja_LSD[m] where is it required if I were to look up module sources?
Voldenet that defines unzip: github.com/ugexe/zef/blob/0e202f2/....json#L139 13:14
sienet_ja_LSD[m] I'm grepping and cannot find psunzip
Voldenet you should be able to also see psunzip here
sienet_ja_LSD[m] zef has been able to install all other modules just fine, but now it's suddenly wanting me to use powershell
Voldenet No, that message basically says 13:16
that nothing installed can extract given file
and reports that the only disabled backend is psunzip
sienet_ja_LSD[m] yes but which line in module sources is wanting to use it and not regular zip? 13:17
Voldenet the error is confusing
sienet_ja_LSD[m] I did edit the config.json but it has no effect, my zef is built with rakubrew 13:20
Voldenet github.com/ugexe/zef/blob/602c54/l...kumod#L113 13:25
so… apparently timeout is possible
13:26 jgaz joined
Voldenet You should increase logging verbosity level of EXTRACT stage for better error 13:27
sienet_ja_LSD[m] nope, still same, fetching, extracting, Enabled extracting backends [git path tar p5tar unzip] don't understand <extracteddir> 13:31
Voldenet `extracteddir` sounds like a weird path to extract 13:32
sienet_ja_LSD[m] home/user/.zef/tmp/1655472145.15680.8563.048844792329/raku-Twitter 13:33
to be precise
Voldenet eh, I've tried using that package and it worked, guess that rules out broken package 13:38
well, it installed, not exactly worked 13:39
`Could not find Twitter::API in:`
sienet_ja_LSD[m] hmm ok
13:40 frost left
Voldenet > zef install –force –debug Twitter 13:42
> [Twitter] Extracting with plugin: Zef::Service::Shell::tar+{<anon|1>}
sienet_ja_LSD[m] aye the package itself works 13:44
Voldenet I'm betting that the file wasn't fetched right and tar fails for some reason 13:48
14:00 Guest3 joined
Guest3 Hello, world! I'm trying to use mqueue libc function through NativeCall. I have the following code: ix.io/40m7 14:04
It calls mq_getattr to put a message queue's attributes into the specified struct: `int mq_getattr(mqd_t mqdes, struct mq_attr *attr);`
I open a message queue, get its file descriptior, pass it to mq_getattr along with a `my Attributes $attributes` (Attributes is a `class Attributes is repr('CStruct')` with the proper fields)
But $attributes doesn't get changed. What am I doing wrong?
14:10 morte_ left
Voldenet you don't allocate attributes 14:11
14:11 xinming left
Voldenet mq_open returns -1 because you provide no attributes as well 14:12
(nevermind, attr can be null) 14:14
Guest3: try this ix.io/40md 14:17
14:18 xinming joined 14:19 perlbot left
Guest3 Voldenet: Thanks, that works! Why aren't there any warnings/errors reporteD? 14:21
14:22 simcop2387 left, perlbot joined 14:24 simcop2387 joined 14:33 gcd left
Voldenet Guest3: because that's how C works – you allocate the object and pass the pointer (also you don't need "Attributes is rw") 14:38
14:42 Sgeo joined
Voldenet I think mq_getattr not returning -1 on attr being null is weird 14:43
Guest3 Voldenet: the man page states that they use the defaults when attr is NULL 14:45
Voldenet for mq_open, yes, but mq_getattr… ¯\_(ツ)_/¯ 14:47
you may be interested in higher level wrapper, btw raku.land/cpan:JSTOWE/MQ::Posix
15:42 linkable6 left, evalable6 left 15:44 linkable6 joined 15:45 evalable6 joined 16:09 jgaz left 16:30 Guest3 left
Geth Documentable/search-categories-streamlined: 1fe7cd1cbd | Altai-man++ | 3 files
Streamline search categories processing

  - For Index, just follow the simple "Take first meta as category"
   or report an error heuristic
  - For Primary, allow to overload header processor with something custom
   ($*HEADING-TO-ANCHOR-TRANSFORMER-ACTIONS)
  - Streamline Search generation: prefer primary pages over secondary ones,
   detect duplicate search anchors, be better at calculating categories
16:37
Documentable/search-categories-streamlined: b3c851fb08 | Altai-man++ | 5 files
Update tests to match new implementation
Documentable/search-categories-streamlined: 628020621e | Altai-man++ | 6 files
Refine treating of ref categories

  - Revert a number of surplus changes
  - Tweak logic of URLs for references (@JJ++)
  - Add more coverage
  - Make the code a bit more robust against broken syntax references
  - Factor out, cleanup some code
This is a tradeoff between changing numerous things and changing the bare minimum to make things work according to the new spec.
[Coke] sena_kun++ 16:53
sena_kun took a whole day, but yay, progress. I guess next goes live updating and smaller tweaks 16:54
17:06 sena_kun left 17:07 sena_kun joined 17:49 sena_kun left 17:52 sena_kun joined 17:55 kostas joined 17:56 kostas left 18:07 reportable6 left 18:09 reportable6 joined 18:31 morte_ joined 18:37 morte_ left
SmokeMachine .tell kawaii it seems mint (github.com/shuppet/raku-mint) is breaking with the last Red's version (github.com/FCO/Red/runs/6898580191...tep:6:40). I just want to know if I have break it. Sorry for interrupting. 18:44
tellable6 SmokeMachine, I'll pass your message to kawaii
19:37 tellable6 left, linkable6 left, evalable6 left, evalable6 joined, tellable6 joined 19:38 linkable6 joined 19:50 lichtkind joined 20:38 Guest3 joined
Guest3 I'm just tinkering with Raku, trying to see if I can change the compilation errors' message. I thought I could augment X::Comp's .gist method, but it throws X::Syntax::Augment::Illegal: Cannot augment X::Comp because it is closed. Why? What does it mean to be closed? 20:40
21:07 donpdonp- is now known as donpdonp 21:33 donpdonp is now known as donpdonp_, donpdonp_ is now known as donpdonp|z 21:54 Guest3 left 21:55 Guest3 joined
[Coke] closed is used only in that error message, but if you dig through the rakudo source, you can see that the exception that has that message is throw if the metadata about that object disallows augmenting... X::Comp is a role, not a class, and you can't augment it. 22:00
m: dd so X::Comp.HOW.archetypes.augmentable
camelia Bool::False
[Coke] m: dd so Int.HOW.archetypes.augmentable
camelia Bool::True
[Coke] while it doesn't mention closed, docs.raku.org/syntax/augment does mention "existing classes and grammars" 22:01
Guest3 Why can't we augment roles? 22:02
[Coke] m: dd X::Comp.HOW; dd X::Comp.HOW.archtetypes;
camelia Perl6::Metamodel::ParametricRoleGroupHOW.new
No such method 'archtetypes' for invocant of type
'Perl6::Metamodel::ParametricRoleGroupHOW'
in block <unit> at <tmp> line 1
[Coke] The unhelpful answer is that it was designed that way. Not sure why.
Guest3 I understand that the code doesn't allow so; but from a practical point of view, why was it done thatway?
[Coke] m: dd X::Comp.HOW; dd X::Comp.HOW.archetypes;
camelia Perl6::Metamodel::ParametricRoleGroupHOW.new
(Perl6::Metamodel::Archetypes without .raku or .perl method)
[Coke] m: dd X::Comp.HOW; dd X::Comp.HOW.archetypes.raku; 22:03
camelia Perl6::Metamodel::ParametricRoleGroupHOW.new
No such method 'raku' for invocant of type
'Perl6::Metamodel::Archetypes'
in block <unit> at <tmp> line 1
[Coke] (that's getting into guts, there, not surprising)
Guest3 m: say X::Comp.HOW.archetypes.^methods
camelia (nominal nominalizable inheritable inheritalizable composable composalizable generic parametric coercive definite augmentable CREATE bless BUILDALL new defined ACCEPTS NOT-ACCEPTS isa)
Guest3 Roles not being augmentable means that if I want to change the compilation errors' message I gotta augment dozens of classes... 22:05
22:37 lichtkind left
Guest3 Actually, it looks like I can't augment methods that aren't multi methods initially. That means that some errors like X::Syntax::Confused that only have a single `method message` can't be replaced... 22:54
22:59 Guest3 left
[Coke] m: dd <Class Coercion ConcreteRole CurriedRole Definite Enum Generic Grammar Module Native NativeRef Package ParametricRoleGroup ParametricRole Subset>.map({::Metamodel::($_ ~ "HOW")}).grep({$_.new.archetypes.augmentable}) 23:21
camelia (Perl6::Metamodel::ClassHOW, Perl6::Metamodel::EnumHOW, Perl6::Metamodel::GrammarHOW).Seq
[Coke] (sorry was actually working on that for a bit. :) 23:22
23:59 evalable6 left, linkable6 left