| Zoffix | Is there some easy cause for why a code block (when precomped) runs fine, but as soon as you stick a subroutine call into it, it crashes with "Cannot invoke this object (REPR: Null; VMNull)" at this line: nqp::p6capturelexwhere($phaser.clone())(); | 03:58 | |||||||||||||||||||||||||||||||||
| ugexe | hmm, i can't do `perl6 -I. -MFoo ...` because CUR::FileSystem iterates -all- files/dirs under the -I directory ($*HOME in this case) and tries to open a directory somewhere it doesnt have permissions for | 04:31 | |||||||||||||||||||||||||||||||||
| 1132 unintentionally fixes this though | 04:35 | ||||||||||||||||||||||||||||||||||
| perl6 --ll-exception -I. -MFoo -e 'dd A.a' | |||||||||||||||||||||||||||||||||||
| Failed to open dir: 13 | |||||||||||||||||||||||||||||||||||
| Zoffix | Ah, that's the "too many open files" error when dir is too nested | 04:47 | |||||||||||||||||||||||||||||||||
| Like in a recursive code that does IO.dir without iterating the Seq to the end | 04:48 | ||||||||||||||||||||||||||||||||||
| yoleaux | AlexDaniel`: RT/GH weekly | 07:17 | |||||||||||||||||||||||||||||||||
| lizmat | Files=1229, Tests=75778, 316 wallclock secs (14.93 usr 5.31 sys + 2185.49 cusr 208.19 csys = 2413.92 CPU) | 08:42 | |||||||||||||||||||||||||||||||||
| Geth | rakudo: 7f154fe22e | (Elizabeth Mattijsen)++ | src/core/Telemetry.pm Handle all permutations of infix:<->(Telemetry,Telemetry) |
||||||||||||||||||||||||||||||||||
| lizmat | m: say $*VM.version # is camelia stuck ? | 09:01 | |||||||||||||||||||||||||||||||||
| camelia | v2017.10 | ||||||||||||||||||||||||||||||||||
| lizmat | $ 6 'say $*VM.version' | ||||||||||||||||||||||||||||||||||
| v2017.10.26.gad.2.d.6.fb | |||||||||||||||||||||||||||||||||||
| MasterDuke | maybe the nom -> master switch confused it? | 10:16 | |||||||||||||||||||||||||||||||||
| lizmat | ah, that's probably it | 10:19 | |||||||||||||||||||||||||||||||||
| I guess moritz would be the one to ping? | |||||||||||||||||||||||||||||||||||
| MasterDuke | or timotimo? | 10:21 | |||||||||||||||||||||||||||||||||
| moritz investigates | 10:25 | ||||||||||||||||||||||||||||||||||
| ok, I did a "git checkout" in the source trees | 10:26 | ||||||||||||||||||||||||||||||||||
| git checkout master, that is | |||||||||||||||||||||||||||||||||||
| so the next cron-based trigger should pick up master | |||||||||||||||||||||||||||||||||||
| lizmat | moritz++ | 10:32 | |||||||||||||||||||||||||||||||||
| m: say $*VM.version | |||||||||||||||||||||||||||||||||||
| camelia | v2017.10.26.gad.2.d.6.fb.0.d | ||||||||||||||||||||||||||||||||||
| lizmat | whee! | ||||||||||||||||||||||||||||||||||
| m: sub term:<snap>() { Telemetry.new }; say snap - INIT snap | 10:33 | ||||||||||||||||||||||||||||||||||
| camelia | 180 / 177 | ||||||||||||||||||||||||||||||||||
| lizmat | shown are CPU time and wallclock in microseconds | 10:34 | |||||||||||||||||||||||||||||||||
| moritz | m: sub term:<snap>() { Telemetry.new }; say (snap - INIT snap).new | 10:35 | |||||||||||||||||||||||||||||||||
| camelia | Cannot unbox a type object (int) to an int. in block <unit> at <tmp> line 1 |
||||||||||||||||||||||||||||||||||
| moritz | m: sub term:<snap>() { Telemetry.new }; say (snap - INIT snap).perl | ||||||||||||||||||||||||||||||||||
| camelia | Telemetry::Period.new(:cpu-user(171), :cpu-sys(0), :wallclock(167)) | ||||||||||||||||||||||||||||||||||
| Geth | nqp: 99ad77f183 | pmurias++ | src/vm/js/Compiler.nqp [js] Coerce the last value of a block when passed to the exit_handler |
11:37 | |||||||||||||||||||||||||||||||||
| nqp: 2e47a2df8d | pmurias++ | 2 files [js] Fix wrong number of positionals error messages |
|||||||||||||||||||||||||||||||||||
| rakudo: e00f705d69 | (Elizabeth Mattijsen)++ | src/core/Rakudo/Internals.pm We're returning a native: "is raw" makes that a bit faster |
11:56 | ||||||||||||||||||||||||||||||||||
| rakudo: 3dfaa2aedd | (Elizabeth Mattijsen)++ | src/core/Telemetry.pm Make sure we actually record since start of program Instead of number of microseconds since epoch. |
|||||||||||||||||||||||||||||||||||
| rakudo: 59a59be8a5 | (Elizabeth Mattijsen)++ | 5 files Move Telemetry out of the setting - move it to lib, so you will have to do "use Telemetry" - add a snap() sub, to huffmanize Telemetry.new |
12:22 | ||||||||||||||||||||||||||||||||||
| jnthn | grrr, figured "git archieve" would be a fine way to make a tar.gz to upload to PAUSE. But no, it whines that it wants everything in some top-level directory | 12:31 | |||||||||||||||||||||||||||||||||
| Ah, good, git archive takes a --prefix= :) | 12:35 | ||||||||||||||||||||||||||||||||||
| buggable | New CPAN upload: IO-Socket-Async-SSL-0.5.tar.gz by JNTHN cpan.metacpan.org/authors/id/J/JN/...0.5.tar.gz | 12:36 | |||||||||||||||||||||||||||||||||
| jnthn | hurrah, seems it accepted it this time | 12:37 | |||||||||||||||||||||||||||||||||
| Hm, though it gave me some warning that I shouldn't upload the same filename twice, even though I deleted the previous one. | |||||||||||||||||||||||||||||||||||
| So guess we'll see if it really works out | 12:38 | ||||||||||||||||||||||||||||||||||
| heh, it looked confused, so did another upload :) | 12:49 | ||||||||||||||||||||||||||||||||||
| lizmat | jnthn: PAUSE is very strict: you cannot upload a file with the same name twice | 12:50 | |||||||||||||||||||||||||||||||||
| jnthn | That bit of strict is fine. Being fussy about wanting things in a single top-level directory is slightly annoying :) | 12:51 | |||||||||||||||||||||||||||||||||
| Hopefully it'll report here about the new, fixed, tarball I uploaded | 12:52 | ||||||||||||||||||||||||||||||||||
| And then index it on modules.perl6.org | |||||||||||||||||||||||||||||||||||
| Planning to do the next Cro release next week, and upload that to CPAN, so doing this module as a test/learning run :) | 12:53 | ||||||||||||||||||||||||||||||||||
| buggable | New CPAN upload: IO-Socket-Async-SSL-0.5.0.tar.gz by JNTHN cpan.metacpan.org/authors/id/J/JN/...5.0.tar.gz | 12:56 | |||||||||||||||||||||||||||||||||
| jnthn | There we go | 12:57 | |||||||||||||||||||||||||||||||||
| Geth | rakudo: 5244048618 | (Elizabeth Mattijsen)++ | lib/Telemetry.pm6 Remove Telemetry.Period, it was too magical to some - fix Telemetry.wallclock: it shouldn't return since epoch - improved snap() subroutine, now also allows pushing to a given array - added periods() subroutine, for generating a Seq of Telemetry::Period objects |
13:11 | |||||||||||||||||||||||||||||||||
| lizmat | draft of Telemetry docs: gist.github.com/lizmat/9dfe921efe7...4dfdbcd68c | 13:12 | |||||||||||||||||||||||||||||||||
| draft of Telemetry::Period docs: gist.github.com/lizmat/e601e91c90e...6b965ec770 | |||||||||||||||||||||||||||||||||||
| jnthn | hurrah: modules.perl6.org/search/?q=author%...rom%3Acpan | 13:28 | |||||||||||||||||||||||||||||||||
| Curiously, if you remove the quotes, the search doesn't find anything | |||||||||||||||||||||||||||||||||||
| Urgh, but it seems that module isn't happy on Rakudo HEAD | 13:33 | ||||||||||||||||||||||||||||||||||
| Was fine on 2017.09-479-g7cf5ce7 | 13:34 | ||||||||||||||||||||||||||||||||||
| jnthn gets travis to try it on 2017.10 | 13:36 | ||||||||||||||||||||||||||||||||||
| lizmat | jnthn: how is it unhappy? | 13:37 | |||||||||||||||||||||||||||||||||
| Geth | rakudo: b30916f353 | (Elizabeth Mattijsen)++ | lib/Telemetry.pm6 Add Telemetry::Period.cpus/utilization - cpus returns string indicating how many CPU's were used - utilization returns a string indicating % of CPU power used |
13:53 | |||||||||||||||||||||||||||||||||
| lizmat hopes that TimToady likes what Telemetry now does, and where it lives | 13:58 | ||||||||||||||||||||||||||||||||||
| Geth | rakudo: f7d21b5d6c | (Elizabeth Mattijsen)++ | lib/Telemetry.pm6 periods() adds an extra snap() if only one was done - also, if there are still snaps from snap(), the say periods before exiting - this allows for simple timing info on a single or more snaps |
14:22 | |||||||||||||||||||||||||||||||||
| Zoffix asks again, seeing there are people around... | |||||||||||||||||||||||||||||||||||
| Is there some easy cause for why a code block (when precomped) runs fine, but as soon as you stick a subroutine call into it, it crashes with "Cannot invoke this object (REPR: Null; VMNull)" at this line: nqp::p6capturelexwhere($phaser.clone())(); | |||||||||||||||||||||||||||||||||||
| precomped phaser codes are busted if they reference some HLL symbols; even as simple as `say` even tho `nqp::say` works | 14:23 | ||||||||||||||||||||||||||||||||||
| lizmat | Zoffix: other precomped stuff is borked as well: GH #1219 | 14:25 | |||||||||||||||||||||||||||||||||
| jnthn | Normally because something goes bad with restoring their outer chain | ||||||||||||||||||||||||||||||||||
| lizmat looks at GH #1220 | |||||||||||||||||||||||||||||||||||
| Zoffix | lizmat: yeah, that's the same cause | 14:28 | |||||||||||||||||||||||||||||||||
| Alright. I'll try to figure out where it's restoring stuff :) | |||||||||||||||||||||||||||||||||||
| jnthn | Removing a module from META.list should be sufficient to keep it from being dupe-listed on modules.perl6.org after also putting in on CPAN? | 14:31 | |||||||||||||||||||||||||||||||||
| Zoffix | Yes | ||||||||||||||||||||||||||||||||||
| jnthn | s/in/it | ||||||||||||||||||||||||||||||||||
| OK, guess I just need to be more patient :) | |||||||||||||||||||||||||||||||||||
| Will check it in another couple of hours | |||||||||||||||||||||||||||||||||||
| Also, is there a way to have a module that's on CPAN still show travis status, issues, etc? | 14:32 | ||||||||||||||||||||||||||||||||||
| Zoffix | umm.. there's something busted | ||||||||||||||||||||||||||||||||||
| "Couldn't require ModulesPerl6::DbBuilder::Dist::PostProcessor::p20TravisCI : Attempt to reload ModulesPerl6/DbBuilder/Dist/PostProcessor/p20TravisCI.pm aborted." | |||||||||||||||||||||||||||||||||||
| jnthn: not implemented at the moment | |||||||||||||||||||||||||||||||||||
| jnthn | Ah, OK | 14:33 | |||||||||||||||||||||||||||||||||
| Then it's not that I screwed something up :) | |||||||||||||||||||||||||||||||||||
| Zoffix | I'm guessing this busted it: github.com/perl6/modules.perl6.org...ac105632fb | ||||||||||||||||||||||||||||||||||
| sigil's messed up | 14:34 | ||||||||||||||||||||||||||||||||||
| k, I think it's fixed now, so in 2hr stuff should be OK | 14:39 | ||||||||||||||||||||||||||||||||||
| dogbert17 | Zoffix: do you have any comments about Destiny 2? | 14:44 | |||||||||||||||||||||||||||||||||
| Zoffix | "never heard of it" :) | 14:45 | |||||||||||||||||||||||||||||||||
| dogbert17 | haha | 14:46 | |||||||||||||||||||||||||||||||||
| Zoffix | And the "Curiously, if you remove the quotes, the search doesn't find anything" is due to quote option parser being crap. Filed as github.com/perl6/modules.perl6.org/issues/91 | 14:50 | |||||||||||||||||||||||||||||||||
| "Destiny 2 is an online-only multiplayer" I see now why; I'm very much a single-player type of person | 14:51 | ||||||||||||||||||||||||||||||||||
| dogbert17 | so nothing for you then? | ||||||||||||||||||||||||||||||||||
| Zoffix | Got BeamingNG.drive last night. Super-realistic driving simulator. Here's a sports car smashed into the guard rail at 150km/h: i.imgur.com/lartBs5.jpg | 14:52 | |||||||||||||||||||||||||||||||||
| dogbert17 | only scrap left of that one :) | 14:53 | |||||||||||||||||||||||||||||||||
| Zoffix | Nah, scrap is when you levitate the car very high and then drop it: i.imgur.com/CxxKevk.jpg :) | 14:54 | |||||||||||||||||||||||||||||||||
| Interestingly, if you set "Sun" gravity, the windshield instantly cracks under the weight of the sagging roof | 14:55 | ||||||||||||||||||||||||||||||||||
| So sun isn't a good place to drive a sports car at :P | |||||||||||||||||||||||||||||||||||
| dogbert17 | cool | 14:56 | |||||||||||||||||||||||||||||||||
| lizmat | afk for a bit& | 14:58 | |||||||||||||||||||||||||||||||||
| [Tux] | timing running | 15:10 | |||||||||||||||||||||||||||||||||
|
15:22 | ||||||||||||||||||||||||||||||||||
| Zoffix | [Tux]: are you still running timings on `nom` branch? | 15:32 | |||||||||||||||||||||||||||||||||
| m: $*PERL.compiler.version.say | |||||||||||||||||||||||||||||||||||
| camelia | v2017.10.36.gf.7.d.21.b.5.d.6 | ||||||||||||||||||||||||||||||||||
| Zoffix | You're 32 commits behind; we've switched to use `master` now | 15:33 | |||||||||||||||||||||||||||||||||
| AlexDaniel: what's `nom:` trigger? Looks to be running `master` | |||||||||||||||||||||||||||||||||||
| [Tux]: also, is there a speed.log ( tux.nl/Talks/CSV6/speed.log ) for test-t-20 time? I figured I'd make buggable use that, to get finer resolution. | 17:05 | ||||||||||||||||||||||||||||||||||
| ZOFFLOP: t/spec/S11-modules/nested.t | 17:23 | ||||||||||||||||||||||||||||||||||
| Geth | rakudo: 3c4041eab5 | (Zoffix Znet)++ | 2 files Implement hypered nodality for all methodcall variations Fixes RT#130721: rt.perl.org/Ticket/Display.html?id=130721 Depending on dispatch variant, the actual method call we're hypering might differ than what the original code assumes to be the name (and that name would be `dispatch:<blah>`). Fix by raking the QASTs ... (12 more lines) |
17:29 | |||||||||||||||||||||||||||||||||
| synopsebot | RT#130721 [open]: rt.perl.org/Ticket/Display.html?id=130721 [BUG] Hypered conditional method calls `Ā».?foo` don't respect nodal methods | ||||||||||||||||||||||||||||||||||
| roast: 868491aaf5 | (Zoffix Znet)++ | S03-metaops/hyper.t Spec hyper nodality with all methodcall variants Rakudo impl: github.com/rakudo/rakudo/commit/3c4041eab5 |
17:33 | ||||||||||||||||||||||||||||||||||
| Zoffix | \o/ that was a tough one | ||||||||||||||||||||||||||||||||||
| Gained a whole level from all the XP | |||||||||||||||||||||||||||||||||||
| Zoffix rakes through the loot | |||||||||||||||||||||||||||||||||||
.oO( rakudo dev RPG.. with a bot ) |
17:36 | ||||||||||||||||||||||||||||||||||
| [Tux] | Zoffix: not yet. I might | 18:18 | |||||||||||||||||||||||||||||||||
| buggable | New CPAN upload: URI-Encode-0.000.003_20171029.tar.gz by PSIXDISTS cpan.metacpan.org/authors/id/P/PS/...029.tar.gz | 19:06 | |||||||||||||||||||||||||||||||||
| MasterDuke | anyone have an idea why changing a proto's body from `{*}` to `{ * }` would cause `===SORRY!=== This type cannot unbox to a native string: P6opaque, Whatever` during target 'perl6-m'`? | 20:16 | |||||||||||||||||||||||||||||||||
| AlexDaniel | Zoffix: RPG? strangelyconsistent.org/blog/perl-6-is-my-mmorpg | 20:22 | |||||||||||||||||||||||||||||||||
| MasterDuke | i just tried to normalize all proto sub/method in the setting to `{ * }` (there were about 150 `{*}` and 630 `{ * }`). so i don't know exactly which one changed. it's dying at github.com/rakudo/rakudo/blob/mast...on.pm#L42: my str $s = nqp::atpos($strings,$i); | 20:23 | |||||||||||||||||||||||||||||||||
| AlexDaniel | Zoffix: what ānomā trigger are you talking about? | ||||||||||||||||||||||||||||||||||
| nom: say 42 | |||||||||||||||||||||||||||||||||||
| camelia | 42 | ||||||||||||||||||||||||||||||||||
| AlexDaniel | this? | ||||||||||||||||||||||||||||||||||
| it was changed: github.com/perl6/evalbot/commit/b7...cfe3cfb504 | 20:24 | ||||||||||||||||||||||||||||||||||
| but nobody restarted the bot since then | |||||||||||||||||||||||||||||||||||
| master: say 42 | 20:25 | ||||||||||||||||||||||||||||||||||
| yeah I guess so | |||||||||||||||||||||||||||||||||||
| Zoffix | nom: say 42 | 20:26 | |||||||||||||||||||||||||||||||||
| AlexDaniel | master: say 42 | 20:27 | |||||||||||||||||||||||||||||||||
| camelia | 42 | ||||||||||||||||||||||||||||||||||
| Zoffix giggles at MVM_REPR_DEFAULT_ASS_FUNCS | 21:48 | ||||||||||||||||||||||||||||||||||
| lizmat | .oO( FULL FART ) |
21:49 | |||||||||||||||||||||||||||||||||
| m: dd SetHash() # that smells wrong | 21:52 | ||||||||||||||||||||||||||||||||||
| camelia | SetHash(Any) | ||||||||||||||||||||||||||||||||||
| jnthn | Why? | 21:56 | |||||||||||||||||||||||||||||||||
| SomeTypeName() is a coercion type literal | |||||||||||||||||||||||||||||||||||
| lizmat | so where does the Any come from then ? | 21:59 | |||||||||||||||||||||||||||||||||
| m: dd SetHash(<a b c>) | |||||||||||||||||||||||||||||||||||
| camelia | SetHash("b","a","c") | ||||||||||||||||||||||||||||||||||
| jnthn | Any is the default from type | 22:00 | |||||||||||||||||||||||||||||||||
| lizmat | ah, of course :-( | ||||||||||||||||||||||||||||||||||
| jnthn | m: sub foo(SetHash() $s) { dd $s }; foo((1,2,1,3)) | ||||||||||||||||||||||||||||||||||
| camelia | SetHash $s = SetHash(1,3,2) | ||||||||||||||||||||||||||||||||||
| jnthn | That's shorthand for SetHash(Any) $s | ||||||||||||||||||||||||||||||||||
| lizmat | a change in SetHash.perl is needed then | ||||||||||||||||||||||||||||||||||
| jnthn | Zoffix: Associative is so much to type... Like the Positional above it :P | 22:04 | |||||||||||||||||||||||||||||||||
| Geth | rakudo: af3624d45d | (Elizabeth Mattijsen)++ | src/core/Setty.pm Correct (Set|SetHash).perl An empty Set/SetHash was shown as "Set()"/"SetHash()", which would create a Set/SetHash with Any as the only element when EVALled. |
22:27 | |||||||||||||||||||||||||||||||||
| jnthn | That's not quite right, it'd actually create a coercion type and evaluate to the type object | 22:30 | |||||||||||||||||||||||||||||||||
| lizmat | well, it was not roundtripping :-) | ||||||||||||||||||||||||||||||||||
| jnthn | True that :) | 22:31 | |||||||||||||||||||||||||||||||||
| Geth | rakudo: 1949a2bc13 | (Elizabeth Mattijsen)++ | 2 files Make 'my %h is Set(|Hash) = ...;' DWIM - in response to RT #132352 and RT #132353 - make also sure we can initialize Sets only once |
22:42 | |||||||||||||||||||||||||||||||||
| synopsebot | RT#132352 [rejected]: rt.perl.org/Ticket/Display.html?id=132352 Set operators unfriendly to mutable types | ||||||||||||||||||||||||||||||||||
| RT#132353 [new]: rt.perl.org/Ticket/Display.html?id=132353 [LTA] error with using meta assign ops with bound SetHash | |||||||||||||||||||||||||||||||||||
| lizmat | argh, the check for storing a Set is wrong :-( | 22:44 | |||||||||||||||||||||||||||||||||
| jnthn | Not sure if you should be able to my %h is Set = ... | ||||||||||||||||||||||||||||||||||
| lizmat | why not? | ||||||||||||||||||||||||||||||||||
| jnthn | Or if we do, we need to find some way to make follow-up assignments not work | ||||||||||||||||||||||||||||||||||
| lizmat | as long as you only do it once, that should be ok ? | ||||||||||||||||||||||||||||||||||
| jnthn | And it's not clear how to generally do that once | 22:45 | |||||||||||||||||||||||||||||||||
| timotimo | ooooh shiny! a few terminal emulators have support for an ansi escape code that lets you put hyperlinks into the terminal that have their text differ from the underlying link | ||||||||||||||||||||||||||||||||||
| gist.github.com/egmontkob/eb114294...9f3cb5feda | |||||||||||||||||||||||||||||||||||
| lizmat | jnthn: not sure what problem you're referring to | ||||||||||||||||||||||||||||||||||
| jnthn | lizmat: my %h is Set = ...; %h = ...; # second one must fail | ||||||||||||||||||||||||||||||||||
| And since the only API we have for this is STORE at the moment | 22:46 | ||||||||||||||||||||||||||||||||||
| lizmat | yeah, ok, that's what I was going for | ||||||||||||||||||||||||||||||||||
| jnthn | How can we achieve that | ||||||||||||||||||||||||||||||||||
| lizmat | yes, I know | ||||||||||||||||||||||||||||||||||
| well, atm an empty Set is basically a nqp::create(Set) | |||||||||||||||||||||||||||||||||||
| that's actually *the* empty set | |||||||||||||||||||||||||||||||||||
| jnthn: actually, my %h is Set = <a b c>; %h = <d e f> is not a problem | 22:48 | ||||||||||||||||||||||||||||||||||
| that's covered (basically) | |||||||||||||||||||||||||||||||||||
| jnthn | It is if it doens't explode on the second assignment :P | ||||||||||||||||||||||||||||||||||
| lizmat | it does | ||||||||||||||||||||||||||||||||||
| so that's not the problem | |||||||||||||||||||||||||||||||||||
| jnthn looks how that's been achieved to see if he likes it | |||||||||||||||||||||||||||||||||||
| lizmat | it basically checks if the $!elems attribute is definite: it doesn't allow STORE if it is | 22:49 | |||||||||||||||||||||||||||||||||
| jnthn | Ah, hm | ||||||||||||||||||||||||||||||||||
| I guess that's not too bad | |||||||||||||||||||||||||||||||||||
| lizmat | now, since an empty Set doesn't have the $!elems set | 22:50 | |||||||||||||||||||||||||||||||||
| handling the case: my %h is Set; %h = <a b c> | |||||||||||||||||||||||||||||||||||
| is a problem | |||||||||||||||||||||||||||||||||||
| jnthn | Yeah | ||||||||||||||||||||||||||||||||||
| I was wondering if we wanted two methods | |||||||||||||||||||||||||||||||||||
| Or a named arg to STORE | 22:51 | ||||||||||||||||||||||||||||||||||
| :initial or some such | |||||||||||||||||||||||||||||||||||
| lizmat | now, if I bind an empty IterationSet in the Set, other places go wrong that assume the existence of the $!elems attribute means it has elements | ||||||||||||||||||||||||||||||||||
| jnthn | That'd be more robust | ||||||||||||||||||||||||||||||||||
| Yeah. I think we need something explicit | |||||||||||||||||||||||||||||||||||
| To tell the target of the assignment if this is an initialization or a later assignment | 22:52 | ||||||||||||||||||||||||||||||||||
| This could be quite useful in a number of cases | |||||||||||||||||||||||||||||||||||
| lizmat | ok, fair enough | ||||||||||||||||||||||||||||||||||
| that would simplify matters :-) | |||||||||||||||||||||||||||||||||||
| jnthn | Since extra named args are ignored, we could do it that way without upsetting any existing implementers of STORE | 22:53 | |||||||||||||||||||||||||||||||||
| lizmat | yeah, I got that :-) | 22:54 | |||||||||||||||||||||||||||||||||
| Line 6997 in Actions ? | 22:55 | ||||||||||||||||||||||||||||||||||
| hmm... 8760 perhaps ? | 22:56 | ||||||||||||||||||||||||||||||||||
| jnthn | The initializer one, whichever that is | 23:00 | |||||||||||||||||||||||||||||||||
| lizmat | yeah, I think 8760 and 9790 | 23:01 | |||||||||||||||||||||||||||||||||
| 8790 | |||||||||||||||||||||||||||||||||||
| testing now | |||||||||||||||||||||||||||||||||||
| jnthn | That's the signature case | ||||||||||||||||||||||||||||||||||
| At 8790 | 23:02 | ||||||||||||||||||||||||||||||||||
| For "is copy" | |||||||||||||||||||||||||||||||||||
| github.com/rakudo/rakudo/blob/mast....nqp#L3159 | 23:03 | ||||||||||||||||||||||||||||||||||
| Here, you'd need to pass some argument to assign_op | |||||||||||||||||||||||||||||||||||
| And then check that around 6997 | |||||||||||||||||||||||||||||||||||
| lizmat | ok | ||||||||||||||||||||||||||||||||||
| compiling... | 23:06 | ||||||||||||||||||||||||||||||||||
| jnthn: apparently, "my %h is Set = a => 42" is not passing by 3159 :-( | 23:14 | ||||||||||||||||||||||||||||||||||
| jnthn | Hm, odd | 23:22 | |||||||||||||||||||||||||||||||||
| I can't see why it wouldn't | 23:23 | ||||||||||||||||||||||||||||||||||
| lizmat | hmmm... ok, something else weird going on then | 23:24 | |||||||||||||||||||||||||||||||||
| $past := QAST::Op.new( | 23:25 | ||||||||||||||||||||||||||||||||||
| :op('callmethod'), :name('STORE'), | |||||||||||||||||||||||||||||||||||
| $lhs_ast, $rhs_ast); | |||||||||||||||||||||||||||||||||||
| + if $initialize { | |||||||||||||||||||||||||||||||||||
| + $past.push(QAST::IVal.new( :value(1), :named('initialize') )); | |||||||||||||||||||||||||||||||||||
| + } | |||||||||||||||||||||||||||||||||||
| does that look right ? | |||||||||||||||||||||||||||||||||||
| jnthn | Yeah | 23:26 | |||||||||||||||||||||||||||||||||
| I mean, it'd probably be better if it was a QAST::WVal passing True | 23:27 | ||||||||||||||||||||||||||||||||||
| But that wouldn't stop it working | |||||||||||||||||||||||||||||||||||
| lizmat | hmmm... | 23:28 | |||||||||||||||||||||||||||||||||
| $past.push(QAST::WVal.new( | 23:29 | ||||||||||||||||||||||||||||||||||
| :named('initialize'), | |||||||||||||||||||||||||||||||||||
| :value($*W.find_symbol(['Bool', 'True'])) | |||||||||||||||||||||||||||||||||||
| ); | |||||||||||||||||||||||||||||||||||
| like that ? | |||||||||||||||||||||||||||||||||||
| apart from a missing ) | 23:32 | ||||||||||||||||||||||||||||||||||
| jnthn | Yes | ||||||||||||||||||||||||||||||||||
| lizmat | $past := assign_op($/, $past, $initast, :initialize); | 23:38 | |||||||||||||||||||||||||||||||||
| that's also ok, no ? | |||||||||||||||||||||||||||||||||||
| jnthn | Looks alright to me | 23:46 | |||||||||||||||||||||||||||||||||
| lizmat | hmmm... it's not coming into the @/% sigil case | 23:50 | |||||||||||||||||||||||||||||||||
| jnthn: looks like if nqp::istype($lhs_ast, QAST::Var) { fails | 23:53 | ||||||||||||||||||||||||||||||||||
| Zoffix | try $lhs_ast.isa(QAST::Var) | 23:54 | |||||||||||||||||||||||||||||||||
| (that was the thing that was used in the actions stuff I was coding today) | 23:55 | ||||||||||||||||||||||||||||||||||
| lizmat | not sure how that would make a difference, but I'll try | ||||||||||||||||||||||||||||||||||
| Zoffix | nqp: use QAST; say(nqp::istype(QAST::Var.new(), QAST::Var)) | ||||||||||||||||||||||||||||||||||
| camelia | 1 | ||||||||||||||||||||||||||||||||||
| Zoffix | Ok nemeverind :) | ||||||||||||||||||||||||||||||||||
| ZofBot: look, I'm helping! | |||||||||||||||||||||||||||||||||||
| ZofBot | Zoffix, Well, see you Monday, Bill | ||||||||||||||||||||||||||||||||||
| Zoffix calls it a night | 23:56 | ||||||||||||||||||||||||||||||||||
| \o | |||||||||||||||||||||||||||||||||||
| lizmat | night Zoffix |