š¦ 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:07
reportable6 left
00:08
reportable6 joined
00:20
p6steve left
01:20
evalable6 left,
linkable6 left
01:21
evalable6 joined
01:23
linkable6 joined
02:23
evalable6 left,
sourceable6 left,
notable6 left,
bloatable6 left,
statisfiable6 left,
benchable6 left,
committable6 left,
nativecallable6 left,
quotable6 left,
releasable6 left,
linkable6 left,
nativecallable6 joined,
evalable6 joined
02:24
quotable6 joined,
releasable6 joined
02:25
bloatable6 joined,
statisfiable6 joined
02:26
linkable6 joined,
benchable6 joined,
sourceable6 joined,
notable6 joined,
committable6 joined
02:30
japhb left
02:36
jj84 joined
02:37
japhb joined
02:43
jj84 left
03:27
Sankalp left
03:28
Sankalp joined
04:15
frost joined
04:29
wcs left
05:01
_________ left
05:02
_________ joined
05:25
swaggboi left
05:41
swaggboi joined
06:01
djerius left
06:03
djerius joined
06:06
reportable6 left,
reportable6 joined
06:08
silug left,
kjp left,
leah2 left,
bdju left,
dpk left,
codesections left,
masak_ left,
dustinm` left,
masak joined,
dpk joined,
silug joined,
leah2 joined
06:09
kjp joined,
bdju joined
06:12
PotatoGim left,
gugod left,
SmokeMachine left,
aqua1 left,
mykhal_ left,
corwin left,
eof left,
summerisle joined,
aqua1 joined,
SmokeMachine joined
06:13
PotatoGim joined,
corwin joined
06:14
dustinm` joined
06:16
gugod joined
06:17
mykhal joined
06:23
human-blip left,
human-blip joined
06:35
swaggboi left
06:36
swaggboi joined
06:59
Sgeo left
07:26
abraxxa joined
07:27
sena_kun joined
07:31
abraxxa left,
abraxxa joined
07:32
leah2 left,
leah2 joined
07:38
dakkar joined
07:50
jaguart joined
|
|||
gfldex | lolibloggedalittle: gfldex.wordpress.com/2022/07/11/th...d-problem/ | 08:30 | |
Nemokosch | defined vs definite is just another argument for the existence of Satan | 08:44 | |
> A value check is needed in this instance becauseĀ .AT-POSĀ will coerce toĀ IntĀ (by rounding) what may give a reasonable answer for an unreasonable question. | 08:50 | ||
This is both controversial and technically false - the value gets truncated, not rounded | |||
Learned that the hard way just yesterday | |||
08:50
evalable6 left,
linkable6 left,
evalable6 joined
08:51
linkable6 joined
|
|||
lizmat | Nemokosch: good spot, was watching the text more than semantics | 08:56 | |
tellable6 | lizmat, I'll pass your message to Nemokosch | ||
gfldex | it wouldn't hurt is tellable6 would get a little bit smarter | 09:00 | |
dutchie | if nemo ever actually shows up in irc it's going to be a flood | ||
09:41
p6steve joined
|
|||
AlexDaniel | a bit smarter in what way? | 09:47 | |
it knows about messages sent from discord | 09:48 | ||
aaa mmm, does it think that Nemokosch is not online? Interesting | |||
hmmmmmm whaat | 09:49 | ||
github.com/Raku/whateverable/blob/...le.p6#L100 | 09:50 | ||
based on that line it should not auto .tell to bridged users | |||
the nickname here is correct: github.com/Raku/whateverable/blob/...le.pm6#L28 | 09:51 | ||
.seen Nemokosch | |||
tellable6 | AlexDaniel, I saw Nemokosch 2022-06-22T11:10:27Z in #raku: <Nemokosch> or escaping | ||
AlexDaniel | .seen stevied | 09:52 | |
tellable6 | AlexDaniel, I saw stevied 2022-06-29T22:26:35Z in #raku: <stevied> but what about the 401 errors for all the other modules? aren't those also a problem? | ||
AlexDaniel | I'm pretty sure that it doesn't recognize discord-raku-bot in this case | 09:55 | |
it's weird because sometimes it does š¤· | 09:56 | ||
if anybody is interested in debugging this, I can assist | 09:59 | ||
10:03
guest39 joined
10:04
guest39 left
10:07
Altai-man joined
11:07
linkable6 left,
evalable6 left
11:08
evalable6 joined
11:09
linkable6 joined
11:44
tempuser joined
11:45
tempuser is now known as user3456899
11:52
user3456899 left
12:07
reportable6 left
12:08
reportable6 joined
12:22
Sankalp left
|
|||
Quibono | Good morning. I assume the raku irc is more active than the discord? | 12:25 | |
12:29
Sankalp joined
12:34
frost left
|
|||
moritz | I have no idea how active the discord is :-) | 12:41 | |
Quibono | Haha all the activity I see is on the IRC bridges. How is your day going? | 12:43 | |
12:45
Sankalp left
12:50
Sankalp joined
|
|||
moritz | slowly recovering from the 'rona, so could both be better and worse | 12:50 | |
Quibono | Oof. Keep getting vaxxed if you can, it can help with after effects. What sort of stuff do you do with Raku? š | 12:52 | |
moritz | not much, these days, to be honest. Used to be pretty big into grammars, these days it's more like better shell scripts | 12:54 | |
Quibono | Ah so youāre just the person to ask about grammars then. š | ||
moritz | I think the last "proper" script I wrote was for splitting PDFs into separate files per chapter, using pdftk: gist.github.com/moritz/ea14aa095b3...421808b911 | 12:55 | |
well yes. I've also written a / the book about them | |||
link.springer.com/book/10.1007/978...842-3228-6 | |||
Quibono | I want to write a language in raku. | 12:56 | |
moritz | ah, then parsing is likely the first step :-) (and if you believe most of the compiler books, about 60% of the work, because they always seem to spend soooo much energy and page count on parsing...) | ||
Quibono | Haha you wrote the book? Thatās crazy. | 12:58 | |
moritz | yes, pretty crazy. It's the book I'm the most proud of, and the one with the best reviews on amazon, and the one with the worst sales numbers :-) | 12:59 | |
simply too small of a nice to sell in higher numbers | |||
so, tell me about your language, what do you want to interpret or compile? | 13:02 | ||
lizmat | moritz++ # can't be said enough | ||
And yet another Rakudo Weekly News hits the Net: rakudoweekly.blog/2022/07/11/2022-...nciations/ | 13:03 | ||
moritz | lizmat++ # weekly | ||
13:04
Kaiepi joined
13:07
Kaipei left
|
|||
Quibono | Moritz: I might do a bytecode VM for now, then AOT compile to native later. I want the language to be good at expressing program transformations like compiler passes, since Iām planning on writing an LLVM like tool chain in it. | 13:13 | |
13:13
morte_ joined
|
|||
Altai-man | lizmat++ | 13:20 | |
Quibono | Potentially itād be cool to try and get an AOT compiler option for raku, I heard thereās a test suite for compilers? | 13:21 | |
nine | Quibono: the language is defined by a specification test suite. So there's that. Also the new RakuAST based frontend will make it much easier to try fancy things like writing an AOT compiler. That said, the latter would be a huge undertaking. | 13:41 | |
13:46
jgaz joined
|
|||
Quibono | Nine: yeah, my plan is to build the backend up to compile my (simple) language, and then work on seeing about other frontends. | 13:56 | |
14:00
jgaz left
14:06
Sgeo joined
14:08
morte_` joined
14:10
morte_ left
14:15
jgaz joined
14:29
morte_` left
14:30
monkey_ joined
14:31
wcs joined
|
|||
p6steve | what is the best way to take a CArray[uint8] (of utf8 encoded bytes) and make a Str? | 15:16 | |
I have got as far as $array.list to give me the List of chars ... but decode only seems to work on bin encoded data | 15:17 | ||
15:19
Sankalp left
15:24
Sankalp joined
|
|||
p6steve | quibono: the discord raku channel is usually empty but for visitors asking where everyone is ... occasionally a tumbleweed ... perhaps we should pin a statement to the channel home to explain how to use the discord raku bot? | 15:25 | |
15:38
clarjon_1 is now known as clarjon1
|
|||
p6steve | finally worked out discord irc bridge | 15:48 | |
15:53
abraxxa left
|
|||
coleman | hello discord! | 16:05 | |
Nemokosch | Sup | 16:06 | |
coleman | Not much, just relaxing over here in Raku's IRC | 16:07 | |
Wasn't aware the bridge between Discord and IRC had issues, but thanks to p6steve for working the problem | 16:08 | ||
Voldenet | m: Buf.new(<226 134 145 32 84 104 105 115 32 105 115 32 116 104 101 32 98 101 115 116 32 119 97 121 44 32 112 54 115 116 101 118 101>).decode().say | 16:10 | |
camelia | ā This is the best way, p6steve | ||
Voldenet | m: use NativeCall; Buf.new(CArray[uint8].new(<226 134 145 32 84 104 105 115 32 105 115 32 116 104 101 32 98 101 115 116 32 119 97 121 44 32 112 54 115 116 101 118 101>)).decode().say | 16:11 | |
camelia | ā This is the best way, p6steve | ||
Voldenet | this also works | ||
p6steve | coleman: that's really my unfamiliarity with the need to go #verify: rank? member and then select #irc-raku ... but maybe I'm not the only one | 16:12 | |
Voldenet: oh so simple | |||
Voldenet: thanks!! | |||
Voldenet | I was stuck on a few "oh it's so obvious" problems a lot too | 16:13 | |
16:14
Altai-man left,
Altai-man joined
16:25
jgaz left,
dogbert17 left
16:28
dogbert17 joined
16:35
dakkar left
17:03
melezhik joined
|
|||
melezhik | . | 17:03 | |
jjatria any luck with PublicSuffix/Sparky setup? | |||
p6steve | 1 #!/usr/bin/env raku | 17:06 | |
2 | |||
3 use lib '../lib'; | |||
4 | |||
5 use Dan; | |||
6 use Dan::Polars; | |||
7 | |||
8 my \df = DataFrame.new; | |||
9 df.read_csv("../dan/src/iris.csv"); | |||
10 df.head; | |||
11 | 17:07 | ||
12 my \ds = df.to-dataset; | |||
13 say ds[3;3]; | |||
[Coke] | p6steve: please use something like gist.github.com for sharing multi-line snippets) | ||
p6steve | anton: I have now made a to-dataset methon in Dan::Polars so that you can use it to Polars / Rust read_csv; | ||
anton: you can use it like this | 17:08 | ||
Coke: oh, ok sure | |||
anton: I will put this in a snippet with the cli deployment info | 17:09 | ||
anton: please send me your 700MB csv exampl eif possible and I can time it | 17:10 | ||
17:11
Altai-man left
17:20
swaggboi left
17:21
swaggboi joined
|
|||
p6steve | anton: meantime the gist is here gist.github.com/p6steve/c733fb6c9a...ff0b1fda32 | 17:22 | |
17:39
jgaz joined
18:06
reportable6 left
18:07
melezhik left,
melezhik joined
18:08
reportable6 joined
|
|||
melezhik | . | 18:08 | |
jjatria | melezhik: nothing yet. I need to find some time to try it out, and I still need to make sure that the automatic deploy thing even works š¤ | 18:09 | |
tonyo | jjatria: limited in what way? Once you have the token you can just put the token in the cloud (should be in the fez config file if you're logged in) | 18:17 | |
jjatria | I didn't know fez could generate tokens already. How do they work? | ||
I was thinking limited in that you could given them permission to push only certain dists, etc | |||
tonyo | Ah, I have nothing like that set up | 18:18 | |
They're just login tokens and they expire after 30 days | |||
jjatria | Yeah, I mean, I don't know how often a setup like this would be needed | ||
tonyo | The idea of using an org could also help so you just have an org and make a generic user for the org and push dists that way | 18:19 | |
jjatria | But then that bot user can still make releases for any dist in that org, right? | ||
It would serve to disconnect this from your personal creds, but it would still have global write access | 18:20 | ||
global = inside that org | |||
tonyo | Yea they could release any dist in that org, was thinking more to isolate your own user | 18:21 | |
jjatria | (in case you've missed the context: this is for raku.land/zef:jjatria/PublicSuffix with the idea that something could trigger a new release whenever the public suffix list gets an update) | ||
tonyo | Hmm I'll give that a think | ||
That sounds like something using a jwt would solve | 18:22 | ||
jjatria | Incidentally: with a setup like that, generating up to several releases per week in busy periods it seems, would storage become a problem? | 18:23 | |
re. jwt: hm, interesting... | |||
lizmat | And yet another Rakudo Weekly News hits the Net: rakudoweekly.blog/2022/07/11/2022-...nciations/ | 18:28 | |
looks like I forgot to clickbait on #raku | |||
or not? | |||
hmmm | |||
japhb | lizmat: I saw it 5 1/2 hours ago or so | 18:30 | |
lizmat | weird... I looked on my mobile about 3 hours ago, and it wasn't there | ||
hmmm | |||
anyways, an extra clickbait never hurts | 18:31 | ||
japhb | True! :-) | 18:35 | |
18:54
melezhik left
18:57
jaguart left
19:00
melezhik joined
|
|||
melezhik | jjatria my take on that - one could spin up a sparky server , that would run scheduled job to check updates from public suffix list and then if any will trigger a new distro release, Sparky covers pretty much all this scheduling logic and even more - github.com/melezhik/sparky#run-by-cron | 19:03 | |
the only question is if you are willing to spin up and support Sparky instance | |||
as for the secrets - they could be injected into Sparky VM as env vars, so that for example fez-login plugin could use this information to setup login to fez - sparrowhub.io/plugin/fez-login/0.000003 | 19:05 | ||
19:15
mexen left
19:18
m_athias left,
Sankalp left,
m_athias joined
19:22
guifa joined,
Sankalp joined
|
|||
guifa | o/ | 19:29 | |
Nemokosch | how can I treat Whatever and WhateverCode identically? | 19:31 | |
guifa | context? | 19:32 | |
Nemokosch | Basically I want to do some indexing with the Whatever star and don't want to "special-case" the star in itself | 19:33 | |
guifa | subset Whatevs of Any where Whatever|WhateverCode; | 19:35 | |
lizmat | I was going to say: you can't without using junctions or a subset | ||
guifa | A whatever isn't callable though | 19:36 | |
Nemokosch | Ah, this is kind of stupid though, the star represents a very exact value | 19:37 | |
`* + 2 - 2` is equal to `*`, except one has a nice interface to work with | 19:39 | ||
19:54
[Coke] left
19:55
[Coke] joined
|
|||
Geth | doc/finanalyst-patch-1: 0248426715 | (Richard Hainsworth)++ (committed using GitHub Web editor) | doc/Language/modules.pod6 Update modules.pod6 |
19:55 | |
doc: finanalyst++ created pull request #4095: Update modules.pod6 |
20:05 | ||
20:22
sena_kun left
|
|||
Geth | ecosystem: b0375239f0 | (Richard Hainsworth)++ (committed using GitHub Web editor) | META.list Update META.list migrated from p6c to fez: RakuConfig, raku-pod-render, pod-from-cache, raku-pod-extraction |
20:23 | |
guifa | nemokosch: ah. In that case, I'd still do a multi, and just have the whatever return a whatever returning the object itself (via .self) | ||
tellable6 | guifa, I'll pass your message to Nemokosch | ||
guifa | m: multi sub foo(WhateverCode &bar) { bar(42) }; multi sub foo(Whatever &) { samewith *.self }; say foo (* + 2); say foo *; | ||
camelia | ===SORRY!=== Calling foo(WhateverCode) will never work with any of these multi signatures: (WhateverCode &bar) (Whatever &) at <tmp>:1 ------> oo(Whatever &) { samewith *.self }; say āfoo (* + 2); say foo *; Callingā¦ |
||
guifa | wait what? | ||
20:24
swaggboi left
|
|||
guifa | oh right | 20:24 | |
20:24
swaggboi joined
|
|||
guifa | Foo &bar = Callable[Foo] | 20:24 | |
m: multi sub foo(WhateverCode $bar) { $bar(42) }; multi sub foo(Whatever $) { samewith *.self }; say foo (* + 2); say foo *; | 20:25 | ||
camelia | 44 42 |
||
20:28
sena_kun joined
|
|||
Nemokosch | why does this work? š | 20:39 | |
guifa | If you say foo * + 2, the * + 2 becomes a WhateverCode (which is a callable, hence we can $bar(42) ) | 20:40 | |
If you say foo *, it's a Whatever, not useful since it's not callable. samewith says "call foo again, but use this other set of arguments instead" | 20:41 | ||
Nemokosch | so far so good | ||
guifa | The main multi candidate will only take a whatevercode though, so we need to a pass a whatevercode identity function, as it were | ||
the only way to do that that I know of is *.self (and it's a method on Mu, so guaranteed to work for *everything*) | 20:43 | ||
et violĆ , I finally found a use for .self ! | |||
Nemokosch | indeed, so what is the whatevercode identity function? š§ | ||
guifa | *.self | ||
m: my &foo = *.self; say foo 55; say foo 'bar'; say foo /regex/ | 20:44 | ||
camelia | 55 bar /regex/ |
||
guifa | or put another way, *.self is equivalent to -> $x {Ā $x.self }, which by definition produces the same as -> $x { $x } | 20:46 | |
20:47
jaguart joined
|
|||
Nemokosch | oh, so in this case, the star has no special relevance | 20:47 | |
it just happens to be a Whatever-ish way | |||
guifa | Yeah. Per the docs | 20:49 | |
Nemokosch | this is good enough I'd say | ||
thanks | |||
guifa | "Whatever is a class whose objects don't have any explicit meaning; it gets its semantics from other routines that accept Whatever-objects as markers to do something special. Using the * literal as an operand creates a Whatever object." | ||
20:50
monkey_ left
|
|||
Nemokosch | I find it mentally tiring to keep in mind that even the apparent method call on * is operator stuff | 20:52 | |
20:53
melezhik left
21:00
lizmat_ joined
21:03
lizmat left
21:07
swaggboi left
21:08
swaggboi joined
21:11
morte_ joined
21:20
melezhik joined
21:37
melezhik left
21:52
kaskal- is now known as kaskal
22:02
perlbot left
22:03
simcop2387 left,
morte_ left
|
|||
tonyo | jjatria: storage shouldn't be a problem, it's all sitting here in s3 | 22:11 | |
22:22
lizmat_ is now known as lizmat
22:25
simcop2387 joined
22:26
perlbot joined
|
|||
guifa | Nemokosch: you can do a true call on * by encasing it in parentheses | 22:28 | |
tellable6 | guifa, I'll pass your message to Nemokosch | ||
guifa | m: say (*).^methods | ||
camelia | WhateverCode.new | ||
guifa | hrm | ||
m: say ((*)).^methods | 22:29 | ||
camelia | (Capture ACCEPTS raku Str BUILDALL) | ||
22:31
melezhik joined
22:37
jgaz left
22:42
tejr left
22:47
tejr joined
22:54
jaguart left
|
|||
tonyo | not to be confused with | 23:10 | |
m: say [*] [1,2,3] | |||
camelia | 6 | ||
23:26
merpaderp left
23:28
merpaderp joined
23:43
wcs left
23:45
Colere left,
melezhik left
23:48
Colere joined
|