Results 1 -
5 of
5
Tagless Staged Interpreters for Typed Languages
- In the International Conference on Functional Programming (ICFP ’02
, 2002
"... Multi-stage programming languages provide a convenient notation for explicitly staging programs. Staging a definitional interpreter for a domain specific language is one way of deriving an implementation that is both readable and efficient. In an untyped setting, staging an interpreter "removes a co ..."
Abstract
-
Cited by 43 (11 self)
- Add to MetaCart
Multi-stage programming languages provide a convenient notation for explicitly staging programs. Staging a definitional interpreter for a domain specific language is one way of deriving an implementation that is both readable and efficient. In an untyped setting, staging an interpreter "removes a complete layer of interpretive overhead", just like partial evaluation. In a typed setting however, Hindley-Milner type systems do not allow us to exploit typing information in the language being interpreted. In practice, this can have a slowdown cost factor of three or more times.
Resource-Aware Programming
"... Traditional wisdom in programming language design suggests that there is a trade-off between expressive power and static guarantees. We describe ..."
Abstract
-
Cited by 16 (0 self)
- Add to MetaCart
Traditional wisdom in programming language design suggests that there is a trade-off between expressive power and static guarantees. We describe
Program Generation, Termination, and Binding-time Analysis
, 2002
"... Recent research suggests that the goal of fully automatic and reliable program generation for a broad range of applications is coming nearer to feasibility. However, several interesting and challenging problems remain to be solved before it becomes a reality. Solving them is also necessary, if we ho ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
Recent research suggests that the goal of fully automatic and reliable program generation for a broad range of applications is coming nearer to feasibility. However, several interesting and challenging problems remain to be solved before it becomes a reality. Solving them is also necessary, if we hope ever to elevate software engineering from its current state (a highly-developed handiwork) into a successful branch of engineering, capable of solving a wide range of new problems by systematic, well-automated and well-founded methods.
Generating heap-bounded programs in a functional setting
- In EMSOFT
, 2003
"... ? Supported by NSF grants ITR-0113569, CCR-0224244 and CCR-0229480. ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
? Supported by NSF grants ITR-0113569, CCR-0224244 and CCR-0229480.
Preview: An untyped graphical calculus for resource-aware programming
- Rice University
, 2004
"... As visual programming languages become both more expressive and more popular in the domains of real-time and embedded software, the need for rigorous techniques for rea-soning about programs written in these languages becomes more pressing. Indeed, due to a subtle but fundamental mismatch between gr ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
As visual programming languages become both more expressive and more popular in the domains of real-time and embedded software, the need for rigorous techniques for rea-soning about programs written in these languages becomes more pressing. Indeed, due to a subtle but fundamental mismatch between graphical and textual representations of pro-grams, semantic concepts established in the textual setting cannot be mapped to the graph-ical setting without a careful analysis of the connection between the two representations. Focusing on operational (as opposed to type-theoretic) aspects of Resource-aware Pro-gramming (RAP), we analyze the connection between graphical and textual representations of programs that can express both higher-order functions and staging constructs. After es-tablishing a precise connection between the two, we illustrate how this connection can be used to lift a reduction semantics from the textual to the graphical setting. I am very grateful for the dedication and support I received from my advisor Dr. Walid Taha while working on this thesis. I also want to thank the members of my thesis committee (Dr. Keith Cooper, Dr. Robert Cartwright, Dr. Peter Druschel, and Dr. Moshe Vardi) for their time and their interest in my work. Kedar Swadi, Samah Abu Mahmeed, and Roumen

