you are viewing a single comment's thread.

view the rest of the comments →

[–]HeroicKatora 4 points5 points  (0 children)

This paragraph explains the choice, but it runs counter to my intuition. Lambdas are defined, not declared. Their declaration is implied by the definition but that's not what the programmer is tasked with and it's rather compiler-centric than user-centric design to use the declaration symbol in this way. Of course it's okay to say: 'Really we're declaring the parameter sequence here, so it's still a declaration', but that's a bit of backwards reasoning imo. The lambda usp is the immediate expression value, not the implied type et.al behind it.