OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Markup language designers - How does one find or determine thebasic/core set of markup combinators?

Hi Folks,

When designing a new markup language, how does one find or determine the basic/core markup items?


In mathematics one identifies a small, simple set of axioms that everyone can agree are obviously true. For example, one commonly used axiom is the commutative law: a + b = b + a. The axioms are combined in various ways to create new truths (i.e., theorems). My mathematician friend tells me that the universe of truths (theorems) that can be derived depends on the starting axioms.

In functional programming one identifies a small, simple set of combinators (functions) that are combined in various ways to create new combinators.

Simon Peyton Jones identifies these characteristics of basic/core combinators [1]:
-      Each combinator is independently useful.
-      Each embodies a distinct piece of functionality. This simplifies their semantics and enriches the algebra of composition.

Simon Peyton Jones says this about the process of identifying a set of basic/core combinators: "The [basic/core] combinators ... are the result of an extended, iterative process of refinement, leading to an interlocking set of decisions -- programming language designers will be quite familiar with this process."

In designing a markup language one identifies a set of elements and attributes that are to be combined in various ways. Consider one markup language -- XML Schema. It contains element and attribute declarations and simpleType and complexType definitions that are combined in various ways to create definitions of valid XML instances. Consider another markup language -- RELAX NG. It contains a different set of basic/core elements and attributes. How did the creators of XML Schema and RELAX NG come up with their basic/core elements and attributes? When *you* create a new markup language, how do *you* come up with the basic/core elements and attributes? 

Markup language designers -- How do you find or determine the basic/core set of markup combinators?

Finding the "right" set of basic/core axioms or combinators or markup is important. The set determines the universe of things that can be defined, the ease with which things can be defined; and how readily it is adopted.

Do you know a good book or article that describes the *process* of finding or determining the basic/core items in a newly-to-be-created markup language (or the basic/core combinators to be created for a functional program)?


[1] http://www.xfront.com/The-Fun-of-Programming/Chapter6/How-to-write-a-financial-contract.pptx 

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS