Skip to content

Research at St Andrews

Exploiting Purely Functional Programming to Obtain Bounded Resource Behaviour:  The Hume Approach

Research output: Chapter in Book/Report/Conference proceedingConference contribution



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 lambda-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.



Original languageEnglish
Title of host publicationCentral European Functional Programming School. First Summer School, CEFP 2005, Budapest, Hungary, July 4-15, 2005, Revised Selected Lectures
EditorsZ Horvath
ISBN (Print)3-540-46843-9
Publication statusPublished - 2006

Publication series

NameLecture Notes in Computer Science
ISSN (Print)0302-9743

    Research areas


Discover related content
Find related publications, people, projects and more using interactive charts.

View graph of relations

ID: 4882548