🦋 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 inspection is getting closer to beta. If you're a beginner, you can also check out the #raku-beginner channel!
Set by lizmat on 25 August 2021.
00:01 swaggboi left 00:13 swaggboi joined 00:18 zacts joined 00:52 zacts left
SmokeMachine kawaii_: say [42] ~~ Array[Int] 00:57
m: say [42] ~~ Array[Int]
camelia False
kawaii_ Ah I see, yes :) 00:58
Juerd m: subset IntArray of Array where .all ~~ Int; say [42] ~~ IntArray; 01:02
camelia True
01:09 atweiden_air- joined
atweiden_air- why does one file lib/A.rakumod containing `role A['a'] {}; role A['b'];` pose no issue with downstream usage whereas splitting this file into lib/Aa.rakumod containing `unit role A['a'] {}` and lib/Ab.rakumod containing `unit role A['b'] {}` throw P6M Merging GLOBAL symbols failed: duplicate definition of symbol Replace 01:11
s/Replace/A 01:12
golfed github.com/atweiden/golf 01:26
01:32 japhb left 01:35 japhb joined
atweiden_air- Is the only workaround not parameterizing the unit roles? 01:46
02:01 nine left, m_athias left 02:02 nine joined, m_athias joined 02:58 xinming left 02:59 xinming joined 03:35 guifa joined 04:11 perlbot left, simcop2387 left 04:19 zacts joined 04:26 lockywolf left 04:33 lockywolf joined
atweiden_air- solved github.com/atweiden/golf/commit/5c...9c3b3f1162 04:40
04:45 atweiden_air- left 04:49 zacts left
Geth doc: 9930cf5d20 | (Patrick Böker)++ (committed using GitHub Web editor) | doc/Language/modules.pod6
Give the more obvious answer to "Where are bin/ scipts installed?" (#4046)
06:05 mexen joined 06:18 perlbot joined 06:21 simcop2387 joined 06:30 abraxxa joined 06:35 abraxxa left 06:36 jmcgnh left, abraxxa joined 06:39 kjp_ left 06:41 jmcgnh joined 06:42 Sgeo left 06:55 kjp joined 08:03 dakkar joined 08:07 jmcgnh left 08:09 jmcgnh joined
patrickb melezhik: I think one possible route is to move over to DB::MySQL which maintains a connection pool. 08:23
08:57 solitario left 08:59 jjido joined 09:00 MitarashiDango[m left, jjido left 09:09 _________ left 09:12 Oshawott left
Altreus japhb: meh, this is for me, and the maths is easier if the week starts at 1 09:12
And the maths was weirdly not very easy
09:22 jjido joined 09:42 ggoebel left 10:18 solitario joined 10:36 jjido left 11:02 ggoebel joined 11:11 archenoth joined 11:22 ggoebel left 11:30 razetime joined 11:31 ggoebel joined 11:47 simcop2387 left 11:48 simcop2387 joined 12:03 synthmeat left 12:13 ggoebel left 12:23 synthmeat joined 12:55 ggoebel joined 13:00 jjido joined
Altreus Where are raku's own options documented? Equivalent of perldoc perlrun? 13:12
I tried rakurun :D
lizmat raku --help ? 13:17
Altreus o, I tried man raku and gave up :D
forgot about basic functions -_-
in repeat/while, can the condition see variables lexical to the repeat block? 13:39
lizmat I think so? 13:40
Altreus TIAS
ugexe m: while my $x = 42 { last; }; say $x
camelia 42
ugexe oops i guess thats the exact opposite 13:41
Altreus m: repeat { my $x = 42 } while $x > 50;
camelia ===SORRY!=== Error while compiling <tmp>
Variable '$x' is not declared. Perhaps you forgot a 'sub' if this was
intended to be part of a signature?
at <tmp>:1
------> repeat { my $x = 42 } while ⏏$x > 50;
Altreus :(
leaky scope
that's OK, the outer scope is small here
13:57 jjido left
Altreus Hmm, the .? methodop doesn't work if it's an attribute on a type object 14:09
lizmat example? 14:13
Altreus m: DateTime.?day 14:16
camelia Cannot look up attributes in a DateTime type object. Did you forget a '.new'?
in block <unit> at <tmp> line 1
Altreus m: Nil.?day
camelia ( no output )
Altreus Seems like "I would have this if I were instantiated" overrides "maybe you don't have this" 14:17
lizmat m: DateTime.day
camelia Cannot look up attributes in a DateTime type object. Did you forget a '.new'?
in block <unit> at <tmp> line 1
lizmat m: class A { has $.a }; A.a 14:19
camelia Cannot look up attributes in a A type object. Did you forget a '.new'?
in method a at <tmp> line 1
in block <unit> at <tmp> line 1
lizmat the underlying issue, to an extent
not sure why the accessor is not generated with a :D check on the invocant
m: class A { has $.a }; dd A.^find_method("a") # hmmm... the signature says it is? 14:20
camelia Method a = method a (A:D: *%_) { #`(Method|5973966464984) ... }
lizmat m: class A { has $.a; method a(A:D:) { 42 } }; dd A.a # signature does not match reality 14:21
camelia Invocant of method 'a' must be an object instance of type 'A', not a
type object of type 'A'. Did you forget a '.new'?
in method a at <tmp> line 1
in block <unit> at <tmp> line 1
14:57 stanrifkin joined
stanrifkin is there something similar to perl's Math::Prime::Util in raku? 14:57
14:59 Sgeo joined
lizmat not that I know of 14:59
shouldn't be too hard to port metacpan.org/pod/Math::Prime::Util::PP to Raku :-) 15:00
especially since a lot of the bigint / bigfloat handling is built into Raku :-) 15:01
stanrifkin lizmat: but not gmp or?
lizmat: can't i simply use that perl module in raku? never done that 15:02
lizmat possibly... there's even a MoarVM branch to use libgmp internally, which would make things even simpler
stanrifkin: that you can do also: raku.land/cpan:NINE/Inline::Perl5
15:02 discord-raku-bot left
.oO( another plan thwarted to get a module ported :-)
15:03 discord-raku-bot joined 15:07 morte_ joined 15:08 lichtkind joined 15:13 djerius left 15:15 djerius joined
stanrifkin get an error when installing Inline::Perl5 15:16
relocation R_X86_64_PC32 against symbol `PL_opargs' can not be used when making a shared object; recompile with -fPIC 15:17
something wrong with the newest perl5.34.1 and raku distributions?
i use perlbrew and it seems that the archive libperl.a is not compiled with -fPIC 15:18
drakonis github.com/rakudo/rakudo/issues/4835 huh well. 15:23
stanrifkin nothing to do with tail call optimization. I didn't realize raku doesn't have that. 15:25
ok perl has no TCO either... i see 15:26
lizmat still fails to understand why some people seem to dismiss a language because it does not appear to have tail call optimizations 15:27
whereas Raku has a more general automatic inlining of hot code
ugexe i wonder how many people who proclaim such a desire for TCO have actually blown a stack before 15:29
dont get me wrong, having TCO would be awesome
stanrifkin lizmat: some problems are recursive naturally and hard or not possible iterative. but that doesn't mean someone "dismiss" a language because of the lack of TCO 15:31
Altreus Is this normal? In month-as-table, if I do it this way, all weeks are the same; presumably the assignment to @week is done by reference and the @month array therefore gets changed --> gist.github.com/Altreus/8d797886a3...8d6719c899 15:32
El_Che doesn't perl stops you at 100 recursive loop?
stanrifkin lizmat: but when i think about it. TCO possible problems should be no recursive either.
Altreus But if I use gather/take, it works as expected (gist updated) 15:33
I didn't expect any reference behaviour here at all
ugexe did you mean to use append? 15:34
i guess not
Altreus no I want an AoA
I mean, I do prefer gather/take!
15:37 _________ joined
drakonis oops, i derailed the topic 15:37
i've seen someone dismiss raku over no tco 15:38
stanrifkin drakonis: and used instead?
drakonis hmm, this person used python at the time 15:39
which doesn't have tco either
stanrifkin darkonis: says it all :) 15:40
ugexe I wanted atomics in raku, so I paid someone to implement them
drakonis hmm, time to pay someone for tco
ugexe exactly >:)
15:41 p6steve left
[Coke] I would chip in a few bucks for that. (if anyone has a plan, could submit a grant to YAS also) 15:43
15:44 committable6 joined, bisectable6 joined, sourceable6 joined
drakonis YAS? 15:44
15:44 bisectable6 left 15:45 quotable6 joined, coverable6 joined, linkable6 joined
[Coke] www.perlfoundation.org/ 15:45
I was avoiding the "perl" name variant, but it's the one most people know.
15:46 notable6 joined
[Coke] e.g. news.perlfoundation.org/post/grant...march_2022 15:46
15:46 nativecallable6 joined, releasable6 joined, bloatable6 joined 15:47 reportable6 joined, bisectable6 joined 15:52 Guest3345 joined 15:54 Guest3345 left 15:57 Papercombo joined
drakonis oh i see 16:00
16:01 Papercombo left
stanrifkin someone have got an working Inline::Perl5 module? 16:09
16:10 jgaz joined 16:11 linkable6 left
stanrifkin got it working with the default installed perl but not with the newest perlbrew perl-5.34.1 16:13
16:14 linkable6 joined
Altreus japhb: I made this; dunno if it helps you any gist.github.com/Altreus/17359580fb...2e05741324 16:14
japhb Altreus: Thank you. 16:29
16:29 jjido joined 16:43 razetime left
jdv anarchy in the uk? 16:45
wrong chan:( 16:46
Altreus wrong japh 16:47
16:50 dakkar left 16:56 melezhik joined
melezhik . 16:56
Hi. let me know if someone is interested in trying out sparkyci 16:57
Altreus qué 16:59
17:01 melezhik left 17:02 mexen left
Altreus Now I just need to figure out how to output that table in such a way that I can put fields next to each date and navigate to those fields in the terminal! 17:06
Maybe Terminal::UI 17:08
17:20 melezhik joined 17:21 melezhik left 17:25 melezhik joined
stanrifkin Altreus: and output it to an CVS file? Terminal only? 17:28
17:29 melezhik left
Altreus Currently I'm just outputting the result to the terminal... With Terminal::UI, I could feasibly just output it to another pane 17:29
17:35 melezhik joined 17:39 melezhik left, jgaz left 17:51 melezhik joined 17:53 melezhik left 18:05 melezhik joined 18:06 abraxxa left 18:08 melezhik left 18:10 guifa left 18:16 reportable6 left 18:17 reportable6 joined 18:20 casaca joined 18:35 p6steve joined 18:38 n1to joined 18:43 guifa joined
p6steve lichtkind: I see this lichtkind.de/vortrag but not the Plotten mit raku deck - kanst du bitte mitteilen? 18:44
18:45 melezhik joined 18:49 melezhik left
lichtkind p6steve: yes it developed into pure perl talk partially becasue the big modules on rakku org are wrapper for same libs but most of talk is dataprep theory math and design anyway 18:52
and becasue raku is missing some the math i needed
which is in smaller part my fault 18:53
18:53 melezhik joined
stanrifkin lichtkind: do you use this kephra editor? 18:53
lichtkind im the author but i use it too
stanrifkin nice website. i'll take a look at these wx tutorials. 18:55
lichtkind you mean lichtkind.de? 18:56
stanrifkin yes
lichtkind its like a buisnesscard :) not much design, but thanks for compliment 18:57
stanrifkin content matters right?
lichtkind exactly 18:58
stanrifkin did some c++ wxwidget stuff. but experimenting things out with perl seems like a good idea. can than implement it later in c++. 19:00
lichtkind then you look into xrc
you c++ app loads same xrc file and looks same
also helps with i18n
stanrifkin ok i see. 19:01
19:04 melezhik left 19:09 melezhik joined
melezhik . 19:09
19:13 melezhik left 19:18 melezhik joined 19:20 melezhik left 20:00 statisfiable6 joined 20:01 bisectable6 left 20:02 bisectable6 joined 20:03 benchable6 joined, squashable6 joined, unicodable6 joined 20:04 evalable6 joined, evalable6 left, benchable6 left, bisectable6 left, squashable6 left, statisfiable6 left, releasable6 left, linkable6 left, coverable6 left, quotable6 left, bloatable6 left, notable6 left, unicodable6 left, sourceable6 left, nativecallable6 left, reportable6 left, committable6 left, linkable6 joined, sourceable6 joined, squashable6 joined, greppable6 joined 20:05 reportable6 joined, statisfiable6 joined, shareable6 joined, notable6 joined, coverable6 joined, evalable6 joined 20:06 committable6 joined, unicodable6 joined, nativecallable6 joined, squashable6 left 20:07 quotable6 joined, bloatable6 joined, benchable6 joined, bisectable6 joined, releasable6 joined
lucs Hmm... Took me a while to figure out: 20:51
for ^42 { foo(); bar(); } # foo() is evaluated in sink context, but bar() is not, not sure why...
Nemokosch is it the last statement of your function? 20:58
idk how exactly it works but bar() is not in sink context probably because it's the last statement in some scope
therefore its return value is propagated
lucs Yeah, that's kind of what I suspected, but I'm not sure where exactly the value is propagated to. 20:59
21:00 melezhik joined
lucs (It doesn't sink when it's the last statement in the block here.) 21:01
21:02 melezhik left, melezhik joined
melezhik patrickb I've created a prototype for sparkyci - sparrowhub.io:2222 so you can check it out and see the idea - please let me know if you have any thoughts ... 21:03
I think what else besides test coverage would be interesting to add as CI part for a regular Raku project?
maybe license checks? not sure 🤔 if it fits opensource projects requirements ... 21:04
another though - check pod syntax linter , but maybe not everyone uses pod now, many docs - just markdown ... 21:05
code security vulnerabilities checks?
21:13 melezhik left
lucs Yucky, but I can make sure bar() gets evaluated in sink context (because it may generate a Failure whose exception I want to be thrown) by doing: 21:17
for ^42 { foo(); bar(); next; }
guifa you can also force sink context by just prefixing with sink
for ^42 { foo(); sink bar(); }
lucs Aha! I knew there must have been a better way :)
Thanks. 21:18
21:23 lichtkind left
patrickb melezhik: This looks really nice. 21:33
melezhik: I'd focus on usability.
Getting it up and running as simple as possible. 21:34
GitHub / GitLab / SourceHut integration.
Simple configuration
patrickb is off to bed now.
21:36 jjido left 21:40 melezhik joined 21:45 melezhik left 22:10 n1to left 22:28 zacts joined 22:34 tejr left 22:36 jgaz joined, tejr joined 22:38 discord-raku-bot left, discord-raku-bot joined, gfldex left 22:41 gfldex joined 22:44 discord-raku-bot left
gfldex m: my $result = do for ^1 { 42 }; dd $result; 22:45
camelia List $result = $(42,)
22:45 discord-raku-bot joined 22:55 zacts left 23:01 morte_ left 23:05 jgaz left 23:26 epony joined 23:42 melezhik joined 23:44 melezhik left
lucs gfldex: Ah, gotcha, thanks. 23:50
moon-child m: my $x = gather for ^1 { take 42 }; dd $x 23:51
camelia Seq $x = $((42,).Seq)
moon-child m: my $x = eager gather for ^1 { take 42 }; dd $x 23:52
camelia List $x = $(42,)