-- | Copilot is a stream-based runtime verification framework. Programs can be
-- interpreted for testing, or translated into C99 code to be incorporated in a
-- project, or as a standalone application. The C99 backend output is constant
-- in memory and time, making it suitable for systems with hard realtime
-- requirements.
--
-- This module is the main entry point for the Copilot language. The
-- expectation is that most Copilot users will only need to import this module,
-- together with one of the backend modules (at present, only
-- 'Copilot.Compile.C99' from the
-- <https://hackage.haskell.org/package/copilot-c99 copilot-c99> library is
-- available).
module Language.Copilot
  (
    module Copilot.Language
  , module Copilot.Language.Prelude
  , module Copilot.Language.Reify
  , module Copilot.Library.Libraries

  , copilotMain
  , defaultMain
  ) where

import Copilot.Language
import Copilot.Language.Prelude
import Copilot.Language.Reify
import Copilot.Library.Libraries
import Language.Copilot.Main