comp.lang.ada
 help / color / mirror / Atom feed
From: "Bobby D. Bryant" <bdbryant@mail.utexas.edu>
Subject: Re: Config_Files proposal {long}
Date: Sat, 29 Jun 2002 06:17:21 -0600
Date: 2002-06-29T06:17:21-06:00	[thread overview]
Message-ID: <afk8gr$bce$1@geraldo.cc.utexas.edu> (raw)
In-Reply-To: afk460$9f5$1@geraldo.cc.utexas.edu

On Sat, 29 Jun 2002 05:03:17 -0600, Bobby D. Bryant wrote:

> Finally, if I may say so without stepping on any toes, I would
> like to call attention to the curiously "flat" examples that you
> have for the Java and XML sections on your Web page, and the
> emphasis on data types rather than on semantics.

After taking my morning walk I think I can elaborate on this
usefully.

First, regarding the "flatness" of some of the examples.  Notice
that the apparent depth of the Java and XML examples arises from the
fact that you have given the path names through the Ada package
hierarchy to the Ada type definitions as "structure" in the config
file.  But if you replaced those path names with aliases and then
used those aliases in your config file, it would immediately become
apparent that in those two examples the data is just a flat list of
{type, name, value} tuples (with a huge pile of useless syntax
thrown in for the XML implementation, to boot).

Compare that to the X example, where the nesting in the config file
actually represents some structure in the data.

Sure, you *could* represent the X data as a flat list, but
presumably it is intended to be isomorphic to some nested data
structure that has nested meaning in the actual program.  In fact
Ada will let you nest record structures to an (ideally) unbounded
depth, and in practice I do find myself going several layers deep
from time to time.  And for ease of comprehension I think it
important to represent nested structures as nested structures in the
config file.

Accordingly, please consider changing -

"15. At least one layer of key hierarchy is supported."

with -

"15. At unbounded depth of key hierarchy is supported."



Also, if you want people to look at the examples on your Web page to
help them decide which syntactic system is best for the job, then I
would think that the following would be absolutely essential -

(a) Level the playing field:  Each example needs to specify
identical data.

(b) Raise the bar:  For the examples, use the most demanding example
rather than a simpler one.   (Solicit to see what people feel that
config files must support, and use that feedback to construct a
'wicked' example.)

I suspect you will find that if you level the playing field and
raise the bar, some suggested syntaxes will rule themselves out
immediately.  Also, by working with a 'wicked' example you can
ensure that we're not here revisiting the syntax question again in
2-3 years when people discover that the standard only supports the
most rudimentary data representation problems and does not actually
meet the requirements of complex programs.


Notice that I'm not commenting on the specification of data types in
the config file.  If that's necessary or desirable then it should be
done, but it should be an "also" added to the structured
representation of structured data, not an "instead of".  The key,
IMO, is to get the representation of the structured data right,
after which type-tagging should be a relatively minor detail.

When I say "structured data" I mean, minimally, support for records,
iterative structures (arrays or lists, possibly with identical
representation in the config file), 2-D tables, etc., including
unbounded nesting of structures.

later,

Bobby Bryant
Austin, Texas

p.s. - Wandering yet farther from my main point...  For arrays it
would be nice if the API had a function call that would let your
proram peek to see how long an array was in the config file,
so that you could peek, allocate the array, and then load it, with
two calls to the API and a "new" statement in between.  For lists,
there needs to be some mechanism for easily saying "OK, now give me
the next one."



  reply	other threads:[~2002-06-29 12:17 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-06-18 17:07 Config_Files proposal Stephen Leake
2002-06-18 21:55 ` Darren New
2002-06-19 16:11   ` Stephen Leake
2002-06-19 16:51     ` Darren New
2002-06-19 18:39       ` Stephen Leake
2002-06-19 19:48         ` Darren New
2002-06-20 14:03           ` Stephen Leake
2002-06-20 16:36             ` Darren New
2002-06-20 17:49               ` Jacob Sparre Andersen
2002-06-20 20:00                 ` Stephen Leake
2002-06-20 20:16                   ` Darren New
2002-06-20 20:45                     ` Stephen Leake
2002-06-21  2:06                     ` Ted Dennison
2002-06-21 12:55                       ` Marin David Condic
2002-06-24 13:20                         ` Stephen Leake
2002-06-21 15:29                       ` Darren New
2002-06-24 13:16                         ` Stephen Leake
2002-06-24 15:06                           ` Darren New
2002-06-24 17:09                             ` Stephen Leake
2002-06-24 17:57                               ` Darren New
2002-06-24 18:53                                 ` Stephen Leake
2002-06-24 21:24                                   ` Darren New
2002-06-29  3:15                                   ` Ted Dennison
2002-06-28 23:21                           ` Randy Brukardt
2002-06-29  3:01                             ` Ted Dennison
2002-07-01 20:58                               ` Randy Brukardt
2002-07-02  0:31                                 ` Ted Dennison
2002-07-02  4:43                                   ` Randy Brukardt
2002-07-05 21:51                                     ` Robert I. Eachus
2002-06-20 19:54               ` Stephen Leake
2002-06-19  6:53 ` Dr. Michael Paus
2002-06-19 15:18   ` Ted Dennison
2002-06-19 15:08 ` Ted Dennison
2002-06-19 16:18   ` Robert I. Eachus
2002-06-19 16:53     ` Darren New
2002-06-19 18:22       ` Stephen Leake
2002-06-20 13:12         ` Marin David Condic
2002-06-24 13:09           ` Stephen Leake
2002-06-24 15:08             ` Darren New
2002-06-24 17:13               ` Stephen Leake
2002-06-24 17:59                 ` Darren New
2002-06-24 19:04                   ` Stephen Leake
2002-06-24 21:29                     ` Darren New
2002-06-25 12:52                     ` Georg Bauhaus
2002-06-25 12:45                 ` Georg Bauhaus
2002-06-19 21:32       ` Georg Bauhaus
2002-06-19 18:20     ` Stephen Leake
2002-06-21 20:04       ` Robert I. Eachus
2002-06-24 13:39         ` Stephen Leake
2002-06-19 16:48   ` Marin David Condic
2002-06-20 13:04     ` Georg Bauhaus
2002-06-20 13:53       ` Marin David Condic
2002-06-20 14:19     ` Stephen Leake
2002-06-20 15:37     ` Ted Dennison
2002-06-19 18:15   ` Stephen Leake
2002-06-20  1:35     ` Ted Dennison
2002-06-20 14:10       ` Stephen Leake
2002-06-20 20:50         ` Jacob Sparre Andersen
2002-06-20 20:58           ` Stephen Leake
2002-06-21  2:21           ` Ted Dennison
2002-06-24 13:22             ` Stephen Leake
2002-06-20  1:37     ` Ted Dennison
2002-06-29 11:03 ` Config_Files proposal {long} Bobby D. Bryant
2002-06-29 12:17   ` Bobby D. Bryant [this message]
2002-06-29 13:07   ` Mark Biggar
2002-07-03 14:10   ` Georg Bauhaus
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox