Hostname: page-component-586b7cd67f-tf8b9 Total loading time: 0 Render date: 2024-12-05T01:20:18.378Z Has data issue: false hasContentIssue false

A reflective functional language for hardware design and theorem proving

Published online by Cambridge University Press:  28 October 2005

JIM GRUNDY
Affiliation:
Intel Corporation, Strategic CAD Labs Mail Stop JF4-211, 2111 NE 25th Ave, Hillsboro, OR 97124-5961, USA (e-mail: Jim.D.Grundy@intel.com)
TOM MELHAM
Affiliation:
Oxford University, Computing Laboratory Wolfson Building, Parks Rd, Oxford, OX1 3QD, UK (e-mail: Tom.Melham@comlab.ox.ac.uk)
JOHN O'LEARY
Affiliation:
Intel Corporation, Strategic CAD Labs Mail Stop JF4-211, 2111 NE 25th Ave, Hillsboro, OR 97124-5961, USA (e-mail: John.W.O'Leary@intel.com)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the ‘Save PDF’ action button.

This paper introduces reFLect, a functional programming language with reflection features intended for applications in hardware design and verification. The reFLect language is strongly typed and similar to ML, but has quotation and antiquotation constructs. These may be used to construct and decompose expressions in the reFLect language itself. The paper motivates and presents the syntax and type system of this language, which brings together a new combination of pattern-matching and reflection features targeted specifically at our application domain. It also gives an operational semantics based on a novel use of contexts as expression constructors, and it presents a scheme for compiling reFLect programs using the same context mechanism.

Type
Article
Copyright
2005 Cambridge University Press

Footnotes

This paper is dedicated to the memory of our friend and colleague Rob Gerth.
Submit a response

Discussions

No Discussions have been published for this article.