Re: How does XML limit "the range of implementation decisions that must be automatically made"?

Roger L Costello <[email protected]>
Newsgroups gmane.text.xml.devel
Message-ID <SA9PR09MB59521593799592467DFF8B88C8B59@SA9PR09MB5952.namprd09.prod.outlook.com>
Michael Kay wrote:

> Nonprocedural programming is most successful in domains 
> such as database query (SQL) where there's a vast range of 
> implementation decisions to be made (query execution plans), 
> and choosing the right one is best done by a machine rather 
> than a human.

That is terrific! 

I realize that XML is not programming, but it is nonprocedural (declarative). And it's successful. Michael, how does what you say apply to XML? Where in XML is there a "vast range of decisions to be made, and choosing the right one is best done by machine rather than a human"? 

More generally, is a key property of a declarative language that it has a "vast range of decisions to be made, and choosing the right one is best done by machine rather than a human"?

/Roger

-----Original Message-----
From: Michael Kay <[email protected]> 
Sent: Thursday, June 23, 2022 7:17 AM
To: Roger L Costello <[email protected]>
Cc: [email protected]
Subject: [EXT] Re: [xml-dev] How does XML limit "the range of implementation decisions that must be automatically made"?

The domain he's referring to is not XML, but what he calls "scanning" (probably meaning here lexical analysis).

I actually think he's wrong. Nonprocedural programming is most successful in domains such as database query (SQL) where there's a vast range of implementation decisions to be made (query execution plans), and choosing the right one is best done by a machine rather than a human.

Michael Kay
Saxonica

> On 23 Jun 2022, at 11:45, Roger L Costello <[email protected]> wrote:
> 
> Hi Folks,
> 
> A book [1] that I am reading says something interesting about declarative languages (such as XML):
> 
> Programming a scanner generator is an example of nonprocedural programming [i.e., declarative programming]. That is, unlike ordinary programming, which we call procedural, we do not tell a scanner generator "how" to scan but simply "what" we want scanned. This is a higher-level approach and in many ways a more natural one. ... Nonprocedural programming is most successful in limited domains, such as scanning, where the range of implementation decisions that must be automatically made is limited.
> 
> That last sentence is interesting. I wonder how it applies to XML? XML is in a limited domain, right? XML's domain is the data formats domain, right? How is "the range of implementation decisions that must be automatically made" limited in XML?
> 
> /Roger
> 
> [1] "Crafting a Compiler with C" by Fischer and LeBlanc, p. 52
> 
> _______________________________________________________________________
> 
> XML-DEV is a publicly archived, unmoderated list hosted by OASIS
> to support XML implementation and development. To minimize
> spam in the archives, you must subscribe before posting.
> 
> [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
> Or unsubscribe: [email protected]
> subscribe: [email protected]
> List archive: http://lists.xml.org/archives/xml-dev/
> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
> 

_______________________________________________________________________

XML-DEV is a publicly archived, unmoderated list hosted by OASIS
to support XML implementation and development. To minimize
spam in the archives, you must subscribe before posting.

[Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
Or unsubscribe: [email protected]
subscribe: [email protected]
List archive: http://lists.xml.org/archives/xml-dev/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.