🦋 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.
ToddAndMargo In windows, is there a IO call (or similar) that will tell me if a drive letter exists? 05:31
ToddAndMargo Anybody home? 05:51
Geth doc/master: 4 commits pushed by (Sizhe Zhao)++, (Juan Julián Merelo Guervós)++ 07:17
sarna hey, a question - why does that trait have the name it has? docs.raku.org/type/Attribute#index...t_is_built 09:23
tellable6 2020-01-31T23:12:53Z #raku <uzl[m]> sarna Still trying to figure out how to make the grid layout work for smaller screen size. Pretty much a CSS noob ;-).
sarna I'm struggling to find a connection between the name and what it does 09:24
lizmat has $!foo is a private attribute, that you cannot set with .new and which does not have an accessor 09:27
has $!foo is built is a private attribute, that you *can* set with .new, but which does not have an accessor 09:28
lizmat has $.foo is built(False) is a public attribute with an accessor, but which you can *not* set with .new 09:28
sarna ^^
sarna lizmat: yeah that's understandable, I just don't get why it's called "is built" :D like.. built-in? already-built-so-you-can't-modify-it? 09:30
lizmat well, specifying it with .new is building the object wit it
*with
there's also a method BUILD
"is build" would be grammatically incorrect 09:31
hence "is built"
sarna oh, so you can only change it during the building, and when it's built it stays? 09:32
sorta
sarna or like.. being built by BUILD? :D 09:34
Geth ¦ problem-solving: lizmat assigned to jnthn Issue Gist type objects as `(Foo:U)` rather than `(Foo)` github.com/Raku/problem-solving/issues/194 09:57
Geth doc: Prince213++ created pull request #3410:
Change .perl to .raku in examples in doc/Type/Numeric.pod6
10:33
Geth doc: e6235e5c3e | (Sizhe Zhao)++ | doc/Type/Numeric.pod6
Change .perl to .raku in examples in doc/Type/Numeric.pod6
10:39
doc: 53ba6d55ec | (Tom Browder)++ (committed using GitHub Web editor) | doc/Type/Numeric.pod6
Merge pull request #3410 from Prince213/role-numeric-perl2raku

