00:28
sena_kun joined
00:30
Altai-man_ left
00:57
squashable6 left
01:01
squashable6 joined
01:28
klapperl_ joined
01:30
klapperl left
02:27
Altai-man_ joined
02:30
sena_kun left
02:35
guifa2 joined
03:04
squashable6 left
03:06
squashable6 joined
03:51
guifa2 left
04:28
sena_kun joined
04:29
Altai-man_ left
06:23
Kaiepi left
06:26
Kaiepi joined
06:27
Altai-man_ joined
06:29
sena_kun left
06:50
JJMerelo joined
06:52
domidumont joined
|
|||||||||||||||||||||||||||||||||||||||
JJMerelo | Hi, | 07:13 | |||||||||||||||||||||||||||||||||||||
I'm kind of lost with regex adverbs | |||||||||||||||||||||||||||||||||||||||
I can't find where they are defined. | |||||||||||||||||||||||||||||||||||||||
Previously they were defined in grammar Actions. | |||||||||||||||||||||||||||||||||||||||
Now they're all over the place, and nowhere | 07:14 | ||||||||||||||||||||||||||||||||||||||
Did they move to NQP or something like that? | |||||||||||||||||||||||||||||||||||||||
07:16
Kaiepi left
|
|||||||||||||||||||||||||||||||||||||||
JJMerelo | I can't even find where they're tested in roast, at least all together... | 07:18 | |||||||||||||||||||||||||||||||||||||
07:21
Kaiepi joined
|
|||||||||||||||||||||||||||||||||||||||
JJMerelo | OK, I found it github.com/rakudo/rakudo/blob/mast...ctions.nqp It's only that GitHub search sucks | 07:26 | |||||||||||||||||||||||||||||||||||||
07:46
MasterDuke joined
07:50
patrickb joined
|
|||||||||||||||||||||||||||||||||||||||
JJMerelo | I'm trying to document this " Refined accepted arguments in regex operator adverbs (e.g. :in(…))" | 08:03 | |||||||||||||||||||||||||||||||||||||
But I can't find either the commit that did that, or where arguments for regex adverbs are actually defined. | |||||||||||||||||||||||||||||||||||||||
also, in is not really an adverb | |||||||||||||||||||||||||||||||||||||||
The question is, what arguments are accepted now? | 08:13 | ||||||||||||||||||||||||||||||||||||||
08:28
sena_kun joined
08:29
Altai-man_ left
08:52
JJMerelo left
09:45
Prince213 joined
09:47
Prince213 left
09:48
Prince213 joined
09:49
Prince213 left,
Prince213 joined
09:50
Prince213 left,
Prince213 joined,
Prince213 left
09:56
JJMerelo joined
10:09
MasterDuke left
10:17
Prince213 joined
10:27
Altai-man_ joined,
Prince213 left
10:29
sena_kun left
10:33
Prince213 joined
10:47
Prince213 left
10:57
JJMerelo left
|
|||||||||||||||||||||||||||||||||||||||
Geth | ¦ rakudo: lizmat self-unassigned DateTime string parsed incorrectly github.com/rakudo/rakudo/issues/3717 | 11:09 | |||||||||||||||||||||||||||||||||||||
¦ problem-solving: Prince213 assigned to jnthn Issue Calling vararg functions from NativeCall github.com/Raku/problem-solving/issues/201 | 11:21 | ||||||||||||||||||||||||||||||||||||||
11:23
[Tux] left,
[Tux] joined
11:31
[Tux] left,
[Tux] joined,
[Tux] left
11:32
Kaiepi left
11:33
Kaiepi joined
11:34
[Tux] joined
11:38
[Tux] left,
[Tux] joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | ¦ rakudo: lizmat self-unassigned `my @foo is List` doesn't work and is reassignable github.com/rakudo/rakudo/issues/2060 | 11:41 | |||||||||||||||||||||||||||||||||||||
[Tux] |
|
11:43 | |||||||||||||||||||||||||||||||||||||
Geth | ¦ rakudo: lizmat self-unassigned Baggy cross operators github.com/rakudo/rakudo/issues/1726 | 11:44 | |||||||||||||||||||||||||||||||||||||
¦ rakudo: lizmat self-unassigned BUILDPLAN sharing optimization appears to have broken ancestor attribute initialization github.com/rakudo/rakudo/issues/1679 | |||||||||||||||||||||||||||||||||||||||
¦ rakudo: lizmat self-unassigned my %*FOO is Set = <a b c> dies github.com/rakudo/rakudo/issues/2360 | 11:46 | ||||||||||||||||||||||||||||||||||||||
11:46
JJMerelo joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | ¦ rakudo: lizmat self-unassigned Code review wanted: &THE_END with custom exception handlers github.com/rakudo/rakudo/issues/2150 | 11:46 | |||||||||||||||||||||||||||||||||||||
¦ rakudo: lizmat self-unassigned Signatures does not shows Coercion types when gisted. github.com/rakudo/rakudo/issues/2416 | 11:47 | ||||||||||||||||||||||||||||||||||||||
¦ rakudo: lizmat self-unassigned Custom .new method is not reflected in standard .perl github.com/rakudo/rakudo/issues/2448 | 11:48 | ||||||||||||||||||||||||||||||||||||||
¦ rakudo: lizmat self-unassigned Exceptions getting lost when a Thread ends github.com/rakudo/rakudo/issues/2462 | |||||||||||||||||||||||||||||||||||||||
¦ rakudo: lizmat self-unassigned Would be nice to have a |Z operator github.com/rakudo/rakudo/issues/2465 | 11:49 | ||||||||||||||||||||||||||||||||||||||
¦ rakudo: lizmat self-unassigned Are Duration operators tested? github.com/rakudo/rakudo/issues/2473 | |||||||||||||||||||||||||||||||||||||||
¦ rakudo: lizmat self-unassigned Custom multi infix:<~> not working as expected github.com/rakudo/rakudo/issues/2548 | |||||||||||||||||||||||||||||||||||||||
¦ rakudo: lizmat self-unassigned (1 .. -Inf).reverse is wrong github.com/rakudo/rakudo/issues/3595 | 11:50 | ||||||||||||||||||||||||||||||||||||||
¦ rakudo: lizmat self-unassigned (Inf ^.. Inf).reverse is wrong github.com/rakudo/rakudo/issues/3597 | |||||||||||||||||||||||||||||||||||||||
12:27
sena_kun joined
12:29
Altai-man_ left
12:48
JJMerelo left
13:13
MasterDuke joined
|
|||||||||||||||||||||||||||||||||||||||
tbrowder | question please: is there any way to read a compiler option inside Raku *.pm6 source code? | 13:22 | |||||||||||||||||||||||||||||||||||||
i suspect not without illegal hacking or reading an env var. | 13:23 | ||||||||||||||||||||||||||||||||||||||
i'll assume 'not'. | 13:24 | ||||||||||||||||||||||||||||||||||||||
nine | what for? in the setting or in user level code? | 13:26 | |||||||||||||||||||||||||||||||||||||
jnthn | See in either TOP or comp_unit in Grammar.nqp, I think we do a dyn lookup for %*COMPILING and then there's a %?OPTIONS key on it. | 13:27 | |||||||||||||||||||||||||||||||||||||
m: dd %*COMPILING<%?OPTIONS> | 13:28 | ||||||||||||||||||||||||||||||||||||||
camelia | Hash element = {:encoding("utf8"), :setting("RESTRICTED"), :transcode("ascii iso-8859-1")} | ||||||||||||||||||||||||||||||||||||||
jnthn | heh, and there they are. This is...uh...so not official. | ||||||||||||||||||||||||||||||||||||||
MasterDuke | heh, that's the one nine mentioned only has that key | ||||||||||||||||||||||||||||||||||||||
nine | I'm actually pondering changing the thing. Because %*COMPILING only has that single key anyway. OTOH I just try to add another one... | ||||||||||||||||||||||||||||||||||||||
jnthn | :) | 13:29 | |||||||||||||||||||||||||||||||||||||
Is there a good reason to make these available? They aren't just command line options, is the thing. Heck, they may not be all of those too. | |||||||||||||||||||||||||||||||||||||||
ShimmerFairy | btw tbrowder, I'm starting to think about Pod again, in particular how to make user-defined blocks and M<> formatting codes be useful (there's always been an annoying question of "who's in charge of rendering this?") | 13:30 | |||||||||||||||||||||||||||||||||||||
nine | jnthn: that's why I asked tbrowder about the use case | 13:32 | |||||||||||||||||||||||||||||||||||||
13:35
squashable6 left
|
|||||||||||||||||||||||||||||||||||||||
tbrowder | i’ve found all the pieces of the decl blocks and the only thing i can’t yet solve is how to affect the leading and trailing pieces in pm6. but i just figured it out so i don’t think i will need to go there.,thnx | 13:35 | |||||||||||||||||||||||||||||||||||||
13:37
squashable6 joined
|
|||||||||||||||||||||||||||||||||||||||
tbrowder | ShimmerFairy: i did some crude hacking on pod but i believe one way to help the situation is to form most of the pod classes in nqp before serializing them. so many of the little pieces get put together too soon imho. | 13:41 | |||||||||||||||||||||||||||||||||||||
e.g. defn, :numbered, # config | 13:42 | ||||||||||||||||||||||||||||||||||||||
jnthn | I think when the Pod impl was done, we didn't have the nice serialization of arbitrary objects at compile time yet. | ||||||||||||||||||||||||||||||||||||||
So it'd not surprise me if there's nicer ways to do things now. | 13:43 | ||||||||||||||||||||||||||||||||||||||
tbrowder | jnthn you have def improved it since i started: kebab case and return | 13:44 | |||||||||||||||||||||||||||||||||||||
!~~ | |||||||||||||||||||||||||||||||||||||||
ShimmerFairy | I don't know what problems are plaguing Rakudo's pod implementation at the moment, but writing some Pod again, I've again noticed the custom blocks/codes handling being fuzzy, as well as wondering how L<doc:> works/should work. | 13:45 | |||||||||||||||||||||||||||||||||||||
doc: is pretty simple for modules with Pod documentation, but what about pure-Pod files? Could that be handled with just a "unit module Doc::Topic;" right before all the pod, and then installing that as a "module"? | 13:48 | ||||||||||||||||||||||||||||||||||||||
nine | It's what I'd do | 13:49 | |||||||||||||||||||||||||||||||||||||
ShimmerFairy | It would work well enough, so long as it doesn't feel too hacky. | 13:50 | |||||||||||||||||||||||||||||||||||||
nine | Aw crap...apparently there are cases of nested compilation where we don't want to add compiled frames to the precompilation's byte code: stubs executed at compile time, i.e. BEGIN blocks | 14:03 | |||||||||||||||||||||||||||||||||||||
Though I'm not sure why it hurts to do so | |||||||||||||||||||||||||||||||||||||||
Oh it's more of an issue with frame sharing in general. MAST::Frame has a $!writer property which will still point to the inner compilation's writer when we try to write it to the outer's bytecode later. Need to update it. | 14:05 | ||||||||||||||||||||||||||||||||||||||
jnthn | Maybe missing fixups of them? | ||||||||||||||||||||||||||||||||||||||
Ahh... | 14:06 | ||||||||||||||||||||||||||||||||||||||
Should it have a writer properly, or maybe be passed it? | |||||||||||||||||||||||||||||||||||||||
nine | Why do I make the same OO design mistakes that I point out in others? "Is this writer thingy a property of a frame? No? Then it has no business being an attribute, so pass it to the methods". But it's so convenient... | ||||||||||||||||||||||||||||||||||||||
moritz | because software is hard, and we have to beat our brains into shape to deal with it | 14:08 | |||||||||||||||||||||||||||||||||||||
timotimo | is that where the headaches come from ... | 14:09 | |||||||||||||||||||||||||||||||||||||
moritz | aye | ||||||||||||||||||||||||||||||||||||||
14:27
Altai-man_ joined
14:29
JJMerelo joined,
sena_kun left
14:48
patrickb left
|
|||||||||||||||||||||||||||||||||||||||
nine | Trouble all the way down.... looks like collecting all frames from different comp units into the same bytes code violates the assumption that the very first frame in the list is the unit's outer | 16:09 | |||||||||||||||||||||||||||||||||||||
jnthn | Makes a change from turtles I guess... | ||||||||||||||||||||||||||||||||||||||
nine | We already explicitly identify the main_frame, load_frame and deserialize_frame, just not the unit | 16:11 | |||||||||||||||||||||||||||||||||||||
Changing that will need adaptions in MoarVM first however... | |||||||||||||||||||||||||||||||||||||||
jnthn | Is it MoarVM that assumes that outer relationships? | 16:13 | |||||||||||||||||||||||||||||||||||||
nine | Well compunitmainline is really just GET_REG(cur_op, 0).o = cu->body.coderefs[0] | 16:14 | |||||||||||||||||||||||||||||||||||||
jnthn | I thought it was the QAST -> MAST step | ||||||||||||||||||||||||||||||||||||||
It is, but I think the only reason we have that op rather than just pulling out ref 0 is because we needed a different abstraction on different backends (namely Parrot, I believe), but if the others look like MoarVM too... | 16:15 | ||||||||||||||||||||||||||||||||||||||
16:28
sena_kun joined
16:29
Altai-man_ left
|
|||||||||||||||||||||||||||||||||||||||
nine | We already have that main_frame field in the bytecode header. What is that usually set to? | 16:40 | |||||||||||||||||||||||||||||||||||||
jnthn | iirc, it's the thing we should run if the bytecode file is the entry point. | 16:41 | |||||||||||||||||||||||||||||||||||||
nine | Why is that different from mainline? | 16:42 | |||||||||||||||||||||||||||||||||||||
jnthn | So only really important at the moment for NQP, where we do compile scripts. | ||||||||||||||||||||||||||||||||||||||
Oh, that isn't the mainline? | |||||||||||||||||||||||||||||||||||||||
Hmm. | |||||||||||||||||||||||||||||||||||||||
nine | No, apparently we generate another block called <entry> that fetches the command line args from the VM and calls the mainline with these args | 16:45 | |||||||||||||||||||||||||||||||||||||
I wonder if I can still re-use the same main_frame field by setting it to mainline unless it's used for that <entry> block. I could imagine that we don't care about mainline when we have a main_frame anyway. | 16:48 | ||||||||||||||||||||||||||||||||||||||
Certainly worth a try. Extending the mbc header to add the additional mainline field sounds like a major headache :/ | 16:53 | ||||||||||||||||||||||||||||||||||||||
16:55
chansen_ left
17:00
chansen_ joined
17:03
wildtrees joined,
wildtrees left
18:27
Altai-man_ joined
18:29
sena_kun left
18:32
JJMerelo left
18:38
guifa2 joined
18:47
guifa2 left
18:50
guifa2 joined
18:51
Xliff joined
|
|||||||||||||||||||||||||||||||||||||||
MasterDuke | role B { say "HI!" }; class C { method ^compose($) { say "composed" } }; my $c = C.new; $c = $c but B; # heh | 18:59 | |||||||||||||||||||||||||||||||||||||
evalable6 | (signal SIGSEGV) composed | ||||||||||||||||||||||||||||||||||||||
MasterDuke | there are a wide range of errors when you override meta-methods, e.g., segv, `===SORRY!=== Cannot iterate object with P6opaque representation (Bool)`, `Too few positionals passed; expected 2 arguments but got 1`, `Died with X::TypeCheck::Binding::Parameter` | 19:15 | |||||||||||||||||||||||||||||||||||||
the segv probably shouldn't happen, but are the rest entirely DIHWIDT or should there be some more consistency in the errors? | 19:17 | ||||||||||||||||||||||||||||||||||||||
19:18
domidumont left
|
|||||||||||||||||||||||||||||||||||||||
[Coke] | I feel like we should probably disallow methods that start with ^ | 19:20 | |||||||||||||||||||||||||||||||||||||
(since if you want to get at the ^ method, you can get the meta object and do it directly) | |||||||||||||||||||||||||||||||||||||||
19:23
Xliff left
|
|||||||||||||||||||||||||||||||||||||||
nine | That....is allowed? | 19:25 | |||||||||||||||||||||||||||||||||||||
MasterDuke | greppable6: method \^ | ||||||||||||||||||||||||||||||||||||||
greppable6 | MasterDuke, 4 lines, 3 modules: gist.github.com/5205b91c6f9a562650...41a1aa064a | ||||||||||||||||||||||||||||||||||||||
19:27
lucasb joined
|
|||||||||||||||||||||||||||||||||||||||
MasterDuke | m: role B { say "HI!" }; class C { method ^compose($) { say "composed"; nextsame } }; my $c = C.new; $c = $c but B; | 19:27 | |||||||||||||||||||||||||||||||||||||
camelia | composed HI! |
||||||||||||||||||||||||||||||||||||||
MasterDuke | added in either 2009-08 or 2015.03 (changelog for both says added there) | 19:40 | |||||||||||||||||||||||||||||||||||||
timotimo | [Coke]:actually defining a ^ method will put it in your metaobject, which is super cool and useful | 20:26 | |||||||||||||||||||||||||||||||||||||
20:28
sena_kun joined
20:29
Altai-man_ left
|
|||||||||||||||||||||||||||||||||||||||
nine | So...repurposing main_frame works for compiling the NQP compiler....but breaks running NQP scripts. I guess you just can't have everything | 20:31 | |||||||||||||||||||||||||||||||||||||
At least it shows that fixing nqp::compunitmainline will give me a working compiler | 20:34 | ||||||||||||||||||||||||||||||||||||||
20:35
cognomin_ left
20:45
nebuchadnezzar left
21:17
guifa2 left
|
|||||||||||||||||||||||||||||||||||||||
Geth | roast: e283a5a4e8 | (Tom Browder)++ (committed using GitHub Web editor) | S26-documentation/block-leading-user-format.t clean up comments, remove extra blank line |
21:48 | |||||||||||||||||||||||||||||||||||||
21:56
nebuchadnezzar joined
22:27
Altai-man_ joined
22:30
sena_kun left
22:41
maggotbrain joined
23:04
Altai-man_ left
|