@Konrad, that might be a good idea to have a  'reserved type and members
names', perhaps a little table on each generator/parser.
So the c++ generator can throw a warning or error before it gets to the
compiler (e.g. gcc), since 'typedef i32 int' might work in some languages
but it's definitely not a good idea in any C/C++



On 2 December 2014 at 02:17, Konrad Grochowski <[email protected]> wrote:

> I was assuming aliases would only be present at parsing time. I to prefer
> iX notation, I like to be explicit. Yet I can imagine a lot of users, who
> don't care about bits and bytes, they just want int. Or they want to make
> IDL look more like Java/C# ;)
>
> I'd not try to detect all 'typedef i32 int' constructs, as next step would
> be to detect all keywords of all supported languages... Which might be a
> good idea, but would require a lot of work, especially while adding new
> lang. But maybe 'reserved type and members names' is doable...
>
> @Stig: About errors: I think, that problem appears in generated code for
> langs which have typedef constructs. Like C or C++, where such IDL leads to
> something like "typedef int32_t int" which tries to redefine C keyword...
>
> -KG
>
>
> On 01.12.2014 15:26, Stig Bakken wrote:
>
>> FWIW, I agree with Randy.  There is value to being able to directly
>> compare two type names through simple equality, with aliases you will
>> get situations where you need code like "are_these_types_the_same(t1,
>> t2)".
>>
>>
>> On Mon, Dec 1, 2014 at 2:21 PM, Randy Abernethy <[email protected]> wrote:
>>
>>> One of the things I love about Thrift is its simple IDL. No aliases
>>> just simple self describing types (i8, i16, etc). We presently have
>>> one keyword for each feature of the IDL. I think the Pandora's box
>>> analogy is a good one. It is hard work keeping things simple.
>>>
>>> On Mon, Dec 1, 2014 at 12:09 AM, Stig Bakken <[email protected]> wrote:
>>>
>>>> Out of curiosity, what kinds of errors did you see from this?
>>>>
>>>>   - Stig
>>>>
>>>>
>>>> On Mon, Dec 1, 2014 at 1:18 AM, Jens Geyer <[email protected]>
>>>> wrote:
>>>>
>>>>> Hi *,
>>>>>
>>>>> I have found people multiple times doing things like this, ending up
>>>>> with strange errors.
>>>>>
>>>>>      typedef i32 int
>>>>>
>>>>> What about making it legal and allowing int as an built-in alias for
>>>>> i32?
>>>>> Or should we add some kind of warning instead?
>>>>>
>>>>> Or would either one of these just open pandora’s box?
>>>>>
>>>>> Have fun,
>>>>> JensG
>>>>>
>>>>
>>
>>
>

Reply via email to