2005
DOI: 10.1017/s0956796805005757
|View full text |Cite
|
Sign up to set email alerts
|

A reflective functional language for hardware design and theorem proving

Abstract: This paper introduces reFL ect , a functional programming language with reflection features intended for applications in hardware design and verification. The reFL ect 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 reFL ect 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 t… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
72
0
1

Year Published

2006
2006
2018
2018

Publication Types

Select...
5
3

Relationship

2
6

Authors

Journals

citations
Cited by 50 publications
(73 citation statements)
references
References 33 publications
0
72
0
1
Order By: Relevance
“…Forte is essentially a programming environment based around the reFL ect functional programming language [9], and large-scale STE verification efforts are to a great degree a programming (or scripting) activity in nature. STE model checking is invoked through reFL ect library function calls, and trajectory assertions for verification (lists of 5-tuples) are generated by writing functional programs that compute them.…”
Section: Methodsmentioning
confidence: 99%
See 2 more Smart Citations
“…Forte is essentially a programming environment based around the reFL ect functional programming language [9], and large-scale STE verification efforts are to a great degree a programming (or scripting) activity in nature. STE model checking is invoked through reFL ect library function calls, and trajectory assertions for verification (lists of 5-tuples) are generated by writing functional programs that compute them.…”
Section: Methodsmentioning
confidence: 99%
“…The Forte implementation of STE is embedded in a functional programming language, reFL ect [9], similar to ML. STE antecedents are represented by lists of 5-tuples of the form (guard , node, value, start, end ) where guard and value are formulas of propositional logic (represented as BDDs), node is a node name (a string), and start and end are non-negative integers.…”
Section: The 5-tuple Representation Of Antecedentsmentioning
confidence: 99%
See 1 more Smart Citation
“…Our work builds on a long tradition of using functional programming languages to describe hardware circuits, such as Ruby [12], Lava [2], Hawk [14], HML [18], Hydra [23], reFLect [9]. However, none of these languages provide the kind of manifest interfaces (static types) discussed above.…”
Section: Related Workmentioning
confidence: 99%
“…This typing statically ensures that dynamically generated programs are type-safe, but excludes some functions that destruct or traverse the structure of expressions. Other approaches [20,8,22] assign the same type cod to all quoted expressions, performing their type checking at run-time. Such languages make a tradeoff between static and dynamic typing.…”
Section: Introductionmentioning
confidence: 99%