🦋 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 can be inspected at colabti.org/irclogger/irclogger_log/raku-dev | For MoarVM see #moarvm
Set by lizmat on 26 April 2021.
Geth rakudo: b1e4350f28 | (Elizabeth Mattijsen)++ | src/core.c/io_operators.pm6
Move opening of standard handles into Rakudo::Internals

To make it possible to call it from other places later.
10:17
rakudo/REPL-now: 5 commits pushed by (Elizabeth Mattijsen)++ 10:22
lizmat just a rebase 10:23
releasable6 Next release in ≈3 days and ≈7 hours. There are no known blockers. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft 11:00
Geth rakudo/REPL-now: bca6d72917 | (Elizabeth Mattijsen)++ | src/core.c/REPL.pm6
Make "exit" not exit, but just leave the repl-loop

But only if called from the repl() sub
11:19
Geth rakudo: 0bf10e2600 | (Elizabeth Mattijsen)++ | src/core.c/Array/Shaped.pm6
Partial fix for #4363

Fixes the my @a[1]; my @b[1]; @a = @b case.
12:27
Geth rakudo: ede453e1f2 | (Elizabeth Mattijsen)++ | 2 files
Fix thinko in native shaped array generator script

Fixes #4363
12:42
Geth roast: eebf73bb88 | (Elizabeth Mattijsen)++ | 2 files
Add tests for #4363
12:47
Geth rakudo: 21a60e17e5 | (Elizabeth Mattijsen)++ | t/02-rakudo/reproducible-builds.t
Fix #4362

The :bin is superfluous, and it was previously ignored (until the sub versions of many io operators got refactored by yours truly).
12:59
Geth rakudo/run-throw: 6408e94f64 | (Elizabeth Mattijsen)++ | src/core.c/Proc.pm6
Add :throw named argument to run()

Basically, this will just run the same logic as sinking, causing a failure to be thrown immediately, instead of silently continuing. And this not producing any output with :out.
Also some style changes to run() to make it better readable
13:20
rakudo: lizmat++ created pull request #4368:
Add :throw named argument to run()
Geth rakudo: 1d8d05f5bc | (Elizabeth Mattijsen)++ | src/core.c/allomorphs.pm6
Fix #4368

First coerce the allomorph to a string, then create a Prozy for it
14:59
lizmat actually, #4369 15:02
lizmat afk for a few hours& 15:04
Geth rakudo/rakuast: 47ce5ad7a4 | (Jonathan Worthington)++ | 2 files
RakuAST node for \o, \x, and \c in regexes
17:12
[Coke] wonders if we need a roast test for that since we "got it wrong" so far? 17:17
lizmat [Coke]: we need a *lot* of allomorph related tests 17:26
MasterDuke i think [Coke] was referring to github.com/rakudo/rakudo/commit/47...dff160R509 17:41
Geth rakudo: tbrowder++ created pull request #4371:
Provide a method returning a real 'posix' value
18:13
tbrowder .tell lizmat my horse bolted at the gate--sorry 18:19
tellable6 tbrowder, I'll pass your message to lizmat
lizmat tbrowder: no problem :-) 18:21
tbrowder but how would you improve what you already suggested (without lots of other changes)? 18:22
lizmat locally I already have: 18:23
$ r 'use v6.*; dd DateTime.now.posix'
1621362212.1423843e0
$ r 'use v6.d; dd DateTime.now.posix'
1621362232
tbrowder hm, lizmat the raku magician! 18:25
ah, the ~17 sec diff..been there, done that 18:26
internals? 18:27
tai?
lizmat no just lazy, waiting 17 seconds between running that piece of code :-)
or more like 20 actually 18:28
$ r 'use v6.* say DateTime.new(2021,5,18,20,30,42.5).posix' 18:35
1621369842.5
$ r 'use v6.d say DateTime.new(2021,5,18,20,30,42.5).posix' 18:36
1621369842
so no difference if you go by the same DateTime value
tbrowder so 6.* vs 6.d? that's cheating ;-D 18:41
well retro seems to be popular among some moderns 18:43
Geth rakudo/posix-real: 7d3dc5dc39 | (Elizabeth Mattijsen)++ | src/core.e/core_prologue.pm6
Make DateTime.posix return a fractional value in 6.e

