Carl Mäsak
Carl Mäsak
Tempting opportunity: implement `delete` by taking an `lvalue()` of the expression and calling `.delete` on it. This method (which isn't mentioned in #214 but which I realized yesterday we'll want...
Given an `a` without a `.b`, what should `delete a.b[c]` do? * Throw an exception, because `.b` doesn't exist? * Do nothing and consider that a success; after all, `a.b[c]`...
...even though #229 doesn't _exactly_ have the same semantics here, but it's close enough. #229 says "at any point, when something is missing, immediately give back `none` and don't look...
> "at any point, when something is missing, immediately declare success and don't look further" I mean, what this is is just a `Maybe` monad, of course. \*handwave handwave\* And...
Hat tip to #439; these two are in the same ballpark. (Is INIT the fourth missing one? Need to double-check... [Yep](https://github.com/perl6/specs/blob/master/S04-control.pod#phasers).)
To make this concrete, I also enjoyed [how the test specifications are laid out](https://github.com/istanbuljs/istanbuljs/blob/1b52fe750d1f800c34dbff168614c0c73bd76026/packages/istanbul-lib-instrument/test/specs/functions.yaml): small code examples, checking coverage of lines/statements/functions/branches. Extra nice is that the focus is on the...
There's a clear connection here between the kind of "invisible code injection" we want to do here, and the one discussed in #417. I could even see cases where one...
I thought of another alluring example (which might belong in a separate issue, except it feels like it shares and highlights the same general technique): I have a private repository...
Just found [this quote](https://homepages.cwi.nl/~storm/teaching/reader/FilmanFriedman00.pdf): > This paper proposes that the distinguishing characteristic of Aspect-Oriented Programming > (AOP) systems is that they allow programming by making quantified programmatic assertions > over...
The thing I would like to capture here is this: when we are authoring the instrumentation code, we are basically visiting the nodes of interest and injecting the non-invasive code....