I recently discovered some unfinished work you started to support display of inout parameters, and filed this issue at juan cespedes' upstream project. The orphaned work obviously targeted an older design, pre-"lens", so I am working on porting it forward manually ("spiritual rebase" as a colleague calls it).
I"m currently porting it commit-by-commit atop 31af32c, which is the commit that introduces lenses. The only documentation I can find on "lenses" is in the conf file man page. Is there anything further, at a developer or architecture level? I'm wondering if out and inout could be a lens rather than an additional decorator, eg., for a call that takes a struct something* as a first argument, and modifies it (i.e., an inout argument),
struct something;
void performAction(inout(struct something*));
That would cause the value to be rendered on the way in and on the way out. Such behavior is useful for this pointers and synthetic pseudo-this pointers as is found in oo-ish C style APIs.
Would really appreciate any feedback you're willing to offer.
I recently discovered some unfinished work you started to support display of
inoutparameters, and filed this issue at juan cespedes' upstream project. The orphaned work obviously targeted an older design, pre-"lens", so I am working on porting it forward manually ("spiritual rebase" as a colleague calls it).I"m currently porting it commit-by-commit atop 31af32c, which is the commit that introduces lenses. The only documentation I can find on "lenses" is in the conf file man page. Is there anything further, at a developer or architecture level? I'm wondering if
outandinoutcould be a lens rather than an additional decorator, eg., for a call that takes astruct something*as a first argument, and modifies it (i.e., an inout argument),That would cause the value to be rendered on the way in and on the way out. Such behavior is useful for
thispointers and synthetic pseudo-this pointers as is found in oo-ish C style APIs.Would really appreciate any feedback you're willing to offer.