🦋 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
00:04
codesections joined
|
|||
Geth | doc/type-links: f1b9f67bc6 | (Will Coleda)++ | xt/rakudoc-types.rakutest ignore X<> markers. |
00:11 | |
00:13
deoac left
00:21
vrurg_ joined,
vrurg left
00:23
vrurg_ is now known as vrurg
|
|||
Geth | doc/type-links: fbe58443c6 | (Will Coleda)++ | xt/rakudoc-types.rakutest Only report exact case matches. Be sneaky and work even on case-insensitive file systems. |
00:27 | |
00:45
bigdata joined
00:46
Manifest0 left
00:58
kjp left
01:03
kjp joined
01:04
xinming left
01:06
xinming joined
|
|||
tonyo | rf: i'm likely going to regenerate a lot to make anything that's a boolean be a junction with the right value/type | 01:10 | |
rf: the escaping is in there and it *should* just work as is but just some updates | |||
01:14
derpydoo joined
01:18
derpydoo left
|
|||
rf | tonyo++ | 01:20 | |
Just tested it out and it's amazing | |||
tonyo | yea it's way easier/better than i thought it'd be | 01:26 | |
rf | Might actually use this in prod | 01:27 | |
01:29
derpydoo joined
|
|||
Voldenet | github.com/tony-o/ryml/blob/b216c9...akumod#L16 | 01:31 | |
this lacks escaping " as " ' as ' and & as & | 01:32 | ||
tonyo | i'll give it proper escaping shortly | ||
working on making these bools better rendered | |||
01:48
nort joined
02:05
razetime joined
|
|||
Geth | doc: cfa++ created pull request #4262: Remove formatting codes from various examples |
02:08 | |
tonyo | proper escaping and better bool renders ^^ | 02:20 | |
just in | |||
Geth | ¦ doc: cfa self-assigned Leaky, nested tags in the $*REPO section github.com/Raku/doc/issues/4261 | 02:23 | |
doc/main: 8898dc5c8e | cfa++ | doc/Language/compilation.rakudoc Fix C<B<...>> markup/formatting error Closes #4261. |
02:28 | ||
rf | .tell dakkar thanks for pointing out the missing 2's in my splits, I found a few bugs that got squashed with that change | 03:00 | |
tellable6 | rf, I'll pass your message to dakkar | ||
03:05
evalable6 left,
evalable6 joined
03:26
codesections left
03:32
ProperNoun left
03:38
swaggboi left
03:52
lucs joined
03:53
Guest35 left
03:55
swaggboi joined
04:00
rf left
04:08
archenoth joined
04:10
Oshawott left
04:17
razetime left
04:20
Aedil_ is now known as Aedil
04:35
razetime joined
05:23
razetime left
05:57
bigdata left
06:00
reportable6 left
06:01
reportable6 joined
06:41
bigdata joined
06:47
teatwo joined
06:49
razetime joined
06:50
tea3po left
06:51
teatwo left,
teatwo joined
06:59
perlbot left
07:01
simcop2387 left
07:58
Sgeo left
08:01
perlbot joined,
simcop2387 joined
08:07
razetime left
08:20
razetime joined
09:06
Manifest0 joined
09:08
dakkar joined
09:21
abraxxa joined
09:53
abraxxa left
09:54
abraxxa joined
10:27
Geth left,
Geth joined
10:46
razetime left
|
|||
Geth | doc/main: 7f9b27debd | (Elizabeth Mattijsen)++ | doc/Type/IterationBuffer.rakudoc Tweak IterationBuffer documentation a bit After having written tests, I noticed some properties were missing |
11:16 | |
doc/main: d0ac898f51 | (Elizabeth Mattijsen)++ | doc/Type/List.rakudoc Document sub rotor |
11:32 | ||
doc/main: 261e2a1830 | (Elizabeth Mattijsen)++ | doc/Type/IterationBuffer.rakudoc Date some IterationBuffer features |
11:35 | ||
11:46
evalable6 left,
linkable6 left
11:47
evalable6 joined
|
|||
Geth | doc/main: e3ec1efeda | (Elizabeth Mattijsen)++ | doc/Type/Telemetry.rakudoc Document safe-snapper module |
11:47 | |
11:49
linkable6 joined
11:52
Some-body_ joined
11:54
DarthGandalf left
11:55
Some-body_ is now known as DarthGandalf
|
|||
Geth | doc/main: 71391b1cb3 | (Elizabeth Mattijsen)++ | doc/Type/Cool.rakudoc Document Cool.uniparse |
11:55 | |
12:00
reportable6 left,
reportable6 joined
|
|||
Geth | doc/main: 16258ab187 | (Elizabeth Mattijsen)++ | doc/Language/traits.rakudoc Document class|role is implementation-detail |
12:06 | |
doc/main: ceb58f25d7 | (Elizabeth Mattijsen)++ | doc/Type/QuantHash.rakudoc Document QuantHash.Map |
12:07 | ||
12:10
Geth left,
Geth joined
|
|||
Geth | doc/main: bfa8305a05 | (Elizabeth Mattijsen)++ | 2 files Document Any|Seq.slice |
12:19 | |
12:33
jpn left
|
|||
Geth | doc/main: df826546dc | (Elizabeth Mattijsen)++ | doc/Language/create-cli.rakudoc Document %*SUB-MAIN-OPTS<coerce-allomorphs-to> |
12:39 | |
doc/main: 6ca70da1f6 | (Elizabeth Mattijsen)++ | 2 files Document spurt without data |
12:50 | ||
12:50
codesections joined
12:52
jpn joined
|
|||
Geth | doc/main: 4aea97f4e1 | (Elizabeth Mattijsen)++ | doc/Language/setbagmix.rakudoc Date the (==) operator Also mention raku.land/zef:lizmat/Set::Equality as an alternative |
13:01 | |
13:21
jpn left,
rf joined
|
|||
rf | Morning folks | 13:21 | |
13:45
derpydoo left
13:46
codesections left
13:48
jpn joined
13:56
jpn left
14:00
jpn joined,
derpydoo joined
14:08
Some-body_ joined
14:10
DarthGandalf left
14:11
Some-body_ is now known as DarthGandalf
14:37
codesections joined
14:40
bigdata left
15:08
Xliff joined
|
|||
Xliff | \o | 15:11 | |
Can someone tell me why A.^can('BUILD').head.file comes out as "src/Perl6/World.nqp" but $?FILE comes out as "A.pm6"? | 15:12 | ||
This is in a BEGIN block. | |||
rf | m: A.^can('BUILD').head.file.say | 15:30 | |
camelia | ===SORRY!=== Error while compiling <tmp> Undeclared name: A used at line 1 |
||
15:30
Sgeo joined
|
|||
Xliff | rf: Not going to work via camelia. Has to be file-based. | 15:32 | |
[Coke] | I tried that with a random item I had - no output; I assume the module also needs a BUILD? | 15:50 | |
ah, there it is | 15:51 | ||
Xliff: on my machine (old mac mini), I see them both as fully qualified. | 15:52 | ||
(also running 2022.07) | |||
same on latest m2 mac running 2023.02 | 15:54 | ||
(if I put the two output lines in a BEGIN block, the one with "can" generates Nil instead) | 15:55 | ||
15:58
derpydoo left
|
|||
[Coke] | folks, off topic: wanted to rant about living in a future where my washer bricks itself doing a recall-based firware update over the air and I need a tech to come out and flash it. | 16:00 | |
... while there's a load of wet clothes in it, no less. | |||
el does raku irc has an off topic channel | 16:12 | ||
lizmat | I think #raku is the closes that comes to it, atm | 16:16 | |
an off-topic channel is easily made though | |||
tonyo | [Coke]: haha..i just put a wedgewood stove in the house for a very similar reason | ||
dakkar | Xliff: interesting! given `class A { submethod BUILD { } }`, `BEGIN { A.^can('BUILD')».file».say }` prints the nqp file, but the same code outside of `BEGIN` (i.e. later) prints the source file | 16:19 | |
tellable6 | 2023-03-09T03:00:47Z #raku <rf> dakkar thanks for pointing out the missing 2's in my splits, I found a few bugs that got squashed with that change | ||
dakkar | rf: glad to help! | 16:20 | |
Xliff: CHECK also prints the nqp file, INIT prints the right source | 16:21 | ||
16:21
razetime joined
|
|||
dakkar | Xliff: I suspect some MOPpery at INIT time | 16:21 | |
tonyo | rf: does humming bird have session management? | 16:23 | |
dakkar | (I would expect all the meta-class stuff to happen before the end of CHECK, so it can be saved in the precompiled form… but I'm probably missing something) | ||
tonyo | s/anagement/iddleware | ||
16:29
Tirifto left
16:30
Tirifto joined
|
|||
rf | tonyo: Not at the moment | 16:39 | |
I've written a few middlewares for services that implement it though | |||
It is in my backlog though | |||
I'm planning to model it after: github.com/aantron/dream/tree/mast...sion#files this frameworks session system | 16:41 | ||
Where it's just a middleware you register globally | |||
Anton Antonov | Has anyone tried "Humming-Bird" on macOS? Specifically the example(s) here: dev.to/rawleyfowler/writing-micro-...-bird-59k4 | 16:42 | |
rf | All of my testing is on Linux @Anton, but I have a MacOS pipeline for CI so it *should* work. | ||
Are you running into an issue? | 16:43 | ||
Anton Antonov | @rf Sure -- I run into issues anytime I try to install almost anything depending on "native call." For the linked example above, the issues come from installing "DBIish" . | 16:47 | |
rf | Hmm, I am not sure I will be of too much assistance for MacOS, what is it complaining about? | 16:48 | |
Odds are you need to install a DB library | 16:55 | ||
ugexe | fwiw in your CI pipeline you probably use --/test when installing dependencies, which might be the source of their failures | 16:57 | |
Anton Antonov | @rf Yeah, that might be the case. I am not experimenting with it further. | ||
rf | DBIish isn't a dep of my project, I used it in my blog post with my project | 16:58 | |
Anton Antonov | right | ||
rf | You could realistically pull in any DB library, that is the magic so-to-say | ||
Anton Antonov | hmmm... ok | 17:03 | |
tonyo | rf: that'd be easy to implement | 17:07 | |
rf | tonyo: Yeah, I am about to make a PR with a fairly naive implementation of global middleware | 17:09 | |
Then I'll look into adding more middleware options in Humming-Bird::Middleware | 17:10 | ||
17:11
razetime left
|
|||
Geth | doc/main: f6a037fed0 | cfa++ | doc/Type/List.rakudoc use v6.e.PREVIEW for rotor examples |
17:22 | |
17:30
dakkar left
17:51
lichtkind left
17:57
abraxxa left
18:00
reportable6 left
18:01
reportable6 joined
18:12
rf_ joined
18:13
rf left
18:49
tea3po joined
18:53
teatwo left
18:59
jpn left
|
|||
Geth | doc/main: 23dca2842e | cfa++ (committed using GitHub Web editor) | 11 files Remove formatting codes from various examples (#4262) These don't currently render correctly on the doc website and in some cases make example source more difficult to read and maintain. Output presentation has also been tidied. (If these codes are permitted in future, consider reverting this commit.) |
19:06 | |
tonyo | does the middleware just take a func? | 19:10 | |
rf_ | tonyo: yes | 19:12 | |
Also idk why im rf_ now. | 19:13 | ||
19:13
rf_ left,
rf joined
|
|||
Nemokosch | for some reason it was occupied, idk | 19:14 | |
you can set the nick though | |||
rf | tonyo: Actually everything in Humming-Bird is just functions. Then they all compose together to make the endpoints on the routing tree | ||
Now I am rf not rf_ :) | |||
tonyo | oh, so i could potentially write the middleware | 19:17 | |
(doesn't need to be in a specific repo) | |||
rf | Yup | 19:19 | |
Anyone can write any middleware as long as it types Request -> Response -> Callback : (Request -> Response -> Callback) -> Response | 19:20 | ||
Callback is a recursive type | |||
So you can short circuit early be returning a Response in your middleware, or simply call &next() | 19:21 | ||
which will continue down the function chain | |||
tonyo | but is there any TCO | 19:22 | |
also, rad | |||
rf | Yes | ||
We compose to a single function | 19:23 | ||
As crazy as that sounds | |||
At runtime of course. | |||
Then there's also "advice" that type Response --> Response which run at the end of the stack, and "error" which handles any exceptions thrown during the route stack execution | 19:24 | ||
Those are all composed in as well | |||
Hence "composable framework" | |||
19:27
jpn joined
19:37
jpn left
20:03
vrurg_ joined,
vrurg left
20:07
jpn joined
20:12
jpn left
20:27
jpn joined
20:34
jpn left
20:52
jpn joined
20:59
jpn left
21:37
jpn joined
21:53
jpn left
22:15
jpn joined
22:20
jpn left
22:29
jpn joined
22:36
jpn left
22:40
jpn joined
22:46
jpn left
22:50
codesections left
23:08
vrurg joined
23:11
vrurg_ left
23:14
codesections joined
23:17
jpn joined
|
|||
rf | . | 23:24 | |
23:27
jpn left
|
|||
Voldenet | rf: the full-middleware approach to routing has performance problems and massive stacks | 23:37 | |
I've used it and at the end it was faster to just have gigantic map with (path, request -> response) | |||
rf | That's basically what it compiles to | 23:41 | |
Voldenet | ah, nice | ||
rf | A trie of sorts that maps to a function request -> response | ||
23:42
ProperNoun joined
|
|||
Voldenet | it's also useful to consider per-route middleware settings | 23:42 | |
rf | The middleware, route handler, error handlers, and advice are sort of "compiled" into one function | ||
Voldenet | for example, you add global "auth" middleware for everything, but options for authentication are taken from the route defined later | 23:43 | |
it introduces extremely tangled structure unfortunately | 23:44 | ||
rf | The chain knows nothing about the next, or previous members, just that there is a next member or not | 23:47 | |
23:47
lizmat left
23:48
lizmat joined
|
|||
Voldenet | I know, that's why it would introduce complexity, since middleware for picking the route would need to set chosen route in $request | 23:48 | |
and actual route dispatching would be done by other middleware | |||
23:49
Xliff left
|
|||
rf | No, they also don't know about which route they're on. | 23:49 | |
If you don't want middleware on a route, don't. Or use a router | 23:50 | ||
There are a few mechanisms to segregate middelwares from routes you don't want them on | |||
23:51
japhb left
|
|||
rf | I guess you could discover your current route with request.path, but I don't think it would be necessary for what you're asking | 23:52 | |
Voldenet | I've seen a lot of overhead in multiple middlewares doing that in the past | 23:53 | |
but I don't know what's the good architecture for that, it's either hard to compose or slow | 23:55 | ||
23:59
japhb joined
|