ECLi PSe - Language

Language

The ECLiPSe language is largely backward-compatible with Prolog and supports different dialects. Thanks to its declarative nature, it can be used both as a modelling language for the description of problems and as a general purpose programming language.

Beyond the basic Prolog data types, the following are available: strings, unlimited precision integer and rational numbers, and floating point intervals. Array syntax and structures with field names are also supported and especially useful in constraint modelling.

A logical iteration construct eliminates the need for most simple recursion patterns.

ECLiPSe provides comprehensive facilities to implement data-driven control behaviour. These include declarative delay-clauses as well as primitives for meta-programmed control like explicit goal suspension, flexible triggering facilities and execution priorities. Together with the attributed variable data type, this is the key to many extensions to the basic logic programming language, including all constraint-based functionality. The system calls user-definable event handlers when it encounters attri­bu­ted variables in certain contexts, e.g. unifi­ca­tion.

The module system controls the visibility of predicates, non-logical stores, source trans­formations and syntax settings. Module interfaces can be extended and restricted, and modules written in different language dialects can be mixed within one application.

Programs may contain structured comments from which reference documentation can be generated.

Read more about this topic:  ECLi PSe

Famous quotes containing the word language:

    “Man acts as though he were the shaper and master of language, while in fact language remains the master of man.”
    —Martin Heidegger (1889–1976)

    “Any language is necessarily a finite system applied with different degrees of creativity to an infinite variety of situations, and most of the words and phrases we use are “prefabricated” in the sense that we don’t coin new ones every time we speak.”
    —David Lodge (b. 1935)

    “Theoretically, I grant you, there is no possibility of error in necessary reasoning. But to speak thus “theoretically,” is to use language in a Pickwickian sense. In practice, and in fact, mathematics is not exempt from that liability to error that affects everything that man does.”
    —Charles Sanders Peirce (1839–1914)