Effective meta-programming in declarative languages (BL)

Bewaard in:
Bibliografische gegevens
Gepubliceerd in:PQDT - UK & Ireland (1998)
Hoofdauteur: Bowers, A.F.
Gepubliceerd in:
ProQuest Dissertations & Theses
Onderwerpen:
Online toegang:Citation/Abstract
Full text outside of ProQuest
Tags: Voeg label toe
Geen labels, Wees de eerste die dit record labelt!

MARC

LEADER 00000nab a2200000uu 4500
001 301557881
003 UK-CbPIL
035 |a 301557881 
045 0 |b d19980101 
084 |a 101309  |2 nlm 
100 1 |a Bowers, A.F. 
245 1 |a Effective meta-programming in declarative languages (BL) 
260 |b ProQuest Dissertations & Theses  |c 1998 
513 |a Dissertation/Thesis 
520 3 |a Declarative meta-programming is vital, since it is the most promising means by which programs can be made to reason about other programs. A meta-program is a program that takes another program, called the object program, as data. A declarative programming language is a programming language based on a logic that has a model theory.A meta-program operates on a representation of an object program. In a non-ground representation, object-level variables are represented by meta-variables; in a ground representation, object-level variables are represented by ground terms. The non-ground representation is insufficiently expressive for most meta-programming tasks. The ground representation is adequately expressive, but meta-programs are complex and laborious to write, and the overhead of interpretation is excessive.Gödel is a declarative programming language based on first-order logic. It has types and modules, improves on the expressiveness and declarative semantics of Prolog, and provides extensive support for meta-programming in the ground representation.This thesis contributes to the design of Gödel's meta-programming facilities, and investigates the techniques required to make declarative meta-programming practical. The presentation of Gödel object programs as ground terms is described. Library modules and abstract types eliminate much of the labour and complexity of meta-programming. An analysis of the sources of interpretation overhead is conducted, and an idiom for the construction of potentially efficient interpreters is developed. Carefully designed interpreters are improved significantly by a basic partial evaluator, but not all interpreter designs are susceptible. Experiments suggest that specialised interpreters can be improved still further by specific low-level mechanisms. SLDQE-resolution, a novel computational model for the compilation of programs containing universally quantified implication formulas, is also presented.The problem of providing a language for declarative meta-programming that is both adequately expressive and efficiently executable is not completely solved, but this work demonstrates that the possibilities of a simple ground representation deserve to be taken seriously. 
653 |a Computer science 
773 0 |t PQDT - UK & Ireland  |g (1998) 
786 0 |d ProQuest  |t ProQuest Dissertations & Theses Global 
856 4 1 |3 Citation/Abstract  |u https://www.proquest.com/docview/301557881/abstract/embedded/H09TXR3UUZB2ISDL?source=fedsrch 
856 4 0 |3 Full text outside of ProQuest  |u http://www.theses.com/idx/registered_users/etd/6a.asp