ACM Logo





Invitation
  • Send a Comment
  • Submit an Article
  • Subscribe


    Archives
  • Interviews
  • Views
  • Book Excerpts
  • Ubiquity - The ACM IT Magazine and Forum



    KITE

    by Garth Wolfendale Enterprise Architect MCS, PacWest, USA



    RESOLUTION OF PROGRAMMING AND DATA DISTINCTION

    We currently separate programmatic/configuration/application data from coding. For example, XML is the de facto standard for defining and implementing data and we choose our coding languages as C, C++, C#, Java etc. Prolog, a declarative, clausal language can do both. In fact There is a simple 1-1 conversion from XML to Prolog. e.g.

    <X>

    <X1> .....</X1>
    <X2>
    <X3> ..... <X/3>
    <X/2>
    </X>

    Readily translates to :-

    x:-

    x1,
    x2.
    x1:-
    .....
    x2:-
    x3.
    X3:-
    .....

    However the latter is active and not only defines the data but how it can be processed .. also providing for backtracking and multiple entry points or 'goals'. Also there are many efficient implementations of Prolog based on interpreters and compilers. In this way there is no real distinction between data and programs .. they are one entity .. The data not only defines itself, but also provides the various ways of processing it in the same 'package'. This model is compatible with any application platform (Java, .NET etc.) and Prolog itself is compatible with traditional Functional, OO and/or SOA models implementing its predicates.

    Just a Thought.

    Source: Ubiquity Volume 7 Issue 05 February 6 -February 13, 2006) www.acm.org/ubiquity



    Forum
    Printer Friendly Version




    [Home]   [About Ubiquity]   [The Editors]  


    Ubiquity welcomes the submissions of articles from everyone interested in the future of information technology. Everything published in Ubiquity is copyrighted ©2006 by the ACM and the individual authors.