Change .perl to .raku in examples in doc/Type/Numeric.pod6
linkable6 Link: docs.raku.org/type/Numeric
tbrowder is there any easy way to keep nqp build files from being deleted with an error without modifying the Makefile? 11:35
and good day to all!
jjmerelo: hi
jjmerelo Hi! 11:36
tellable6 2020-05-15T19:11:22Z #raku-dev <lizmat> jjmerelo looks like integration/advent2010-day03.t is severely broken
jjmerelo .tell lizmat ack; I see vrurg has taken good care of it.
tellable6 jjmerelo, I'll pass your message to lizmat
cpan-raku New module released to CPAN! License::SPDX (3.9.0) by 03JSTOWE 11:44
hankache Hello #raku 11:47
The RC for Rakudo Star 2020.05.1 on Windows is available at hankache.com/files would you be kind enough to test it and report possible issues? I was having trouble setting permissions and one specific file "repo.lock" kept me from installing modules. I figure out a way to adjust permission for said file at install time. Nonetheless if you can test it thoroughly it would be awesome. Thanks
lizmat afk for a few hours& 12:13
tellable6 2020-05-16T11:36:44Z #raku <jjmerelo> lizmat ack; I see vrurg has taken good care of it.
tbrowder i just filed an issue with nqp and i haven't seen "Geth Perl6 IRC Client" announce it. should it? 12:39
bazzaar o/ Raku 13:01
to enter the repl, I just type raku? 13:02
when I do, nothing happens 13:03
bazzaar I have Readline installed 13:12
maybe this ties in with the issues I've been seeing with zef (github.com/bduggan/p6-digest-sha25.../issues/2) 13:17
seems like although zef lists Readline as being locally installed, it's not really able to use it? 13:19
ever since I upgraded to the new rakudo/zef package (2020.05.1) 13:20
bazzaar So I just did a 'zef install --force-install Readline' even though zef said 'All candidates are currently installed, No reason to proceed.' 13:38
and now the repl works, when i type raku and enter.
liltechdude hello what about rename lang to waku may be? 14:10
bazzaar So it appears that modules installed on top of 2020.05, are not being properly accessed once rakudo/zef 2020.05.1 package is installed. 14:14
liltechdude $_ = 1; if 42 { $_.say; $^a.say } <-- this example from docs.raku.org/language/control. It is normal that we without explicitly define $a variable use them in block? 14:37
bazzaar I'd appreciate if someone could provide a bit of guidance with subst and regex captures (see gist.github.com/bazzaar/7a81009e38...626c668f2) 14:43
Dwarf Hm. Running my code on ARM is surprisingly slow. I wonder where the slowness comes from and where I can gain some speed 15:03
Altai-man_ Dwarf, afaik there are no JIT support on ARM, so unless you can help with implementing one... 15:04
tellable6 2020-05-15T16:28:14Z #raku <AlexDaniel`> Altai-man_: colabti.org/irclogger/irclogger_lo...05-15#l317
MasterDuke Dwarf: the JIT isn't supported on ARM. but nowadays spesh provides a lot of speedup and this is supported, so i'm kind of surprised. maybe compare a profile of the same code running on x86? and/or what does perf show?
Dwarf Ah it's true that Ubuntu ships a rather "old" rakudo 15:06
This is Rakudo version 2019.11 built on MoarVM version 2019.11
I should probably get a newer version from the website and see if it helps speed things up a bit 15:07
MasterDuke El_Che has recent packages for many distros
Dwarf Should I ask him nicely or are these available publically somewhere?
Altai-man_ Dwarf, nxadm.github.io/rakudo-pkg/ <- 15:08
Dwarf You're a saint. Thank you 15:09
El_Che MasterDuke: the latest!
:)
Dwarf I'm on 64bit ARM so I might just have JIT 15:10
fingers crossed
N: Skipping acquire of configured file 'main/binary-arm64/Packages' as repository 'dl.bintray.com/nxadm/rakudo-pkg-debs focal InRelease' doesn't support architecture 'arm64'
That's a no. 15:11
Ah that's a shame. I can attempt to compile it myself I guess
MasterDuke the jit uses libffi and/or dyncall and i think those aren't ported to arm, but timotimo would be a good person to ask 15:13
Altai-man_ dyncall works on arm and arm64, www.dyncall.org/ 15:15
MasterDuke hm, then we need someone more knowledgeable than i to chime in 15:17
bazzaar that's frustrating, colabti irclogger doesn't deal well with url's followed by a closing bracket :-( 15:29
getting a 404 clicking on my previous gist link on the colabti log 15:30
apologies for posting this gist link again gist.github.com/bazzaar/7a81009e38...1626c668f2 15:32
MasterDuke m: my $s = "aaa123bbb"; $s ~~ m/ ("a" **3) \d**3 ("b" **3)/; my $regex = / ("a" **2) "a" \d**3 "b" ("b" **2) /; $s .= subst($regex, {$0 ~ "x999y" ~ $1}); say $s # bazzaar have a look at docs.raku.org/routine/subst#Callable 15:34
camelia aax999ybb
bazzaar MasterDuke: excellent :) it's the block around the replacement that I was missing, thanks so much. 15:39
MasterDuke np 15:41
jjmerelo Can we do something about IO::Capture::Simple? 16:16
It's failing to install, created a PR 20 days ago, no answer.
tbrowder i am investigating implementing some NYI parts of sprintf and i keep seeing slight errors in our docs when comparing perl's description (where most of our doc comes from) with what i see at <www.cplusplus.com>. according to roast sprintf is meant to be identical to the C library, so before i go too far, i would like us to condsider a major rewrite of our sprintf doc (to be self-assigned if no objection). one thing
the c++ reference offers that is really helpful is a table with notes that imho is better than our docs or perl's docs at detailing the nuances and dependencies among various combinations of flags, modifiers, size, and directives. opinion kindly solicited.
jjmerelo tbrowder by all means. Go ahead. 16:17
tbrowder the fsf (gnu) also has a good reference. 16:18
jjmerelo So, again, any objection if I adopt IO::Capture::Simple for myself or the community? 16:19
jjmerelo There are many classes that depend on it... 16:20
tbrowder in the process, we need the experts to weigh in on how some of the NYI parts should actually be implemented, so i will try to write up a little doc for how i intend to proceed and make sure i'm heading down the right path. 16:22
timotimo MasterDuke: the jit uses dynasm, which is ported, but you have to rewrite a very big chunk of the jit to target a new architecture 16:28
jjmerelo tbrowder good idea 16:32
lizmat jjmerelo: go for it! 17:03
jjmerelo lizmat (y)
Geth ecosystem/JJ-patch-9: 238b80148b | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | META.list
Changes pointing to fork.
17:40
ecosystem: JJ++ created pull request #494:
Changes pointing to fork.
17:41
ecosystem: 238b80148b | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | META.list
Changes pointing to fork.
17:45
ecosystem: e1ebca8c87 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | META.list
Merge pull request #494 from Raku/JJ-patch-9

