{- |
  Atom is a Haskell DSL for designing hard realtime embedded software.
  Based on guarded atomic actions (similar to STM), Atom enables highly
  concurrent programming without the need for mutex locking.
  In addition, Atom performs compile-time task scheduling and generates code
  with deterministic execution time and constant memory use, simplifying the
  process of timing verification and memory consumption in hard realtime
  applications. Without mutex locking and run-time task scheduling,
  Atom eliminates the need and overhead of RTOSs for many embedded applications.

module Language.Atom
  ( module Language.Atom.Code
  , module Language.Atom.Compile
  , module Language.Atom.Common
  , module Language.Atom.Language
  , module Language.Atom.Unit
  ) where

import Language.Atom.Code
import Language.Atom.Compile
import Language.Atom.Common
import Language.Atom.Language
import Language.Atom.Unit