Hume - Higher-order
Unified Meta-Environment
The Hume project ran from around 2000 to 2013. The
name was chosen to mark the skeptical philosophy of the highly influential Scottish Enlightenment philosopher David Hume.
Hume was a racist and engaged in slavery. Had we been aware of this, we would not have chosen his name.
(added 14/9/20)
This page provides
information about and links to Hume activity at
Hume is a novel programming language,
intended for resource bounded domains, designed at
Active areas of research include: the development of characterisation, time and space analyses for the different levels; the elaboration of a semantics-preserving refinement methodology from higher to lower levels, to improve the accuracy of costing; native code compilation for PC and embedded use; applications in image and vision processing, and control.
Current Hume implementations include a reference interpreter, available below, and an abstract machine with associated compiler. Current Hume costing tools include space analysers for HW-, FSM- and PR-Hume.
· Dr Ben Gorry, RA, SEAS project (2006-7)
Hume Community
Documentation
Example Programs
Currently we provide binaries for OSX (10.4) and Red Hat Linux (2.6).
There are at least four ways of running Hume programs:
· Using the Hume intepreter (known simply as 'hume')
· Compiling Hume to HAM using 'phamc' and then:
o Using the HAM interpreter 'ehami'
o Using the HAM to C compiler 'hamc' (which links to the supplied RTS)
· Using the Hume compiler 'humec', which uses a combination of the above to compile Hume to a C executable.
We also provide a tool for the live debugging of a compiled HAM program - 'hamdb'.
hume v0.2 (Hume Interpreter)
OSX PPC (1.23Mb) old May require GHC 6.4.1 to be installed
Linux x86 (845Kb) May require GHC 6.2.2 to be installed
phamc v0.8 (Prototype HAM Compiler)
OSX PPC (1.47Mb) old May require GHC 6.4.1 to be installed
Linux x86 (948Kb) Version 0.8t (May 2006) old May require GHC 6.2.2 to be installed
Linux x86 (1.43Mb) Version 0.2h (Feb 2008) May require GHC 6.4.2 to be installed
ehami (Extended HAM Interpreter)
humec (Hume Compiler - includes hamc & RTS)
OSX PPC (168Kb) old
Linux x86 (102Kb) Version 0.8t (May 2006) old
Linux x86 (165Kb) Version 0.2h (Feb 2008)
Linux x86 (1.69Mb) Version 1.0.0 (Apr 2008) - Includes recent phamc
Linux i386 (1.12Mb) Version 1.0.3 (Nov 2008) - Includes 32-bit phamc(rpm)
Linux x86_64 (1.23Mb) Version 1.0.3 (Nov 2008) - Includes 64-bit phamc(rpm)
Source Code for RTS (20Kb)Version 0.8t (May 2006) - optional, only required to target different architecture
hamdb (HAM DeBug)
Cross-platform (21Kb) Requires at least java 1.4
This page is maintained by Norman Scaife, Robert Pointon & Greg Michaelson - updated 21st February 2008