The design and implementation of a multiparadigm programming language.

by Chi-keung Luk. === Thesis (M.Phil.)--Chinese University of Hong Kong, 1993. === Includes bibliographical references (leaves 169-174). === Preface --- p.xi === Chapter 1 --- Introduction --- p.1 === Chapter 1.1 --- Programming Languages --- p.2 === Chapter 1.2 --- Programming Paradigms --- p.2...

Full description

Bibliographic Details
Other Authors: Luk, Chi-keung.
Format: Others
Language:English
Published: Chinese University of Hong Kong 1993
Subjects:
Online Access:http://library.cuhk.edu.hk/record=b5887766
http://repository.lib.cuhk.edu.hk/en/item/cuhk-319173
Description
Summary:by Chi-keung Luk. === Thesis (M.Phil.)--Chinese University of Hong Kong, 1993. === Includes bibliographical references (leaves 169-174). === Preface --- p.xi === Chapter 1 --- Introduction --- p.1 === Chapter 1.1 --- Programming Languages --- p.2 === Chapter 1.2 --- Programming Paradigms --- p.2 === Chapter 1.2.1 --- What is a programming paradigm --- p.2 === Chapter 1.2.2 --- Which came first? Languages or paradigms? --- p.2 === Chapter 1.2.3 --- Overview of some paradigms --- p.4 === Chapter 1.2.4 --- A spectrum of paradigms --- p.6 === Chapter 1.2.5 --- Mulitparadigm systems --- p.7 === Chapter 1.3 --- The Objectives of this research --- p.8 === Chapter 2 --- "Studies of the object-oriented, the logic and the functional paradigms" --- p.10 === Chapter 2.1 --- The Object-Oriented Paradigm --- p.10 === Chapter 2.1.1 --- Basic components --- p.10 === Chapter 2.1.2 --- Motivations --- p.11 === Chapter 2.1.3 --- Some related issues --- p.12 === Chapter 2.1.4 --- Computational models for object-oriented programming --- p.16 === Chapter 2.2 --- The Functional Paradigm --- p.18 === Chapter 2.2.1 --- Basic concepts --- p.18 === Chapter 2.2.2 --- Lambda calculus --- p.20 === Chapter 2.2.3 --- The characteristics of functional programs --- p.21 === Chapter 2.2.4 --- Practicality of functional programming --- p.25 === Chapter 2.3 --- The Logic Paradigm --- p.28 === Chapter 2.3.1 --- Relations --- p.28 === Chapter 2.3.2 --- Logic programs --- p.29 === Chapter 2.3.3 --- The opportunity for parallelism --- p.30 === Chapter 2.4 --- Summary --- p.31 === Chapter 3 --- A survey of some existing multiparadigm languages --- p.32 === Chapter 3.1 --- Logic + Object-Oriented --- p.33 === Chapter 3.1.1 --- LogiC++ --- p.33 === Chapter 3.1.2 --- Intermission --- p.34 === Chapter 3.1.3 --- Object-Oriented Programming in Prolog (OOPP) --- p.36 === Chapter 3.1.4 --- Communication Prolog Unit (CPU) --- p.37 === Chapter 3.1.5 --- DLP --- p.37 === Chapter 3.1.6 --- Representing Objects in a Logic Programming Language with Scoping Constructs (OLPSC) --- p.39 === Chapter 3.1.7 --- KSL/Logic --- p.40 === Chapter 3.1.8 --- Orient84/K --- p.41 === Chapter 3.1.9 --- Vulcan --- p.42 === Chapter 3.1.10 --- The Bridge approach --- p.43 === Chapter 3.1.11 --- Discussion --- p.44 === Chapter 3.2 --- Functional + Object-Oriented --- p.46 === Chapter 3.2.1 --- PROOF --- p.46 === Chapter 3.2.2 --- A Functional Language with Classes (FLC) --- p.47 === Chapter 3.2.3 --- Common Lisp Object System (CLOS) --- p.49 === Chapter 3.2.4 --- FOOPS --- p.50 === Chapter 3.2.5 --- Discussion --- p.51 === Chapter 3.3 --- Logic + Functional --- p.52 === Chapter 3.3.1 --- HOPE --- p.52 === Chapter 3.3.2 --- FUNLOG --- p.54 === Chapter 3.3.3 --- F* --- p.55 === Chapter 3.3.4 --- LEAF --- p.56 === Chapter 3.3.5 --- Applog --- p.57 === Chapter 3.3.6 --- Discussion --- p.58 === Chapter 3.4 --- Logic + Functional + Object-Oriented --- p.61 === Chapter 3.4.1 --- Paradise --- p.61 === Chapter 3.4.2 --- LIFE --- p.62 === Chapter 3.4.3 --- UNIFORM --- p.63 === Chapter 3.4.4 --- G --- p.64 === Chapter 3.4.5 --- FOOPlog --- p.66 === Chapter 3.4.6 --- Logic and Objects (L&O) --- p.66 === Chapter 3.4.7 --- Discussion --- p.67 === Chapter 4 --- The design of a multiparadigm language I --- p.70 === Chapter 4.1 --- An Object-Oriented Framework --- p.71 === Chapter 4.1.1 --- A hierarchy of classes --- p.71 === Chapter 4.1.2 --- Program structure --- p.71 === Chapter 4.1.3 --- Parametric classes --- p.72 === Chapter 4.1.4 --- Inheritance --- p.73 === Chapter 4.1.5 --- The meanings of classes and methods --- p.75 === Chapter 4.1.6 --- Objects and messages --- p.75 === Chapter 4.2 --- The logic Subclasses --- p.76 === Chapter 4.2.1 --- Syntax --- p.76 === Chapter 4.2.2 --- Distributed inference --- p.76 === Chapter 4.2.3 --- Adding functions and expressions to logic programs --- p.77 === Chapter 4.2.4 --- State modelling --- p.79 === Chapter 4.3 --- The functional Subclasses --- p.80 === Chapter 4.3.1 --- The syntax of functions --- p.80 === Chapter 4.3.2 --- Abstract data types --- p.81 === Chapter 4.3.3 --- Augmented list comprehensions --- p.82 === Chapter 4.4 --- The Semantic Foundation of I Programs --- p.84 === Chapter 4.4.1 --- T1* : Transform functions into Horn clauses --- p.84 === Chapter 4.4.2 --- T2*: Transform object-oriented features into pure logic --- p.85 === Chapter 4.5 --- Exploiting Parallelism in I Programs --- p.89 === Chapter 4.5.1 --- Inter-object parallelism --- p.89 === Chapter 4.5.2 --- Intra-object parallelism --- p.92 === Chapter 4.6 --- Discussion --- p.96 === Chapter 5 --- An implementation of a prototype of I --- p.99 === Chapter 5.1 --- System Overview --- p.99 === Chapter 5.2 --- I-to-Prolog Translation --- p.101 === Chapter 5.2.1 --- Pass 1 - lexical and syntax analysis --- p.101 === Chapter 5.2.2 --- Pass 2 - Class Table Construction and Semantic Checking --- p.101 === Chapter 5.2.3 --- Pass 3 - Determination of Multiple Inheritance Precedence --- p.105 === Chapter 5.2.4 --- Pass 4 - Translation of the directive part --- p.110 === Chapter 5.2.5 --- Pass 5 - Creation of Prolog source code for an I object --- p.110 === Chapter 5.2.6 --- Using expressions in logic methods --- p.112 === Chapter 5.3 --- I-to-LML Translation --- p.114 === Chapter 5.4 --- The Run-time Handler --- p.117 === Chapter 5.4.1 --- Object Management --- p.118 === Chapter 5.4.2 --- Process Management and Message Passing --- p.121 === Chapter 6 --- Some applications written in I --- p.125 === Chapter 6.1 --- Modeling of a State Space Search --- p.125 === Chapter 6.2 --- A Solution to the N-queen Problem --- p.129 === Chapter 6.3 --- Object-Oriented Modeling of a Database --- p.131 === Chapter 6.4 --- A Simple Expert System --- p.133 === Chapter 6.5 --- Summary --- p.138 === Chapter 7 --- Conclusion and future work --- p.139 === Chapter 7.1 --- Conclusion --- p.139 === Chapter 7.2 --- Future Work --- p.141 === Chapter A --- Language manual --- p.146 === Chapter A.1 --- Introduction --- p.146 === Chapter A.2 --- Syntax --- p.146 === Chapter A.2.1 --- The lexical specification --- p.146 === Chapter A.2.2 --- The syntax specification --- p.149 === Chapter A3 --- Classes --- p.152 === Chapter A.4 --- Object Creation and Method Invocation --- p.153 === Chapter A.5 --- The logic Subclasses --- p.155 === Chapter A.6 --- The functional Subclasses --- p.156 === Chapter A.7 --- Types --- p.158 === Chapter A.8 --- Mutable States --- p.158 === Chapter B --- User's guide --- p.160 === Chapter B.1 --- System Calls --- p.160 === Chapter B.2 --- Configuration Parameters --- p.162 === Chapter B.3 --- Errors --- p.163 === Chapter B.4 --- Implementation Limits --- p.164 === Chapter B.5 --- How to install the system --- p.164 === Chapter B.6 --- How to use the system --- p.164 === Chapter B.7 --- How to recompile the system --- p.166 === Chapter B.8 --- Directory arrangement --- p.167 === Chapter C --- List of publications --- p.168 === Bibliography --- p.169