A Functional Derivation of the Warren Abstract Machine
Based on Danvy et al.'s functional correspondence, we give a further example of gradual re finement of an interpreter into a known, low-level abstract machine underlying real-world compilers, by deriving an abstract model of the Warren Abstract Machine from a simple resolution-based Prolog inte...
Main Authors: | , |
---|---|
Format: | Journal article |
Published: |
2011
|
_version_ | 1797070462176460800 |
---|---|
author | Pirog, M Gibbons, J |
author_facet | Pirog, M Gibbons, J |
author_sort | Pirog, M |
collection | OXFORD |
description | Based on Danvy et al.'s functional correspondence, we give a further example of gradual re finement of an interpreter into a known, low-level abstract machine underlying real-world compilers, by deriving an abstract model of the Warren Abstract Machine from a simple resolution-based Prolog interpreter. We show that other well-known functional programming techniques (namely, explicit laziness and semi-persistent data structures) can help to develop abstract machines without detailed examination of the semantics realised by the interpreter. |
first_indexed | 2024-03-06T22:39:11Z |
format | Journal article |
id | oxford-uuid:5aee9a95-00f4-49e5-bb23-a2d3ca7d628f |
institution | University of Oxford |
last_indexed | 2024-03-06T22:39:11Z |
publishDate | 2011 |
record_format | dspace |
spelling | oxford-uuid:5aee9a95-00f4-49e5-bb23-a2d3ca7d628f2022-03-26T17:19:03ZA Functional Derivation of the Warren Abstract MachineJournal articlehttp://purl.org/coar/resource_type/c_dcae04bcuuid:5aee9a95-00f4-49e5-bb23-a2d3ca7d628fDepartment of Computer Science2011Pirog, MGibbons, JBased on Danvy et al.'s functional correspondence, we give a further example of gradual re finement of an interpreter into a known, low-level abstract machine underlying real-world compilers, by deriving an abstract model of the Warren Abstract Machine from a simple resolution-based Prolog interpreter. We show that other well-known functional programming techniques (namely, explicit laziness and semi-persistent data structures) can help to develop abstract machines without detailed examination of the semantics realised by the interpreter. |
spellingShingle | Pirog, M Gibbons, J A Functional Derivation of the Warren Abstract Machine |
title | A Functional Derivation of the Warren Abstract Machine |
title_full | A Functional Derivation of the Warren Abstract Machine |
title_fullStr | A Functional Derivation of the Warren Abstract Machine |
title_full_unstemmed | A Functional Derivation of the Warren Abstract Machine |
title_short | A Functional Derivation of the Warren Abstract Machine |
title_sort | functional derivation of the warren abstract machine |
work_keys_str_mv | AT pirogm afunctionalderivationofthewarrenabstractmachine AT gibbonsj afunctionalderivationofthewarrenabstractmachine AT pirogm functionalderivationofthewarrenabstractmachine AT gibbonsj functionalderivationofthewarrenabstractmachine |