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)
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
Linux x86_64 (1.23Mb) Version 1.0.3 (Nov 2008) -
Includes 64-bit phamc
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