Effective meta-programming in declarative languages (BL)
Bewaard in:
| Gepubliceerd in: | PQDT - UK & Ireland (1998) |
|---|---|
| Hoofdauteur: | |
| Gepubliceerd in: |
ProQuest Dissertations & Theses
|
| Onderwerpen: | |
| Online toegang: | Citation/Abstract Full text outside of ProQuest |
| Tags: |
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 |