[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Doubts about nested %if in spec file



>>>>> "Rob" == Rob Nagler <nagler@bivio.biz> writes:

Rob> Edward C. Bailey writes:
>> I'd be interested in hearing your reasons for your viewpoint...

Rob> XML is a syntax without semantics.  You can choose any number of
Rob> semantic models, but this means you are inventing something that needs
Rob> to be documented, understood by the RPM community, and more
Rob> importantly, implemented.

Sure.

Rob> There are existing semantic models, e.g. DocBook/XML, XSD, and XHTML.
Rob> But they don't map to anything that makes sense for RPMs.

Sure, which is why this discussion started in the first place...

Rob> Let's take the recent %if discussion.  The %if has invented semantics
Rob> which must be explained.  Is %if nestable?  Are %macros expanded in
Rob> the conditional?  What are the limits to the boolean expressions?
Rob> Think of your favorite interpreted language, do you have those
Rob> questions about "if"?  If you do, just type in "<language> if
Rob> statement semantics" into google.

Or, in the XML world, you review the DTD, or validate your XML spec, and
get a very concrete view into these implementation details... :-)

Rob> When you take an existing language, such as Perl or Python, you get
Rob> syntax *and* semantics.  There is an existing community which probably
Rob> overlaps with the RPM community that understands the syntax and
Rob> semantics.  You also get an interpreter which has been debugged.  The
Rob> language has debuggers, profilers, and libraries.  You have
Rob> syntax-directed editors, books, message boards, etc.

Let me ask you a question -- do you view a spec file as a program, or as
a file containing information (and some code snippets)?  It seems you are
of the former persuasion, while I am of the latter.  That might be a reason
why we don't see eye-to-eye on this... 

Rob> XML is very useful when you have to communicate between heterogeneous
Rob> systems.  It serves no purpose when the system is homogeneous, and
Rob> especially when you are starting from scratch with a new syntax.

I don't buy that.  For one, we can't tell where spec information is going
to pop up.  When I first was exposed to RPM, nobody dreamed that there
would be scripts to extract the spec information and made web pages out of
it.  I'm no fortune teller, but I'm pretty confident that spec information
is guaranteed to end up in unexpected places as time goes on.

For that reason alone, a standardized way of representing that information
is vital, imho...

                                Ed
-- 
Ed Bailey        Red Hat, Inc.          http://www.redhat.com/





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index] []