00:14 maggotbrain joined 00:27 Altai-man_ joined 00:28 sena_kun left 00:50 guifa2 joined 02:27 sena_kun joined 02:29 Altai-man_ left 04:26 Altai-man_ joined 04:29 sena_kun left 06:27 sena_kun joined 06:28 Altai-man_ left
moritz lizmat: taking it look... somehow the build dir had local modifications, and the build script did not deal gracefully with that. 06:36
tellable6 2020-05-21T22:20:09Z #raku-dev <lizmat> moritz looks like camelia is stuck at 81c0e1454 , now 1.5 days old
linkable6 (2020-05-20) github.com/rakudo/rakudo/commit/81c0e1454f Merge pull request #3696 from vrurg/rakudo_3693
moritz m: say $*VM.version 06:41
camelia v2020.05
nine moritz: did you fix camelia? 07:34
08:26 Altai-man_ joined 08:28 sena_kun left 09:37 HarmtH joined
moritz nine: seems like I did, yes :D 10:01
10:09 JJMerelo joined 10:27 sena_kun joined 10:29 Altai-man_ left 11:14 MasterDuke left 11:43 MasterDuke joined
Geth roast: 799cf54fb2 | (Elizabeth Mattijsen)++ | S32-io/io-path.t
Make too specific error checking less specific

Checking for a X::Multi::NoMatch is a code smell anyway, as that error message can be very confusing and on the border of LTA, especially for newbies.
rakudo: f93ce8754b | (Elizabeth Mattijsen)++ | src/core.c/IO/Path.pm6
Make IO::Path.parent(N) about 2x as fast

  - don't use UInt:D in the signature, it slows down dispatch
  - test for values < 0 specifically, and generate a specific error if wrong
  - use low-level loop instead of xx with .=
JJMerelo Should we maybe update answers to this question? stackoverflow.com/questions/271785...ile-to-exe 12:11
This is maybe a bit more recent www.reddit.com/r/rakulang/comments...e_in_raku/ 12:13
12:22 Prince213 joined 12:26 Altai-man_ joined, JJMerelo left 12:28 sena_kun left 12:36 Prince213 left 12:37 Prince213 joined, Prince213 left 12:54 Prince213 joined 12:55 Prince213 left 13:06 sivoais left 13:32 sivoais joined 13:43 ShimmerFairy joined
ShimmerFairy You know, I'm starting to think this 2013 tutorial on how to write your own language compiler in nqp is a little out of date. 13:43
From what I gather, this should work, but passing some "code" with -e falls apart: gist.github.com/ShimmerFairy/ffd0c...4e552a67a5 13:44
REPL works, though. 13:45
MasterDuke ShimmerFairy: yeah, it at least needs to be updated to reflect that nqp now defaults to integer operations, instead of num
ShimmerFairy Also, switching from *@ARGS to @ARGS like NQP and rakudo do for the moar backend just breaks it more. 13:46
MasterDuke assuming you're talking about the edument one?
ShimmerFairy Yeah. The rubyish example in the NQP repo itself does work exactly as you'd expect.
lizmat ShimmerFairy o/ looong time no see! 13:48
ShimmerFairy lizmat o/
Question: if you really changed the name to Raku, how come there's no NQR ??? 13:51
lizmat Well.. that's been discussed 13:54
but it was felt that NQP as a noun, could well continue to live
and frankly, changing all of core and ecosystem fixing all of nqp:: ops into nqr:: ops 13:55
felt even more daunting
and NQP is still Not Quite Perl anyway :-)
ShimmerFairy That's fine, I was only joking anyway :P
lizmat internally, there's still a lot of renaming to do 13:56
but that's tentatively scheduled around merging time of the RakuAST work
ShimmerFairy Is RakuAST "macros finally", or "QAST is now part of the standard"? 13:57
lizmat hopefully both
jnthn Well, not really the second, since it's an AST that models Raku language concepts, where as QAST is far more low level 13:59
ShimmerFairy btw, I just copied rubyish's eval method from the Compiler class, and now -e works, so I'm very confused as to a) why NQP & rakudo need @ARGS and not *@ARGS for MoarVM, and b) why those two don't need to redefine eval()
jnthn But certainly "an AST for Raku that is part of the standard"
ShimmerFairy That makes sense 14:00
14:27 sena_kun joined 14:28 Altai-man_ left
raku-bridge <Snoofkin> Revisiting jnthn's performance update last year, specifically regarding short-lived objects, I'm wondering how much progress has been made toward eliding Hash construction in object construction 14:30
timotimo that may not have progressed very much 14:45
i myself haven't touched the PEA implementation at all yet 15:01
github.com/MoarVM/MoarVM/blob/mast...pea.c#L275 - this "try_track_allocation" will see "if this is something we can potentially avoid really allocating" 15:02
it currently only has a path for P6opaque REPRs, which does not include the low-level hash kind that we'd get for slurpy named parameters 15:03
15:35 Kaiepi left 15:39 Kaiepi joined
Geth nqp/new-disp: 5daf56c377 | (Jonathan Worthington)++ | t/moar/53-dispatch.t
Add basic userspace dispatcher tests
[Tux] Rakudo version 2020.05.1-166-gf93ce8754 - MoarVM version 2020.05-15-g644533ad1
csv-ip5xs0.826 - 0.833
csv-ip5xs-207.928 - 8.070
csv-parser26.186 - 26.589
csv-test-xs-200.384 - 0.415
test7.582 - 8.166
test-t1.912 - 1.970
test-t --race0.894 - 1.322
test-t-2030.913 - 36.826
test-t-20 --race8.990 - 12.965
16:26 Altai-man_ joined 16:29 sena_kun left
Geth rakudo: c821bbc55e | (Elizabeth Mattijsen)++ | src/core.c/Rakudo/Internals.pm6
Simplify R:I.FILETEST_x methods

