🦋 Welcome to the MAIN() IRC channel of the Raku Programming Language (raku.org). 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 6 September 2022. |
|||
00:00
reportable6 left
00:01
reportable6 joined
|
|||
Xliff_ | Yeah, but would need nqp to get @!candidates. | 00:06 | |
00:07
deoac left
|
|||
roguerakudev | It seems like I keep running into issues with type parameterization and typed parameters... is there an alternative to sub foo(SomeType @args) that allows me to pass a Positional that isn't explicitly created to be Positional[SomeType] but is nonetheless made up only of that type? | 00:09 | |
I kind of get why this is the way it is, because in general arrays can be heterogenous, but it's rather annoying that the compiler can't "just figure it out" when everything inside is a literal of a known type | 00:10 | ||
Xliff_ | roguerakudev: Try sub foo(@args where *.all ~~ SomeType) | 00:11 | |
If you use that a lot, you might want to create a subtype. | 00:12 | ||
our subset SomeTypeArray of Positional where *.all ~~ Sometype | |||
roguerakudev | Hm, now I'm getting Constraint type check failed in binding to parameter '@logging-methods'; expected anonymous constraint to be met but got List ((Logging::Method.new...) | 00:16 | |
Just going to go with my real type names now lol | |||
For reference this is with sub initialize-logging(@logging-methods where *.all ~~ Logging::Method) and the call looking like initialize-logging((Logging::Method.new(...),)) | 00:17 | ||
vrurg | Xliff_: why would you need it? Why &meth.candidates doesn't suite you? | 00:25 | |
I don't even see why would you need them in first place. Once you register an alias with add_multi_method the rest would happen automatically. | 00:27 | ||
00:55
Sgeo left
01:00
jetchisel left
01:01
jetchisel joined
01:05
Sgeo joined
|
|||
roguerakudev | I think this may be a bug actually, because the same thing with a direct check is fine, e.g. (Str.new,).all ~~ Str returns True | 01:05 | |
01:05
Sgeo left
|
|||
but then sub foo(@args where *.all ~~ Str) { say 'yep' } and foo((Str.new,)) fails with expected anonymous constraint to be met but got List (("",)) | 01:06 | ||
Xliff_ | vrurg: Actually, I was able to make it work. | 01:07 | |
01:09
razetime joined
01:15
jetchisel left
01:18
jetchisel joined
|
|||
roguerakudev | Decided to create an issue for it. We'll see if I'm just doing something silly now :) github.com/rakudo/rakudo/issues/5313 | 01:20 | |
01:30
m_athias left,
nine_ left
01:32
nine joined,
m_athias joined
|
|||
vrurg | Xliff_: congrats! | 01:34 | |
01:47
razetime left,
razetime_ joined
|
|||
tbrowder__ | SmokeMachine: i looked at today Red after a long time since its early days, and it looks like it may be almost ready to use in othrer modules. Voldenet and others are saying sqlite or another db would be best for fast access for individual data storage as the next natural move after using a hash. so i was looking for opinions on whether Red is ready for real use. | 02:10 | |
*Red today | |||
02:11
sacomo joined
|
|||
tbrowder__ | not rushing, just looking | 02:11 | |
sacomo | hi all, is there a way to have all modules install to a custom (non default) path, and then always use that path when running raku? | 02:12 | |
Voldenet | I didn't use it but zef has install-to option | 02:16 | |
paired with ZEF_INSTALL_TO env var | 02:17 | ||
sacomo | Voldenet, thanks. Do I use ZEF_INSTALL_TO=new/custom/path raku script.raku to use that new path when running scripts? | 02:18 | |
Voldenet | ZEF_INSTALL_TO only controls zef | 02:20 | |
RAKULIB path is used by raku to locate modules iirc | |||
sacomo | I have been testing the --install-to option and RAKULIB, but raku doesn't seem to find the modules installed in the --install-to custom path.... | 02:22 | |
02:28
razetime_ left
02:29
razetime joined
02:37
razetime left
02:38
razetime joined
|
|||
Voldenet | sacomo: use the format described here github.com/ugexe/zef#custom-instal...-locations | 02:39 | |
02:44
razetime left
02:46
razetime joined
|
|||
sacomo | Voldenet: thanks | 02:52 | |
Voldenet: the info you shared (custom-installation-locaitons) worked for me. thanks again. | 03:17 | ||
Voldenet | I wish it was controlled by a single variable at some point | 03:18 | |
RAKUENV or something | |||
03:20
razetime left
03:21
razetime joined
03:32
razetime left
|
|||
sacomo | yeah, that would be convenient | 03:32 | |
03:32
razetime joined
03:50
razetime left
03:52
razetime joined
04:08
rf left
04:13
razetime left
|
|||
Xliff_ | .tell vrurg Have an issue with method add_multi_method: "Type check failed in binding to parameter '$obj'; expected Any but got C (C)" -- Why am I getting this when core has the same signature: "($obj, $name, $code-obj)" | 04:29 | |
tellable6 | Xliff_, I'll pass your message to vrurg | ||
04:31
Xliff_ left,
Xliff left
04:38
ProperNoun left
04:52
razetime joined
05:04
kst left
05:20
Sgeo joined
05:32
razetime left,
razetime joined
05:45
Tirifto left
05:47
Tirifto joined
05:55
kst joined
06:00
reportable6 left
06:01
reportable6 joined
06:43
kjp left
06:45
kjp joined
06:55
RakuIRCLogger__ joined
06:56
Geth__ joined,
lizmat_ joined
06:57
RakuIRCLogger left,
Geth left
06:58
lizmat left
07:00
Geth__ left,
Geth joined
07:04
Geth left
07:05
Geth joined
07:20
abraxxa joined
07:25
Sgeo left
07:32
sena_kun joined
08:02
dakkar joined,
RakuIRCLogger__ left
08:29
razetime left
08:48
razetime joined
|
|||
nemokosch | @roguerakudev my suspicion was correct, it seems | 09:02 | |
this is not an inherent constraint check problem, merely a whatevercode anomaly | 09:03 | ||
if you write { .all ~~ Str } instead of *.all ~~ Str, it will work | |||
09:13
abraxxa left
09:46
hellwolf joined
10:46
bloatable6 left,
bisectable6 left,
reportable6 left,
greppable6 left,
shareable6 left,
benchable6 left,
evalable6 left,
tellable6 left,
sourceable6 left,
unicodable6 left,
releasable6 left,
coverable6 left,
statisfiable6 left
10:47
bisectable6 joined,
statisfiable6 joined,
shareable6 joined,
unicodable6 joined,
reportable6 joined
10:48
coverable6 joined,
bloatable6 joined,
releasable6 joined,
tellable6 joined,
evalable6 joined
10:49
sourceable6 joined,
benchable6 joined,
greppable6 joined
11:45
sivoais_ left
12:00
reportable6 left,
reportable6 joined
12:09
sivoais joined
|
|||
xinming_ | tbrowder__: as a Red user, I can tell you, if you prevent cocurrent access to the db, Red works pretty fine when it works. and you may encouter some small bugs when you doing project, Red is usable. But IMO not production ready yet. | 12:10 | |
Also, your projects may need tests to ensure everything work as expected. | 12:11 | ||
12:11
ProperNoun joined
|
|||
xinming_ | I personally still uses DBIish for small utilites, I will choose Red for long term projects, as I believe it'll finally be production ready | 12:13 | |
12:22
razetime_ joined,
razetime left
12:30
Xliff joined
12:44
euandreh left
12:46
euandreh joined
12:50
razetime_ left
|
|||
vrurg | . | 13:25 | |
tellable6 | 2023-07-14T04:29:51Z #raku <Xliff_> vrurg Have an issue with method add_multi_method: "Type check failed in binding to parameter '$obj'; expected Any but got C (C)" -- Why am I getting this when core has the same signature: "($obj, $name, $code-obj)" | ||
vrurg | Xliff: You get this because C isn't composed at the time and it passes no type matching yet. $obj has to be Mu to accept anything. | 13:26 | |
13:26
raiph joined
13:31
raiph left
13:50
razetime joined
13:51
razetime left
|
|||
tbrowder__ | xinming_: thanks | 14:03 | |
Xliff | vrurg: OK, then there is a further problem with signature matching because the "callsame" in your example no longer matches what's in the parent. | 14:23 | |
So the callsame goes nowhere. | |||
I have examples that sort of confirm this. I will attach them to the issue. | 14:24 | ||
vrurg | Xliff: callsame must re-dispatch to the upstream add_multi_method which is in the metamodel code. | 14:36 | |
Xliff | vrurg: Yes, but that has signature ($obj, $name, $code-obj) | ||
vrurg: Doesn't the lack of "(Mu $obj" have an effect on callsame? | 14:37 | ||
A bit busy for the next few hours so I will update the issue with my findings. | |||
roguerakudev | Very strange… certainly counts as a “wat” | 14:44 | |
Oh, I bet it has something to do with Mu vs Any | 14:45 | ||
Junctions inheriting straight from Mu so they don’t have Any-ish behavior | |||
At any rate I have a workaround now, so thanks | 14:46 | ||
Xliff | rogueerakudev: Mind sharing? | ||
roguerakudev | Referring to Nemokosch’s comment above, using a block for the type constraint issue I was having yesterday (eg where { .all ~~ Type }) | 14:48 | |
Xliff | Ah. | ||
roguerakudev | Discord has a reply feature, but obviously that doesn’t translate over the bridge :^) | 14:50 | |
14:51
evalable6 left,
linkable6 left,
evalable6 joined
14:53
linkable6 joined
|
|||
Oh never mind, in the linked issue it explains the issue is smartmatch doesn’t get sucked up into the whatevercode, which I’m sure has some@good reasoning behind it… but as suggested, a specific warning would be nice | 14:53 | ||
nemokosch | well, as far as I understand, the reason has something to do with the "thunkiness" of the smartmatch operator | 14:58 | |
you know how && is short-circuiting? That makes it a pretty weird and impure operator | 14:59 | ||
if you want to model it purely, you need to conclude that its right handside is in fact a piece of inline code | |||
~~ works on the same principle: it evaluates the left handside, then it evaluates the right handside as a piece of code, having $_ set to the LHS value, and ultimately it calls .ACCEPTS($_) on the obtained value | 15:01 | ||
I would optimistically think that there is no inherent reason why ~~ and && couldn't whatever-curry; perhaps it was just too complex, due to this special meta-nature of these operators | 15:03 | ||
Now, from RakuAST point of view, I don't think these calls will be anything special, and therefore I'd hope that they can be generated as the right thing | 15:05 | ||
15:14
Sgeo joined
|
|||
roguerakudev | Yeah, I can’t think of a scenario off the top of my head where you’d actually want those not to curry | 16:12 | |
So perhaps great things are ahead with RakuAST | 16:13 | ||
16:14
evalable6 left,
linkable6 left
16:15
linkable6 joined
16:17
evalable6 joined
16:31
dakkar left
|
|||
nemokosch | like of course these operators need special attention to be codegenned right - but I'd hope the extra complexity of paying attention to whatever-currying as well would be manageable | 16:39 | |
16:52
lizmat_ left,
lizmat joined
17:53
unicodable6 left,
quotable6 left,
shareable6 left,
squashable6 left,
evalable6 left,
nativecallable6 left,
statisfiable6 left,
bisectable6 left,
releasable6 left,
bloatable6 left,
sourceable6 left,
benchable6 left,
greppable6 left,
tellable6 left,
committable6 left,
notable6 left,
reportable6 left,
coverable6 left,
linkable6 left,
sourceable6 joined,
tellable6 joined
17:54
releasable6 joined,
reportable6 joined,
bloatable6 joined,
nativecallable6 joined,
benchable6 joined
17:55
linkable6 joined,
shareable6 joined,
statisfiable6 joined,
bisectable6 joined,
quotable6 joined,
notable6 joined,
evalable6 joined,
squashable6 joined,
committable6 joined,
greppable6 joined,
unicodable6 joined
17:56
coverable6 joined
18:00
reportable6 left
18:02
reportable6 joined
19:02
quotable6 left,
greppable6 left,
evalable6 left,
statisfiable6 left,
benchable6 left,
tellable6 left,
unicodable6 left,
coverable6 left,
releasable6 left,
bisectable6 left,
reportable6 left,
notable6 left,
squashable6 left,
committable6 left,
sourceable6 left,
linkable6 left,
bloatable6 left,
nativecallable6 left,
shareable6 left
19:03
committable6 joined,
releasable6 joined,
bisectable6 joined,
statisfiable6 joined,
notable6 joined
19:04
shareable6 joined,
quotable6 joined,
bloatable6 joined,
unicodable6 joined,
benchable6 joined,
greppable6 joined,
squashable6 joined
19:05
coverable6 joined,
sourceable6 joined,
evalable6 joined,
tellable6 joined,
nativecallable6 joined,
linkable6 joined,
reportable6 joined
19:33
rf joined
19:52
andinus left
|
|||
jdv | what is going on | 20:24 | |
m: $*RAKU.compiler.version | 20:26 | ||
camelia | ( no output ) | ||
jdv | m: $*RAKU.compiler.version.say | ||
camelia | v2023.06.98.g.34.a.1.a.5.da.5 | ||
20:52
linkable6 left,
evalable6 left
20:53
evalable6 joined
20:54
guifa joined
|
|||
guifa is back from TPRC | 20:54 | ||
I only had like 3-4 typos in each presentation this time haha | 20:55 | ||
20:55
linkable6 joined
|
|||
guifa | Also, Sawyer X's talk should be obligatory viewing for everyone. While he's talking about the Perl community in specific, much applies to our community as well | 21:04 | |
youtu.be/Q1H9yKf8BI0 | 21:05 | ||
gfldex | I feel obligated to watch that talk! | 21:11 | |
guifa: Sadly, I have to repote that video to be rather boring to me. I work in customer service and I must presume that Sawyer X wouldn't last a week on the phone. You lot have no idea how lucky you are. I have "unpolite" pricks throwing abuse at me every single day and consider being able to deal with that as a rather important part of what it means to be an adult. | 21:40 | ||
21:55
linkable6 left,
evalable6 left
21:56
linkable6 joined
|
|||
nemokosch | this would be very well said if it didn't come from you of all people, lol | 21:57 | |
21:58
evalable6 joined
|
|||
anyways, I also watched that video and it did try to present an understanding point of view | 21:59 | ||
you don't have to empathize with me or anything but at least hear me out when I say: you cannot push a sonda into a person to check how they feel, so you will always have to decide based on their reactions | 22:01 | ||
the more somebody reacts to any sort of discomfort, the more protection they will induce, and vice versa | 22:02 | ||
and if you actually train people to be very stressed about any sort of discomfort they might suffer, it's quite possible that they might even overreact | 22:03 | ||
www.youtube.com/watch?v=umJ7XtJuFLY another "obligatory viewing" - honestly, I hoped it would be more about the solution; it turned out to be so depressing it could be me venting | 22:08 | ||
guifa | demokosch: IIRC from that talk, it's just an initial bit of survey data and analysis, that's going to be part of a larger project | 22:23 | |
well, "initial bit" it's the completed survey with analysis, but the project had a limited scope as a piece of a larger project | 22:24 | ||
nemokosch | That sounds interesting | 22:31 | |
Of course it only applies partially to Raku but I think the "loyalists" part is accurate | 22:34 | ||
guifa | I would be wiling to bet that numbers for the two communities would be fairly similar. | 22:35 | |
also one thing to point out because there was some confusion during the talk that got clarified inQ&A | |||
social norms == "my best friend told me perl sucked so I'm not gonna use it" or "Perl is badass 1337 hacker shit so I really want to learn it" | 22:36 | ||
nemokosch | Oh right that wasn't clear at all lol | ||
There is a pretty important difference: Perl has been shrinking in popularity for quite a long time by now, Raku isn't lucky enough on its own to afford that | 22:38 | ||
22:40
sena_kun left
|
|||
For Perl, a solid conservation plan might do it, for Raku, the barrier of visible presence still needs to be broken in many regards | 22:41 | ||
roguerakudev | let's be nice, now | 22:50 | |
leont | gfldex: haven't seen it yet so I may be making assumptions, but I think manners within a community are an entirely different thing from dealing with people from outside a community. | 22:53 | |
nemokosch | Let's just say that we have a history and I can't stand when somebody is openly hypocritical | 22:57 | |
It's not a right to get away with dishonesty and hypocrisy, damn it | 22:58 | ||
22:59
ab5tract joined
23:02
deoac joined,
deoac left
23:17
andydude joined
|
|||
japhb | tbrowder__: App::SerializerPerf:ver<0.0.5> uploaded; are those README changes sufficient? | 23:36 | |
tbrowder__ | thnx, checking now... | 23:57 | |
23:59
ab5tract left
|