🦋 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. |
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo: MasterDuke17++ created pull request #5631: Use binding for all sub aliases |
02:56 | |||||||||||||||||||||||||||||||||||||
07:24
doomlord joined
|
|||||||||||||||||||||||||||||||||||||||
doomlord | ab5tract: do you know why splice flatten by default? Isn’t it confusing for newbies? Like the opposite of List.push | 07:30 | |||||||||||||||||||||||||||||||||||||
is this a correct statement: there are Lists, Slips, and itemized arrays that are the opposite of Slips | 07:31 | ||||||||||||||||||||||||||||||||||||||
You get a slip on an array by the method Slip, you get an itemized array by the method ItemizedArray | 07:33 | ||||||||||||||||||||||||||||||||||||||
07:40
doomlord left
|
|||||||||||||||||||||||||||||||||||||||
nine | ab5tract: I'm pretty sure it's working, but of course performance would be abysmal. | 07:41 | |||||||||||||||||||||||||||||||||||||
The best solution to the dispatch-based-on-caller's-language-version problem is, well, to write a dispatcher or extend the current multi-dispatcher. | 07:43 | ||||||||||||||||||||||||||||||||||||||
For NativeCall I introduced the possibility for a routine to say that it needs a custom dispatcher: method CUSTOM-DISPATCHER(--> str) { 'raku-nativecall' }. This could be an easy way to experiment and write at least as first version of such custom dispatch code. Whether we want to keep it that way or incorporate it into the (already quite complex) multi-dispatch code would remain to be seen. | 07:44 | ||||||||||||||||||||||||||||||||||||||
ab5tract | I already wrote the custom dispatcher for is item | 07:47 | |||||||||||||||||||||||||||||||||||||
Are you suggesting that the version check should live in the dispatcher? | |||||||||||||||||||||||||||||||||||||||
07:49
doomlord joined
|
|||||||||||||||||||||||||||||||||||||||
nine | Yes. Then the check would happen only once at the call site. Even more, the language version is a very static property of that lexical scope, so it would be super cheap to check (much cheaper than a dynamic variable) | 07:51 | |||||||||||||||||||||||||||||||||||||
ab5tract | The cheaper version of the check is what I was looking for, so thanks | 07:52 | |||||||||||||||||||||||||||||||||||||
doomlord | So, how do you get an itemized array out of an array? | 07:55 | |||||||||||||||||||||||||||||||||||||
.Unslip method, .Deslip, .Pils haha | 08:00 | ||||||||||||||||||||||||||||||||||||||
08:03
doomlord left
08:05
doomlord joined
|
|||||||||||||||||||||||||||||||||||||||
doomlord | last time I checked, dynamics variables and unicode were dooming raku performances. Glad you are doing something against them | 08:06 | |||||||||||||||||||||||||||||||||||||
also gave a glance at lizmat work using rakuast. She’s on a good way to speed up regexes if I understand her trajectory correctly | 08:07 | ||||||||||||||||||||||||||||||||||||||
I’m afraid the unicode implementation will doom raku forever though haha | 08:09 | ||||||||||||||||||||||||||||||||||||||
08:12
sena_kun joined
08:16
doomlord left,
doomlord joined
08:17
doomlord left
|
|||||||||||||||||||||||||||||||||||||||
[Tux] |
|
08:53 | |||||||||||||||||||||||||||||||||||||
tux.nl/Talks/CSV6/speed4-20.html / tux.nl/Talks/CSV6/speed4.html tux.nl/Talks/CSV6/speed.log | |||||||||||||||||||||||||||||||||||||||
10:28
dawids joined,
dawids left
14:44
finanalyst joined
|
|||||||||||||||||||||||||||||||||||||||
releasable6 | Next release in ≈4 days and ≈3 hours. There are no known blockers. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft | 15:00 | |||||||||||||||||||||||||||||||||||||
15:05
finanalyst left
|
|||||||||||||||||||||||||||||||||||||||
ab5tract | how does one check the Raku version from within NQP? | 16:24 | |||||||||||||||||||||||||||||||||||||
lizmat | language version or commit ? | 16:26 | |||||||||||||||||||||||||||||||||||||
vrurg_ might actually know that offhand | |||||||||||||||||||||||||||||||||||||||
16:27
sena_kun left,
sena_kun joined
16:41
sena_kun left,
sena_kun joined
|
|||||||||||||||||||||||||||||||||||||||
ab5tract | loooks like `nqp::getcomp('Raku').language_revision` is the ticket | 16:57 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo/splice-is-item-again-twice: cd858513fe | ab5tract++ | src/core.c/Array.rakumod [6.e] Dispatch in Array.splice based in `is item` trait This allows the following to DWIM: > use v6.e.PREVIEW; > my @a = 1,2,3; > @a.splice(1,1,$[7,8]) # [1,[7,8],3] |
17:12 | |||||||||||||||||||||||||||||||||||||
ab5tract | As far as I can tell, pushing the version check to the dispatcher is going to be a significant PITA | 17:15 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo/main: 35b89a37de | (Elizabeth Mattijsen)++ | 2 files RakuAST: handle RakuAST::Trait::WillBuild in .raku/deparsing At least for now: it feels like it is being incorrectly codegenned for something like "has $.a = 42" |
||||||||||||||||||||||||||||||||||||||
ab5tract | ah, nevermind, I think I've got it figured out. | 18:12 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo/main: c7dd2bc51e | (Elizabeth Mattijsen)++ | lib/RakuAST/Deparse/Highlight.rakumod RakuAST: initial stab at providing :allow support to syntax highlighting. This allows RakuDoc markup to be inserted in source code. For instance, having B<> rendered as <bold></bold> and L<> rendered as a hyperlink. For instance my B<$a> = L<42|the-answer.com>; ... (9 more lines) |
19:49 | |||||||||||||||||||||||||||||||||||||
rakudo/splice-is-item-again-twice: 2373cbc973 | ab5tract++ | 3 files [6.e] Dispatch in Array.splice based in `is item` trait This allows the following to DWIM: > use v6.e.PREVIEW; > my @a = 1,2,3; > @a.splice(1,1,$[7,8]) # [1,[7,8],3] |
19:55 | ||||||||||||||||||||||||||||||||||||||
rakudo/splice-is-item-again-twice: 61310eb82f | ab5tract++ | 3 files [6.e] Dispatch in Array.splice based in `is item` trait This allows the following to DWIM: > use v6.e.PREVIEW; > my @a = 1,2,3; > @a.splice(1,1,$[7,8]) # [1,[7,8],3] |
|||||||||||||||||||||||||||||||||||||||
ab5tract | nine: let me know if this matches your expectations | 19:58 | |||||||||||||||||||||||||||||||||||||
I wasn't sure how static the language revision is in this context | 20:00 | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo/splice-is-item-again-twice: 46b6526dec | ab5tract++ | 3 files [6.e] Dispatch in Array.splice based in `is item` trait This allows the following to DWIM: > use v6.e.PREVIEW; > my @a = 1,2,3; > @a.splice(1,1,$[7,8]) # [1,[7,8],3] |
20:01 | |||||||||||||||||||||||||||||||||||||
nine | ab5tract: sorry, doesn't look right. I was more thinking about adding one more magic variable to the generated code, i.e. a QAST::Var(:name<!__RAKU_VERSION__>, :scope<lexical>) that the dispatcher can read from the caller's lexical environment | 21:01 | |||||||||||||||||||||||||||||||||||||
ab5tract | Ok… I‘ll have to think on that because reading that right now, I have very little conception of what you are suggesting | 21:04 | |||||||||||||||||||||||||||||||||||||
21:05
donaldh left
|
|||||||||||||||||||||||||||||||||||||||
ab5tract | Is this a proposal for a new and improved way to gate features by language revision? Because we already do that in places and I’m not clear what makes this case so different that it needs such special treatment | 21:08 | |||||||||||||||||||||||||||||||||||||
21:34
donaldh joined
22:08
sena_kun left
|