June 17

most user written aliasSeq's are repetitive, yet simply nessery for metaprograming

alias foo=...;
alias bar=...;
alias fizz=...;
alias foobar=__HERE__;//seq!(foo,bar,fizz)
alias bar=...;

__HERE__ is a special token that evaluates to an alias seq of local symbols defined above it



auto func1(){...}
auto func2(){...}
auto func3(){...}

static foreach(f;__HERE__){//contains func1, 2 and 3; not f

like other special tokens it evaluate to the call site

template foo(alias bar=__HERE__){
  alias foo=__HERE__;
}
struct foobar{
  int i;
  float f;
  alias fizz=foo!();//i,f
  bool b;
}
June 18

On Monday, 17 June 2024 at 16:24:14 UTC, monkyyy wrote:

>

most user written aliasSeq's are repetitive, yet simply nessery for metaprograming

alias foo=...;
alias bar=...;
alias fizz=...;
alias foobar=__HERE__;//seq!(foo,bar,fizz)
alias bar=...;

__HERE__ is a special token that evaluates to an alias seq of local symbols defined above it

Point of comparison: in Python, this is a built-in function called locals().

https://docs.python.org/3/library/functions.html#locals