Hume



Designed by: Greg MichaelsonAndrew IrelandAndy Wallace


Hume is a functionally based programming language developed at the University of St Andrews and Heriot-Watt University in Scotland since the year 2000.

The language name is both an acronym meaning ‘Higher-order Unified Meta-Environment’ and an honorific to the 18th-century philosopher David Hume.

It targets real-time computing embedded systems, aiming to produce a design that is both highly abstract, and yet allows precise extraction of time and space execution costs.

This allows guaranteeing the bounded time and space demands of executing programs.

Hume combines functional programming ideas with ideas from finite state automata.

Automata are used to structure communicating programs into a series of “boxes”, where each box maps inputs to outputs in a purely functional way using high-level pattern-matching.

It is structured as a series of levels, each of which exposes different machine properties.