So, I read about the implementation of lambda calculus with template templates , one of the proofs of the completeness of Turing Turing.
When I read the source code, I came across one (and then more) lines, as shown below:
template <int Name, typename Value, typename Env> struct EnvLookup <Name, Binding<Name,Value,Env> > { Value typedef result ;
I'm used to typedef Type Alias; but Type typedef Alias; looks alien to me. And yet it compiles fine with g ++ 4.9.0 and the old old -std=c++98 .
I could not find documentation on this syntax from Google, and not here. Is this standard? Perhaps a g ++ extension? Will it fit together?
source share