🦋 Welcome to the IRC channel of the core developers of the Raku Programming Language (raku.org #rakulang). This channel is logged for the purpose of history keeping about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | Logs available at irclogs.raku.org/raku-dev/live.html | For MoarVM see #moarvm Set by lizmat on 8 June 2022. |
|||
00:00
reportable6 left
00:02
reportable6 joined
01:37
MasterDuke left
01:49
frost joined
02:30
nine left
02:32
nine joined
02:41
melezhik joined
02:52
melezhik left
03:02
melezhik joined
03:06
melezhik left
04:07
frost left
04:45
melezhik joined
04:49
melezhik left
06:00
reportable6 left,
reportable6 joined
07:27
frost joined
08:18
frost left
08:31
sena_kun joined
09:27
ab5tract joined
|
|||
ab5tract | m: class Day::Foo {}; enum Day<Mon>; dd +Day::Mon | 10:15 | |
camelia | Could not find symbol '&Mon' in 'Day' in block <unit> at <tmp> line 1 |
||
ab5tract | ^^ works on my branch :D | ||
I've found some buggy corners like this in base's enum implementation | 10:16 | ||
m: enum E (("A" => "AA"), "B", "C"); | 10:17 | ||
camelia | ( no output ) | ||
ab5tract | nevermind this last one. | 10:18 | |
10:30
sena_kun left
|
|||
ab5tract | I take it we are not in the business of reproducing like-for-like bugs with base, right | 11:06 | |
? | |||
lizmat | no, I'd say, not in corner cases | 11:07 | |
it becomes different if we find out there's a lot of code out there that's depending on a faulty behaviour, i guess | 11:08 | ||
11:08
sena_kun joined
12:00
reportable6 left
12:03
reportable6 joined
|
|||
lizmat | nine: creating a RakuAST version of BUILDALL has a unique challenge | 12:12 | |
the BUILDPLAN basically contains QAST for the BUILD and TWEAK methods, right? | 12:13 | ||
which means one would have to codegen something that takes QAST | |||
I'm starting to lean towards ripping out the current QAST building logic of BUILDALL and use that | 12:14 | ||
opinions? | |||
or maybe we should not put QAST in the BUILDPLAN, but RakuAST ? but then we would be incompatible with base | 12:15 | ||
or maybe set up an alternate RakuAST BUILDPLAN? which would allow some refactoring, probably | 12:16 | ||
ab5tract | nine: when trying to compile latest NQP: | 12:19 | |
===SORRY!=== Error while compiling gen/moar/stage1/NQPCORE.setting | |||
Use of undeclared variable '¬e' at NQP::src/core/IO.nqp:11, near ");\n\nmy cla" | |||
lizmat | ab5tract ? I don't see that? | 12:20 | |
ab5tract | this was after a make realclean and a rebase to latest | 12:21 | |
lizmat | builds clean out of the box for me | 12:26 | |
are you on some branch ? | |||
ab5tract | I shouldn't be | 12:27 | |
12:27
samebchase left
|
|||
ab5tract | deleting nqp and retrying | 12:27 | |
12:28
samebchase joined
|
|||
ab5tract | Yeah, it looks like PEBKAC :) | 12:28 | |
12:31
samebchase5 joined
12:33
samebchase left,
samebchase5 is now known as samebchase
12:53
codesections1 joined
12:54
codesections left,
codesections1 is now known as codesections
13:01
MasterDuke joined
13:03
frost joined
|
|||
lizmat | nine: I just realized that classes in RakuAST work only atm because the fall back to Mu.BUILDALL | 13:14 | |
still haven't figured what is setting up the buildplan, though :-( | 13:15 | ||
13:18
melezhik joined
|
|||
[Coke] awaits the day when we | 13:23 | ||
13:23
melezhik left
|
|||
[Coke] | need a blin run with and without AST to compare! :) | 13:23 | |
MasterDuke | [Coke]: you use rakudo on windows, right? | 13:27 | |
13:27
Geth joined
13:29
Altai-man joined,
sena_kun left
13:32
frost left
13:35
frost joined
|
|||
nine | ab5tract: you had my debugging aid in there | 13:43 | |
lizmat: I thought a BUILDPLAN was a bunch of numbers that got interpreted by that builder in Mu? How does QAST factor into it? | 13:44 | ||
lizmat | ah, in the old days, yes | 13:46 | |
but nowadays, classes get a custom BUILDALL method built in QAST | |||
which improved performance of HLL object creation significantly | 13:47 | ||
[Coke] | MasterDuke: for work, yes. | 13:52 | |
just had to tell a coworker to install something with --/rea because the install failed with it enabled. :| | |||
lizmat | but.... that would imply the module didn't exist in fez ? | 13:53 | |
it should only use the REA if it doesn't find it in fez by default, no? | |||
[Coke] | guessing the paths in rea are too long for windows default disk setup | 13:54 | |
I can only report on the symptom and the workaround. I am guessing it picked rea's version and then had issues with a long path, but it's only a guess. | |||
lizmat | hmmm feels to me that zef (at least temporarily) should soft fail on the REA then in that case, instead of a hard fail? | ||
afk for a few hours& | 13:55 | ||
nine | lizmat: the custom BUILDALL sounds like something you just create in pure RakuAST and ignore all prior art | 13:56 | |
lizmat | that was my plan.... until I realized that the BUILDPLAN contains QAST for TWEAK and BUILD methods | 13:57 | |
and I don't really see how to deal with that in RakuAST | |||
for one, it will be impossible to deparse | 13:58 | ||
and roundtrip | |||
MasterDuke | [Coke]: server 2022 perhaps? | 14:01 | |
lizmat just realizes that it is probably the compose of a class that sets up the BUILDPLAN, which isn't anywhere in the src/Raku tree | |||
really afk& | 14:02 | ||
[Coke] | OS Name: Microsoft Windows 10 Enterprise | ||
OS Version: 10.0.19044 N/A Build 19044 | |||
(systeminfo | findstr /B /C:"OS Name" /C:"OS Version") | 14:03 | ||
MasterDuke | arg. wondering about the fails in dev.azure.com/MoarVM/6b7ef196-3f6c...8a0b8a3eb3 | ||
14:05
codesections left
14:06
codesections joined
|
|||
nine | Now I'm confused. There is a BUILDPLAN - a list of numbers - but that was only used in the old days and there's a BUILDALL method that gets generated but generating that via RakuAST doesn't work because the BUILDPLAN contains QAST? I'm clearly missing a step or two here | 14:08 | |
14:18
codesections left
14:19
melezhik joined
|
|||
vrurg | nine: where did you get QAST from? BUILDALL is not generated – it is on Mu and is using buildplan list. | 14:21 | |
nine | vrurg: 14:46 < lizmat> but nowadays, classes get a custom BUILDALL method built in QAST | ||
14:22
melezhik left,
melezhik joined
|
|||
vrurg | something is wrong here. I'm trying to figure out. | 14:22 | |
Ah, actually – true, World does a method for that. I totally forgot. | 14:24 | ||
ClassHOW, lines 221+ | 14:26 | ||
14:28
melezhik left
|
|||
vrurg | I don't see actual QAST in the BUILDPLAN itself, but what is there is Metamodel::BUILDPLAN is actually using World and that's certainly a problem. | 14:29 | |
nine | That will need replacing with RakuAST | 14:31 | |
vrurg | Not totally related, but ModuleLoader is the only location where QAST is used. That would need some care too. | 14:34 | |
Unfortunately, I still can't pick any of these tasks. :( | 14:35 | ||
nine | That QAST stuff in ModuleLoader is not used by RakuAST anyway | 14:42 | |
It has its own implementation of merging symbols | |||
14:50
Altai-man left
|
|||
ab5tract | m: enum day (:Sun(1)); my $x = "Today" but day(Sun); dd +$x.Sun; | 15:01 | |
camelia | 1 | ||
ab5tract | currently that dies on my branch with: "No such method 'Sun' for invocant of type 'Str+{<anon|1>}'" | 15:02 | |
could that be an issue with the way roles are applied? Or is it something broken in my specific code? (nine's axiom suggests the latter, but I wanted to be sure) | 15:03 | ||
From inspecting base, it also seems like the proper error message should be "No such method 'Sun' for invocant of type 'Str+{day}' | 15:09 | ||
nine | Is "but" even implemented yet? | 15:16 | |
ab5tract | nine: maybe not, lol :D | 15:19 | |
there's a lot of weirdness in enum though.... | |||
m: my Str enum day (:Sun("hi")); my $x = "Today" but day(Sun); dd $x.Tue; | 15:20 | ||
camelia | No such method 'Tue' for invocant of type 'Str+{day}' in block <unit> at <tmp> line 1 |
||
ab5tract | m: my enum day (:Sun(1)); my $x = "Today" but day(Sun); dd $x.Tue; | 15:29 | |
camelia | No such method 'Tue' for invocant of type 'Str+{day}' in block <unit> at <tmp> line 1 |
||
ab5tract | seems to be related to the scope of the enum | ||
685 passing spectests in my branch | 15:33 | ||
other test file failures seem to be related to non-subset things | 15:51 | ||
erm, non-enum things | |||
nine: I see from line 269 of literals.rakumod that I shouldn't expect '«:Letter[0,0,612,792]»' to work as in base atm? | 15:53 | ||
is that a straightforward problem to solve? | 16:07 | ||
16:07
frost left
|
|||
sjn | hm. I just ran "make spectest" on rakudo 2022.12, and got a bunch of failed tests... what's the best way to report these? | 16:17 | |
Maybe the spec test is too new... Hm. | 16:18 | ||
spec tests are* | |||
[Coke] | which tests, what OS? | 16:25 | |
Probably worth reporting, even if it gets closed as intended, to point others at. | 16:26 | ||
sjn | [Coke]: Ubuntu 22.10, and a whole bunch of tests. Note that I checked out the 2022.12 tag from git, and ran the spec tests on that; I noticed one of the tests that failed was t/spec/S02-types/bag.t number 252, which I think is a test that came after the 2022.12 release? | 16:28 | |
so there may be something out of sync here | |||
[Coke] | because of the nature of the spec tests, it is possible that that spec test is tied to a bug that was fixed, yes. (We probably need to do a better job of documenting that sort of thing in comments/code) | 16:29 | |
I would expect only a few, not many, though. approximate count? Are they AST related? | 16:30 | ||
sjn | oof, there are quite a few | ||
t/spec/S15-normalization/nfc-concat.t had 2040 failed tests, for instance | |||
ah, no. 450 failed | 16:31 | ||
a bunch of single tests fail in t/spec/S03-operators/precedence.rakudo.moar (1 fail) t/spec/S09-hashes/objecthash.rakudo.moar (2 failed) t/spec/S15-nfg/emoji-test.t (20 failed)... | 16:32 | ||
a whole lot of TODO tests that passed | |||
[Coke] | This may be related to the recent Unicode 15 update. | 16:33 | |
sjn | ok, is this something that came in before 2022.12? | ||
[Coke] | I see thundergnat updated the concat test in January this year for that. | ||
looks like concat is a generated file, and was regen'd for 15. | 16:34 | ||
sjn | I'm re-running the spectest on the main branch now, and it's looking much better | 16:35 | |
16:37
ab5tract left
|
|||
[Coke] | looks like U15 support was added in January, so yes, after. Guessing we need to reconsider which version of Unicode the spec tests are based on, and maybe have multiple versions to support the various versions available during that language version. | 16:37 | |
github.com/Raku/problem-solving/is...1434893483 - sjn, added this to the ongoing thread about spec tests. | 16:39 | ||
sjn | I would be happy with a visible warning that shows if the checked-out code is older than the spectests, and that failed tests should be expected | ||
16:41
thundergnat joined
|
|||
thundergnat | I had some reservations about pushing the U15 generated test to Roast just for this reason. This is one of the primary drivers I had for asking for a Unicode.version parameter we could check. In the future it may be beneficial to move Unicode specific test to a Version sub-folder and only test the supported version. | 16:43 | |
Without the version parameter it would be extremely difficult. | 16:44 | ||
[Coke] | Right, I think we can say "everything before Rakudo version X will have issues on Unicode spec tests" | 16:45 | |
and only support multiple versions of Unicode starting with 15. (when we upgrade to 16, everything should work.) | |||
[Coke] finds it weird that we have docs/release_guide.pod and docs/release-guide-binary.md | 16:50 | ||
16:52
thundergnat left
16:53
ab5tract joined
|
|||
Geth | rakudo/main: 268da12b39 | Coke++ | docs/roast.md Warn about Unicode versioning issue |
16:56 | |
[Coke] | ^^ That seemed like a reasonable bit of text to hang in that spot. | 16:57 | |
ab5tract | [Coke]++ | 17:26 | |
17:37
codesections joined,
MasterDuke left
18:00
reportable6 left
|
|||
nine | ab5tract: I don't even know what :Letter[0,0,612,792] should do :D | 18:00 | |
18:01
reportable6 joined
|
|||
ab5tract | nine: I was surprised to see it as well | 18:08 | |
apparently its a shortcut to :Letter([...]) | |||
I'd just as soon remove it | 18:09 | ||
but the pair part works fine | |||
nine | I don't know what that does either :D | ||
Oh, wait a minut....you mean just a quote pair? like :foo<bar> | 18:10 | ||
Then that shouldn't be too hard | |||
ab5tract | yeah, I was wondering how difficult the general solution for <<>> quotes (quotewords?) would be to implement | 18:12 | |
to be clear, right now ':Letter[0,0,612,792]' parses perfectly fine in RakuAST. It's '<<:Letter[0,0,612,792]>>' that doesn't | 18:15 | ||
nine | Aah, yes the full double quote words thing. Honestly I don't know. Might be ok, might escalate. | 18:20 | |
ab5tract | Well, afaict the current enum code is on parity with base, minus some external issues such as the above and importing modules | 18:21 | |
18:38
sena_kun joined
|
|||
jdv | uh, how is the git log like 1200 lines this time around? wowzers! | 18:47 | |
nine | jdv: that's from the rakuast branch :) I prefixed most of my commit messages with RakuAST: so you can easily filter out those | 18:49 | |
18:50
MasterDuke joined
|
|||
jdv | even filtering that out its still 700 or so as i see it:( | 18:51 | |
release'll have to wait i guess. i'll shoot for wednesday then. | 18:54 | ||
lizmat | jdv: any commit before the 2022.12 release can be assumed to be RakuAST and should be listed as a single item, I think | 18:56 | |
I mean, all of them together as a single item: "Development of RakuAST" | 18:57 | ||
nine | jdv: git log 3rdparty/ docs/ lib src/core.[de] src/core.c/*.pm6 src/core.c/Array src/core.c/Encoding/ src/core.c/Hash src/core.c/IO src/core.c/Lock src/core.c/Metamodel/ src/core.c/Proc src/core.c/Rakudo src/*.nqp src/Perl6/ src/vm/ t tools | 19:04 | |
jdv | lizmat: yup, sounds good | 19:17 | |
nine: thanks | |||
19:44
notna joined
19:50
notna1 joined
19:55
notna left,
notna1 is now known as notna
20:12
NemokoschKiwi joined,
NemokoschKiwi left
|
|||
ab5tract | another unrelated blocker for S12-enum/bsaic.t | 20:42 | |
*basic.t | |||
BEGIN 'a'..'c' Z=> 1..2 ---> const_iX NYI | |||
21:19
notna left
21:22
melezhik joined
21:25
melezhik left
21:44
codesections left
22:14
melezhik joined
|
|||
ab5tract | nine: somehow slips don't DWIM in IMPL-BEGIN-TIME-EVALUATe | 22:17 | |
(|<A B>) evaluates to an empty list | 22:18 | ||
or, at least, an apparently empty list | |||
22:19
melezhik left
22:42
ab5tract left
22:57
sena_kun left
|