RE: [YANG] so many naming scopes

"Bert Wijnen - IETF" <bertietf@bwijnen.net> Fri, 04 January 2008 12:08 UTC

Return-path: <yang-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1JAlLM-0004ux-Ot; Fri, 04 Jan 2008 07:08:08 -0500
Received: from yang by megatron.ietf.org with local (Exim 4.43) id 1JAlLL-0004ui-5Y for yang-confirm+ok@megatron.ietf.org; Fri, 04 Jan 2008 07:08:07 -0500
Received: from [10.90.34.44] (helo=chiedprmail1.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1JAlLK-0004ua-Qt for yang@ietf.org; Fri, 04 Jan 2008 07:08:06 -0500
Received: from relay.versatel.net ([62.250.3.110]) by chiedprmail1.ietf.org with smtp (Exim 4.43) id 1JAlLK-0003WI-7h for yang@ietf.org; Fri, 04 Jan 2008 07:08:06 -0500
Received: (qmail 54666 invoked from network); 4 Jan 2008 12:08:03 -0000
Received: from unknown (HELO bwMedion) (87.215.199.34) by relay.versatel.net with SMTP; 4 Jan 2008 12:08:03 -0000
From: "Bert Wijnen - IETF" <bertietf@bwijnen.net>
To: "Andy Bierman" <ietf@andybierman.com>, "Balazs Lengyel" <balazs.lengyel@ericsson.com>
Subject: RE: [YANG] so many naming scopes
Date: Fri, 4 Jan 2008 13:08:16 +0100
Message-ID: <NIEJLKBACMDODCGLGOCNKEKPEEAA.bertietf@bwijnen.net>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook IMO, Build 9.0.6604 (9.0.2911.0)
In-Reply-To: <477E2025.7020308@andybierman.com>
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198
Importance: Normal
X-Spam-Score: 0.0 (/)
X-Scan-Signature: fb6060cb60c0cea16e3f7219e40a0a81
Cc: yang@ietf.org
X-BeenThere: yang@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: YANG modeling Language for NETCONF <yang.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/yang>, <mailto:yang-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/yang>
List-Post: <mailto:yang@ietf.org>
List-Help: <mailto:yang-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/yang>, <mailto:yang-request@ietf.org?subject=subscribe>
Errors-To: yang-bounces@ietf.org

> Balazs Lengyel wrote:
> > While the use of many naming-scopes is understandable for the compiler
> > is it easy to understand for the reader ? IMHO no.
>
To which Andy responded:

> That is my concern as well.
>
> As in any engineering decision, we have to weigh the trade-offs.
> How much overall value is lost by forcing DM writers to
> maintain one set of identifiers (using up some of the 63 chars
> of minimum uniqueness), vs. the confusion of having the same
> identifier value mean many different things, even within the same file.
>

If the language can accept and easily handle it, then maybe we should
allow it to do so and not create CLRs.
A good and smart data-model-developer would/should still do the right
thing and make things as clear as possible for the user/reader of the
data-model. That means that one uses a style of definitions that is
obvious and clear and so would not cause confusion.

It is similar to using all sorts of short abbreviations/acronyms in names
of variables and such versus spelling out a longer name. The longer name
will make it much more readable/understandable for the new person who
read the module for the first time. That does not mean we must pre-scribe
that short-names/acronyms are not allowed.

>
> > I like Andy's proposal.

So I like the underlying reasons, but I am not sure we have to enforce it
in the langauge.

Bert
> > Balazs
>
> Andy
>
>
> >
> > Phil Shafer wrote:
> >> Andy Bierman writes:
> >>> Yes, of course one naming scope (the term namespace is taken)
> >>> amongst siblings, except nested typedef and grouping names
> >>> cannot mask similar definitions within an ancestor node,
> >>> or globally within the same module.  (This part already in the draft.)
> >>
> >> Isn't this dancing on the line of CLR?  Where's the logic of saying
> >> "don't do that" when there's really no ambiguity?  If I say "leaf foo
> >> { .. } typedef foo { .. }", my use of "type foo" is clear.
> >> Is there a situation where isn't not clear to the compiler
> >> what is meant?  Are we trying to get the compiler to enforce
> >> style rules when the language proper doesn't require them?
> >>
> >> Thanks,
> >>  Phil
> >>
> >>
> >> _______________________________________________
> >> YANG mailing list
> >> YANG@ietf.org
> >> https://www1.ietf.org/mailman/listinfo/yang
> >
>
>
>
> _______________________________________________
> YANG mailing list
> YANG@ietf.org
> https://www1.ietf.org/mailman/listinfo/yang
>



_______________________________________________
YANG mailing list
YANG@ietf.org
https://www1.ietf.org/mailman/listinfo/yang