[llvm-dev] RFC: should we spell lambdas like functions?

David Blaikie via llvm-dev llvm-dev at lists.llvm.org
Tue Jul 10 16:25:15 PDT 2018


On Tue, Jul 10, 2018 at 4:21 PM Duncan P. N. Exon Smith <
dexonsmith at apple.com> wrote:

>
>
> On Jul. 5, 2018, at 18:12, Bruce Hoult via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>
>
> On Thu, Jul 5, 2018 at 5:30 PM, Adrian Prantl via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>>
>>
>> > On Jul 5, 2018, at 1:09 PM, Rui Ueyama via llvm-dev <
>> llvm-dev at lists.llvm.org> wrote:
>> >
>> >> On Thu, Jul 5, 2018 at 12:57 PM Duncan P. N. Exon Smith <
>> dexonsmith at apple.com> wrote:
>> >> I argue we should spell C++ lambdas (and other function-like
>> variables) like functions, not like variables.
>> >>
>> >> - Use verbs, not nouns.
>> >
>> > I think I agree with this.
>> >
>> >> - Use lowerCamelCase.
>> >
>> > In lld we use UpperCamelCase, as they are technically not function
>> names but variable names. Using lowerCamelCase for function pointers feels
>> really weird to me, as they are really variables than functions to me.
>>
>> I also agree that this is weird either way because they are variables
>> when declared and passed around and functions when invoked.
>>
>
> How is this different to function pointers in traditional C?
>
>
>
> It's not different.  The patch proposes to spell C++ lambdas *and other
> function-like variables* like functions.  Essentially, anything that's
> callable.
>

That seems a bit more awkward/not-clearly-good to me (though I do
appreciate that the standard C++ naming convention, for all that it doesn't
really differentiate between anything (except macros) by having everything
lower_case, does use the same convention between variables and functions so
you don't get that disconnect) - ending up with function-named variables
that don't behave like functions (get used in assignments, have member
functions called on them, compared to nullptr (weak functions
notwithstanding), etc).

Seems more like a narrow kind of hungarian notation to me - to designate
that this variable can be called. Which doesn't seem important enough to
callout with a separate naming convention.

But I'm not too fussed about it if others feel strongly.

- Dave
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180710/9e99ed47/attachment.html>


More information about the llvm-dev mailing list