FunTAL: Reasonably Mixing a Functional Language with Assembly
release_dk3elukcpjh6lhygked5x266ki
by
Daniel Patterson, Jamie Perconti, Christos Dimoulas, Amal Ahmed
2017
Abstract
We present FunTAL, the first multi-language system to formalize safe
interoperability between a high-level functional language and low-level
assembly code while supporting compositional reasoning about the mix. A central
challenge in developing such a multi-language is bridging the gap between
assembly, which is staged into jumps to continuations, and high-level code,
where subterms return a result. We present a compositional stack-based typed
assembly language that supports components, comprised of one or more basic
blocks, that may be embedded in high-level contexts. We also present a logical
relation for FunTAL that supports reasoning about equivalence of high-level
components and their assembly replacements, mixed-language programs with
callbacks between languages, and assembly components comprised of different
numbers of basic blocks.
In text/plain
format
Archived Files and Locations
application/pdf 1.3 MB
file_gghzezhccfg7vkxxiylkkwly6e
|
arxiv.org (repository) web.archive.org (webarchive) |
1711.03871v1
access all versions, variants, and formats of this works (eg, pre-prints)