## Exploiting Purely Functional Programming to Obtain Bounded Resource Behaviour: the Hume Approach (2005)

Venue: | In Central European Summer School on Functional Programming |

Citations: | 6 - 5 self |

### BibTeX

@INPROCEEDINGS{Hammond05exploitingpurely,

author = {Kevin Hammond},

title = {Exploiting Purely Functional Programming to Obtain Bounded Resource Behaviour: the Hume Approach},

booktitle = {In Central European Summer School on Functional Programming},

year = {2005},

pages = {4--15},

publisher = {Springer-Verlag}

}

### Years of Citing Articles

### OpenURL

### Abstract

Abstract. This chapter describes Hume: a functionally-based language for programming with bounded resource usage, including time and space properties. The purpose of the Hume language design is to explore the expressibility/costability spectrum in resource-constrained systems, such as real-time embedded or control systems. It is unusual in being based on a combination of λ-calculus and finite state machine notions, rather than the more usual propositional logic, or flat finite-state-machine models. The use of a strict, purely functional programming notation allows the construction of a strong cost model for expressions, which can then be embedded into a simple cost model for processes. In this chapter, we introduce Hume, describe the Hume Abstract Machine implementation, and show how a high-level cost model can be constructed that relates costs from the abstract machine to Hume source programs. We illustrate our approach with an example adapted from the literature: a simple vending machine controller. 1