You've linked to my suggestion but did not list it in your list of possible implementation even though the main idea there is vastly different than all the options you did list. I also think it's worth mentioning because it's purpose is to address the first concern @CAD97 brought up - the handling of $self
.
TL;DR: instead of capturing $self
in the macro, we'll add a new simple syntax to the language (postfix let
in my original suggestion, but many commenters argued it should be a postfix match
instead) that will make postfix macros powerful enough even if they don't have any access to $self
.