Jump to content

Atom (programming language)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 24.191.5.10 (talk) at 14:48, 30 April 2015 (Overview). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Atom
Paradigmfunctional, synchronous, reactive
Designed byThomas Hawkins
First appeared2007
Typing disciplinestatic, strong, inferred
OSportable
LicenseBSD3
Websitehttp://hackage.haskell.org/package/atom/
Influenced by
Bluespec, Confluence, Haskell

Atom is a domain-specific language (DSL) in Haskell, for designing real-time embedded software.

Limitations

To provide guarantees of deterministic execution time and memory consumption, Atom places several restrictions on computation. First, Atom designs are always finite state: all variables are global and declared at compile time and dynamic memory allocation is not allowed. Second, Atom provides no function or looping constructs. Instead state variable updates are pure combinational functions of the current state.