All of these methods return a native uint, and will throw when a path does not exist in some cases (the ones using nqp::stat) or just return 0. It does not make sense to check for weird values, when such values indicate a deeper issue.
... (5 more lines)
lizmat afk for a few hours& 16:59
Geth nqp/new-disp: ebad2a5a89 | (Jonathan Worthington)++ | t/moar/53-dispatch.t
Dispatcher capture manipulation tests
18:27 sena_kun joined 18:29 Altai-man_ left 19:22 HarmtH left 19:41 wildtrees joined 20:06 MasterDuke left 20:25 MasterDuke joined 20:26 Altai-man_ joined 20:28 sena_kun left
Geth rakudo: 4387f28005 | (Elizabeth Mattijsen)++ | 4 files
Introducing IO::Path::Parts

  - takes a volume, dirname and basename into a single object
  - should replace List of Pairs approach used by IO::Spec::X.split
  - completely compatible with List of Pairs interface for now
Did not use the improved interface in IO::Path yet. Since this commit is spectest clean, it proves that the List of Pairs interface is working. Any ecosystem module out there should also have the benefit of this interface, which should probably need to have an official deprecation cycle.
lizmat this needs a reconfig as a new file was added
Geth roast: c92be5fd06 | (Elizabeth Mattijsen)++ | S32-io/io-path.t
Make IO::Path.parts test a bit less restrictive

It was checking for Map, but the important thing is that it does the Associative role.
rakudo: 187312b813 | (Elizabeth Mattijsen)++ | src/core.c/IO/Path/Parts.pm6
Make sure IO::Path::Parts is also Associative

So that it can be used in IO::Path.parts as such.
rakudo: e9ea048b84 | (Elizabeth Mattijsen)++ | src/core.c/IO/Path/Parts.pm6
Simplify the iterator method

Just build a List, and iterate from that. No need to build our own Iterate class.
rakudo: 30ae200fae | (Elizabeth Mattijsen)++ | 2 files
Use the new IO::Path::Parts interface in core

So no more List of Pairs being turned into a Map to AT-KEY on. Just an object with accessor methods.
rakudo: f89fad877d | (Elizabeth Mattijsen)++ | src/core.c/IO/Spec/Unix.pm6
Make IO::Spec::Unix.basename/extension about 1.7x as fast

  - convert to native string in signature
  - use nqp ops
22:23 b2gills left 22:27 sena_kun joined 22:28 b2gills joined 22:29 Altai-man_ left
Geth rakudo: a2860ead8a | (Elizabeth Mattijsen)++ | src/core.c/IO/Spec/Unix.pm6
Make IO::Spec::Unix.tmpdir about 1.8x as fast

  - use for loop with return instead of first()
rakudo: tbrowder++ created pull request #3709:
Add '--doc-fmt=preserve' compiler option