This is really a proof-of-concept. It basically saves the DateTime class that is known at the beginning of parsing the 6.e core setting as "DateTimeD", and then creates a DateTime class that inherits from
  "DateTimeD". Several notes to make about this:
... (12 more lines)
18:46
Geth rakudo: lizmat++ created pull request #4372:
Make DateTime.posix return a fractional value in 6.e
18:47
lizmat tbrowder: 6.* is just short for 6.e.PREVIEW atm
tbrowder ok, thnx 18:48
wow, deep magic! makes my head hurt. can my PR be used before 'e'? 18:52
lizmat I'd like to hear jnthn's opinion about my proposal 18:53
tbrowder although that's kind of like the magic you showed me earlier to subclass DateTime 18:54
lizmat I feel moving forward, having posix return a Real value feels better than adding named args now
yeah, that was the inspiration :-)
tbrowder any updated estimate on release of e? 19:02
lizmat probably not before RakuAST lands, and that's Q4 by the looks of it now 19:05
Geth rakudo: 17c55f3ccb | (Elizabeth Mattijsen)++ | src/core.c/DateTime.pm6
Make DateTime.posix about 12x as fast

While looking at the code, and how it handled the "ignore timezone" option, it occurred to me that `posix` actually doesn't care about leap seconds. And the timezone is expressed in seconds. So the
  quick way to get a posix value is just to subtract the timezone
value from the result of the Claus Tøndering algorithm.
Also make DateTime.posix a multi, so a. it can easily accomodate other candidates, and b. to make the common case (do *not* ignore timezone) much better optimizable.
19:52
lizmat tbrowder might like that :-)
tbrowder so, your PR gets closer to mine but with a bonus speed-up, nice! 20:04
mine has the same proto plus only three lines for my new multi (which would need a tweak... 20:05
i understand yr wanting to wait to move to 'e' for the real return, and as has been demoed in my latest roast merge, the 6.d user can get a real posix value with a modicum of work. 20:09
but, what is the downside of adding my multi now: a new multi to be deprecated in 'f'? 20:11
and two for the price of one in 'e'? 20:12
oh, the inpatience of youth :-) 20:13
Geth rakudo: ec8b1ae77a | (Elizabeth Mattijsen)++ | src/core.c/DateTime.pm6
Relax the return sig of DateTime.posix

To be compatible with any future versions
20:25
roast: stoned++ created pull request #735:
Add tests for substr-rw on allomorph types
20:31
roast: 54e060b0c5 | (Stoned Elipot)++ | S02-literals/allomorphic.t
Add tests for substr-rw on allomorph types

ref rakudo/rakudo#4369
20:34
roast: f3256405d3 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | S02-literals/allomorphic.t
Merge pull request #735 from stoned/allomorph-substr-rw

Add tests for substr-rw on allomorph types
lizmat tbrowder :-) 20:39
Geth rakudo/posix-real: 96b8126f54 | (Elizabeth Mattijsen)++ | src/core.e/core_prologue.pm6
Make DateTime.posix return a fractional value in 6.e

This is really a proof-of-concept. It basically saves the DateTime class that is known at the beginning of parsing the 6.e core setting as "DateTimeD", and then creates a DateTime class that inherits from
  "DateTimeD". Several notes to make about this:
... (12 more lines)
20:42
rakudo/posix-real: 517827f4d5 | (Elizabeth Mattijsen)++ | src/core.e/core_prologue.pm6
Update to new multi version of DateTime.posix

As a bonus, only the bare candidate needs to be defined.
20:43
tbrowder hm, have you tested against spectest? 20:52
lizmat yes 21:03
clean
tbrowder cool! 21:08
Geth nqp: MasterDuke17++ created pull request #723:
Use Win32 native API to get file changetime on JVM
22:07
japhb , plus 22:40
Gah
tbrowder well, i guess i'll have to add a real posix method to DateTime::Posix 22:51
er, DateTime::Julian 22:52