The University of Southampton
University of Southampton Institutional Repository

Lix: An Effective Self-applicable Partial Evaluator for Prolog

Lix: An Effective Self-applicable Partial Evaluator for Prolog
Lix: An Effective Self-applicable Partial Evaluator for Prolog
This paper presents a self-applicable partial evaluator for a considerable subset of full Prolog. The partial evaluator is shown to achieve non-trivial specialisation and be effectively self-applied. The attempts to self-apply partial evaluators for logic programs have, of yet, not been all that successful. Compared to earlier attempts, our LIX system is practically usable in terms of efficiency and can handle natural logic programming examples with partially static data structures, built-ins, side-effects, and some higher-order and meta-level features such as call and findall. The LIX system is derived from the development of the LOGEN compiler generator system. It achieves a similar kind of efficiency and specialisation, but can be used for other applications. Notably, we show first attempts at using the system for deforestation and tupling in an offline fashion. We will demonstrate that, contrary to earlier beliefs, declarativeness and the use of the ground representation is not the best way to achieve self-applicable partial evaluators.
Partial Evaluation, Self-application, Logic Programming, Partial Deduction, Deforestation, Tupling
85-99
Craig, Stephen-John
70e3474a-2043-482f-9e1c-27f68e9aba16
Leuschel, Michael
c2c18572-66cf-4f84-ade4-218ce3afe78b
Kameyama, Yukiyoshi
7716f7c6-33dd-4bf9-8ff9-c351896891c9
Stuckey, Peter J.
42a9618f-a635-4264-b295-2aba6695ccf5
Craig, Stephen-John
70e3474a-2043-482f-9e1c-27f68e9aba16
Leuschel, Michael
c2c18572-66cf-4f84-ade4-218ce3afe78b
Kameyama, Yukiyoshi
7716f7c6-33dd-4bf9-8ff9-c351896891c9
Stuckey, Peter J.
42a9618f-a635-4264-b295-2aba6695ccf5

Craig, Stephen-John and Leuschel, Michael (2004) Lix: An Effective Self-applicable Partial Evaluator for Prolog. Kameyama, Yukiyoshi and Stuckey, Peter J. (eds.) Functional and Logic Programming: 7th International Symposium, FLOPS 2004, Japan. 07 - 09 Apr 2004. pp. 85-99 .

Record type: Conference or Workshop Item (Paper)

Abstract

This paper presents a self-applicable partial evaluator for a considerable subset of full Prolog. The partial evaluator is shown to achieve non-trivial specialisation and be effectively self-applied. The attempts to self-apply partial evaluators for logic programs have, of yet, not been all that successful. Compared to earlier attempts, our LIX system is practically usable in terms of efficiency and can handle natural logic programming examples with partially static data structures, built-ins, side-effects, and some higher-order and meta-level features such as call and findall. The LIX system is derived from the development of the LOGEN compiler generator system. It achieves a similar kind of efficiency and specialisation, but can be used for other applications. Notably, we show first attempts at using the system for deforestation and tupling in an offline fashion. We will demonstrate that, contrary to earlier beliefs, declarativeness and the use of the ground representation is not the best way to achieve self-applicable partial evaluators.

Text
lix.pdf - Other
Download (186kB)

More information

Published date: 2004
Additional Information: Event Dates: April 7-9, 2004
Venue - Dates: Functional and Logic Programming: 7th International Symposium, FLOPS 2004, Japan, 2004-04-07 - 2004-04-09
Keywords: Partial Evaluation, Self-application, Logic Programming, Partial Deduction, Deforestation, Tupling
Organisations: Electronics & Computer Science

Identifiers

Local EPrints ID: 259488
URI: http://eprints.soton.ac.uk/id/eprint/259488
PURE UUID: f3b153f1-7c22-4eda-b17f-db5faf730542

Catalogue record

Date deposited: 28 Jun 2004
Last modified: 19 Jul 2019 22:40

Export record

Download statistics

Downloads from ePrints over the past year. Other digital versions may also be available to download e.g. from the publisher's website.

View more statistics

Atom RSS 1.0 RSS 2.0

Contact ePrints Soton: eprints@soton.ac.uk

ePrints Soton supports OAI 2.0 with a base URL of http://eprints.soton.ac.uk/cgi/oai2

This repository has been built using EPrints software, developed at the University of Southampton, but available to everyone to use.

We use cookies to ensure that we give you the best experience on our website. If you continue without changing your settings, we will assume that you are happy to receive cookies on the University of Southampton website.

×