nine | How can I give a QAST::Var a compile time value? Do I have to generate a bind op? | 08:47 | |
Ah, I need to give the symbol the value, not the QAST::Var. | 08:58 | ||
Geth | rakudo/lexical_require: 97788ec17e | (Stefan Seifert)++ | 2 files Import symbols from 'require'd modules lexically This is the first part making indirect lookup operational. |
09:10 | |
rakudo/lexical_require: 1018226697 | (Stefan Seifert)++ | 2 files Create lexical stub package for 'require'd module. require Test; will now create a lexically scoped stub package "Test" to be replaced by the loaded module's package at runtime. Nested packages NYI. With this, "require Test; Test::plan(1);" works again. Fixes RT #125083 |
|||
nine | .tell llfourn progress in the lexical_require branch :) | ||
yoleaux2 | nine: I'll pass your message to llfourn. | ||
llfourn | Nice. nine++. Will check it out soon. | 09:12 | |
yoleaux2 | 09:10Z <nine> llfourn: progress in the lexical_require branch :) | ||
nine | Next up: nested packages. Still a bit of work to do, but I think I know the way ahead from here | 09:13 | |
llfourn | nine: What's a nested package? | 09:15 | |
nine | Foo::Bar::Baz | ||
llfourn | ah for require'ing them. Cool. Interested to see how you solve it :) | 09:16 | |
nine | I guess the same as with 'use'. Put the nested packages into global scope if required but otherwise just create the package hierarchy lexically. | 09:17 | |
llfourn | are you going to need predeclare nested pacakges like require Foo <Foo::Bar::Baz>? | 09:18 | |
Geth | roast/lexical_require: 5d530ab368 | (Stefan Seifert)++ | S11-modules/require.t WIP for lexical require |
09:19 | |
llfourn | the thing is I sorta tried to do lexical require myself but I couldn't change the lexical symbols at runtime | ||
I mean for the lexical packages part. If you predeclare a stub then it's ok of course. | 09:20 | ||
nine | And as TimToady++ told me, having lexical stubs was the plan all along. | ||
For indirect lookup I have a lexical %REQUIRE_SYMBOLS where I can add symbols at runtime. | 09:21 | ||
llfourn | ah ok great. | ||
hmmmm so you won't need to declare stubs for sub-packages then? | |||
nine | I do for cases like require Foo::Bar::Baz; | 09:22 | |
But for "require <Foo>; say ::('Bar'); # which is contained in Foo" I won't. And can't, since I don't know what's in Foo.pm | 09:23 | ||
llfourn | yeah | ||
When I was looking at it I was thinking we should just remove the ability to do that with require. Maybe force people to use CompUnit interface to do that kind of symbol introspection. | 09:25 | ||
nine | AFAICT the only ability we're going to loose is "require 'lib/Foo.pm'; Foo::bar();" as there's no way for us to create the proper stub symbols. | 09:29 | |
llfourn | nine: looking at the tests it doesn't look like we can do that now? | 09:33 | |
nine | llfourn: test number 4 in require.t expected it | 09:57 | |
llfourn | m: say "got here"; say GLOBAL::NotHERE | 10:02 | |
camelia | got here Could not find symbol 'NotHERE' in block <unit> at <tmp> line 1 Actually thrown at: in block <unit> at <tmp> line 1 |
||
llfourn | nine: looks like those tests in particular using GLOBAL:: could pass assuming your magic with REQUIRE_SYMBOLS can be the fallback for GLOBAL::. | 10:03 | |
because they are looked up at runtime | |||
not that I want them to pass :) | 10:04 | ||
Geth | rakudo/nom: 2a57bfcb61 | (Elizabeth Mattijsen)++ | 7 files Revert "One empty list to rule them all" This reverts commit 11ee2fe1770b689c2dbbfa96ed7154623dd392e9. As Zoffix pointed out, this is basically a micro-optimization with global consequences. We need a better way. |
10:29 | |
[Tux] | This is Rakudo version 2017.02-161-g11ee2fe17 built on MoarVM version 2017.02-20-g773711e1 | 11:30 | |
csv-ip5xs 2.918 | |||
test 12.509 | |||
test-t 4.915 - 4.916 | |||
csv-parser 13.099 | |||
timotimo | that's more stable than i remember | 11:31 | |
jnthn | I guess random noise can be randomly unnoisy :) | 11:32 | |
timotimo | of course | ||
or maybe we improved something ;) | |||
jnthn | o.O ;) | 11:33 | |
timotimo | inconthievable! | ||
Geth | rakudo/nom: 3bf734f644 | (Zoffix Znet)++ | 2 files Clarify NYI error in partially-dimensioned shaped array views Fixes RT#130863: rt.perl.org/Ticket/Display.html?id=130863 |
11:41 | |
IOninja | ZOFVM: Files=1227, Tests=132953, 123 wallclock secs (21.02 usr 3.30 sys + 2307.70 cusr 269.16 csys = 2601.18 CPU) | 11:43 | |
Geth | rakudo/nom: c2db930d6b | (Zoffix Znet)++ | docs/ChangeLog Log all commits to date Documents commits: 05add43 0be7247 1cafc67 254f76a 25a3cc5 26e6993 2973ccd 2cf9b53 2f6d2c6 313e7b2 318f8ee 3bf734f 3de7b08 3e88c41 45b3af8 4ef1e69 556db9d 5843ee6 5c1761a 5e6f30a 5ec2517 60a8f9e 61a65ce 6cb9be2 7010ae9 7425737 74573d0 7556498 755e25b 75e070f 76f7187 7966dad 796b6a8 79d5670 7c279c3 7f9235c 80e0bce 81fcd1b 829762a 8301a30 8e250db 8e8cd14 91a4ac5 9a109c9 9a74cd0 9d497e9 9e8ecb7 9e9a4ad a08e953 a274bdd a4af702 adb6f87 ae7bcf1 b11dc88 b1def95 b283e52 b2e0ac0 b2eb115 b61b3c7 beda576 c1a0fa7 cd47e2a cfe0e04 d66c382 db70a1f dc5fb20 dd4dfb1 e270a15 e723e00 e8af855 ed971df f595733 f9eb811 fafe663 |
18:19 | |
nqp: c9a0616d25 | (Pawel Murias)++ | src/vm/js/nqp-runtime/reprs.js [js] Fix signature. |
19:03 | ||
nqp: 028c91f8cb | (Pawel Murias)++ | 3 files [js] Remove ChunkCPS, a leftover from our bitrotted CPS transform style code emitting. |
|||
nqp: f749428e72 | (Pawel Murias)++ | 7 files [js] Remove rest of our bitrotted CPS coroutine implementation. |
|||
lizmat | . | 20:33 | |
yoleaux2 | 3 Mar 2017 22:35Z <IOninja> lizmat: is there any way of hiding ENL/ENLI constants from user's code? If not, perhaps we should prefix them with Rakduo::Internals. The biggest issue is they mess with sub calls that don't use parentheses: `sub ENL { say "hi" }; ENL` no longer prints "hi" and IMO such short names are fairly likely to occur in user code. | ||
Geth | roast: c4364a818a | (Aleks-Daniel Jakimenko-Aleksejev)++ | S06-operator-overloading/infix.t Repurpose a test that is otherwise useless Perl 6 already has × operator which does exactly the same, so the test was not achieving anything. When it comes to defining *new* unicode operators, we already have a test for that in the same file (infix:<©>). Therefore, let's make it test for unicode operator overloading. |
20:35 | |
rakudo/nom: 20fa14be7a | (Elizabeth Mattijsen)++ | src/core/Int.pm Fix RT #130913 and RT #130914 Without slowing down chr() noticeably. |
20:46 | ||
lizmat | hmmm... we lost the synopsebot ? | 20:47 | |
IOninja does things | 20:51 | ||
RT #130913 and RT #130914 | 20:52 | ||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130913 | ||
Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130914 | |||
lizmat | whee! | 20:55 | |
Geth | rakudo/nom: b59739866b | (Elizabeth Mattijsen)++ | 2 files Make sure some more nqp::splice cases don't allocate repeatedly to splice out elements of a low-level list. |
21:04 | |
rakudo/nom: e114d52043 | (Elizabeth Mattijsen)++ | src/core/metaops.pm Make triangle reduce right op with 2 params 2x as fast Too tired to take care of 2+ param case now. Will do tomorrow |
22:08 | ||
lizmat | good night, #perl6-dev! |