Multidimensional ProgrammingThis book describes a powerful language for multidimensional declarative programming called Lucid. Lucid has evolved considerably in the past ten years. The main catalyst for this metamorphosis was the discovery that Lucid is based on intensional logic, one commonly used in studying natural languages. Intensionality, and more specifically indexicality, has enabled Lucid to implicitly express multidimensional objects that change, a fundamental capability with several consequences which are explored in this book. The author covers a broad range of topics, from foundations to applications, and from implementations to implications. The role of intensional logic in Lucid as well as its consequences for programming in general is discussed. The syntax and mathematical semantics of the language are given and its ability to be used as a formal system for transformation and verification is presented. The use of Lucid in both multidimensional applications programming and software systems construction (such as a parallel programming system and a visual programming system) is described. A novel model of multidimensional computation--education--is described along with its serendipitous practical benefits for harnessing parallelism and tolerating faults. As the only volume that reflects the advances over the past decade, this work will be of great interest to researchers and advanced students involved with declarative language systems and programming. |
Other editions - View all
Common terms and phrases
abstract architecture abstract program architecture algorithm analysis application argument arities atom attribute grammars audit record avg(s Calling Rule cell Chapter clause component consider context time=T-1 corresponding declarative defined definition demand demand-driven denotational semantics dimension names eductive evaluator elements equation example execution expression extensional fault tolerance fby.d fby.t fby.time firstOfPair.u(Y formal dimensions formal parameter forms of parallelism free occurrences given GLU program Horn logic implementation input integers intension intensional computing model intensional logic intensional model intensional programming ISWIM iteration logic programming Lucid programs matrix multiplication meaning merge n-tuple natural numbers next.time nulladic variables parallel computers point in dimension pointwise problem program transformation programming language ray tracing realign recursion referential transparency result Rulebase running sums runningSum sequence sequential simultaneously sorted spreadsheet structure temporal parallelism time=T timepoints tion tournament transformation true u-sequence usage count variable value vary in dimension