Changes pointing to fork.
ecosystem/JJ-patch-9: 14863dea9a | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | META.list
Correct URL...
17:46
ecosystem/JJ-patch-10: b7217b6006 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | META.list
Use the right URL

Sorry...
17:47
ecosystem: JJ++ created pull request #495:
Use the right URL
jjmerelo sorry, I was editing the file when I found it merged...
It was pointing to my fork of the module, not the new repo I have created, which has more corrections. It flies now. Merging. 17:48
Geth ecosystem: b7217b6006 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | META.list
Use the right URL

Sorry...
ecosystem: a7e9ef62b8 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | META.list
Merge pull request #495 from Raku/JJ-patch-10

Use the right URL
lizmat glad it worked out :-) 17:49
jjmerelo (y) 17:50
Xliff .tell tigerpaws For opaque structs, it's best to use a repr<CPointer> for that class. It doesn't need any members. The only drawback to that is if you ever need to create an array of such structs. In that case, you will need some mechanism to return the C size of that struct in Raku. 17:58
tellable6 Xliff, I'll pass your message to tigerpaws
Xliff .tell tigerpaws In that case, you will need to cheat. Either grab the size from C, or grab the struct definition from the .c file 17:59
tellable6 Xliff, I'll pass your message to tigerpaws
tigerpaws Hi, Xliff. That is exactly what I was thinking of doing, I was also considering possibly putting in a dummy private attribute. I lloked at the code, and I think they rally are just opaque structs, since I only see them being passed around 18:00
Xliff tigerpaws: Yes, then "class TF_struct is repr<CPointer> is export { * }" should be sufficient enough. 18:01
tigerpaws Xliff: Once I get to impelement the methods on these classes, I'll see if any thing further is warranted. 18:02
Xliff tigerpaws: And if you want, you can attach all subs that use TF_struct as a first parameter as methods to that class.
tigerpaws: Sounds good.
tigerpaws Xliff: exactly what I was planning.
Xliff tigerpaws: So I don't know if this is really well documented, but "class TF_struct is repr<CPointer> { method a_tf_struct_method (param1, param2, param3) is native(lib) { * }; } should be sufficient enough for that purposes. 18:03
tigerpaws: So param1 is the parameter AFTER the TF_struct in the C signature 18:04
tigerpaws Xliff: what puzzles me is that GPTrixie generates the empty struct and then a constant: constant TF_Session is export := TF_Session , which gets a duplicate definition error. I'm considering just dumping the constants.
Xliff Yeah, I think GPTrixie is lagged behind recent changes in Rakudo. 18:05
That and I don't think the GPTrixie output is designed to be directly usable by Rakudo withouth hand tuning.
tigerpaws I'm beginning to see that. It's a good start, but it's too bad because when they change the api, I'm going to have to hand carry all the changes over. 18:06
What bugs me the most, is that the c api doesn't yet support Tensoflow 2.x, and from their page, there are a lot of changes. 18:07
Xliff Yes, that is a problem. I have the same issue with GTK. That's why I've written code-generators to mitigate the drudgery. 18:10
If you want, I can see about doing the same for Tensorflow.
With regards to the 2.x stuff, NativeCall *can* handle C++, I just haven't had much of a chance to do anything with it. Particularly when it comes to compiler name mangling and polymorphism. 18:11
tigerpaws Well, I think that the current C api will give us the basics, certainly enough to contruct and run graphs, and it's probably easy to add gradients direclty in raku. The neural network library we'll have to see. 18:40
Xliff: I received an answer from the J language people, end there's no problem inlining J into raku. I don't know how familiar you are with array langauges, but J would give us a fairly solid array langauge. 18:42
tellable6 tigerpaws, I'll pass your message to Xliff
lizmat tigerpaws: it would be a good start
tigerpaws lizmat: thanks, it's in progress! (just started, but I already have a bit of an approach ironed out). 18:43
lizmat tigerpaws++
MasterDuke timotimo: right, dynasm makes a lot more sense 18:59
Geth ¦ problem-solving: vrurg assigned to jnthn Issue Use of literal named parameters syntax for multi-dispatching github.com/Raku/problem-solving/issues/195 20:56
lucs I thought that given an installed module Foo::Bar, "p6doc Foo::Bar" would show me the Pod, but it appears not. 23:12
How do I look at that Pod?
Wait, I think I once again am being an idiot. 23:14
lucs makes sure that Foo::Bar _is_ actually installed... 23:15
Aaand, it wasn 23:21
't installed