Hume (programming language): Difference between revisions

Content deleted Content added
m Spelling/grammar/punctuation/typographical correction
m compound modifier
 
(One intermediate revision by one other user not shown)
Line 32:
}}
[[File:HumeStatue-Edinburgh2006.jpg|thumb|Hume Statue in Edinburgh]]
 
'''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 system]]s, 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 [[Input/output|inputs to outputs]] in a [[pure function|purely functional]] way using high-level pattern-matching. It is structured as a series of levels, each of which exposes different machine properties.
 
== Design model ==
Line 157 ⟶ 158:
* [https://web.archive.org/web/20190403192341/https://www.embounded.org/ EmBounded project], certifies resource-bounded code in Hume
* [https://glew.org/damp2006/Hume-Multicore.pdf Hume and Multicore]
 
{{Haskell programming}}
 
[[Category:Haskell programming language family]]