'''Atom''' is a [[___domain-specific language]] (DSL) in [[Haskell (programming language)|Haskell]], for designing [[Real-time computing|real-time]] [[Embedded programming|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 logic|combinational functions]] of the current state.