@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 >>>>> >>>> >> >> >
