-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | A compiler for Copilot targeting C99.
--
-- This package is a back-end from Copilot to C.
--
-- Copilot is a stream (i.e., infinite lists) domain-specific language
-- (DSL) in Haskell that compiles into embedded C. Copilot contains an
-- interpreter, multiple back-end compilers, and other verification
-- tools.
--
-- A tutorial, examples, and other information are available at
-- https://copilot-language.github.io.
@package copilot-c99
@version 3.8
-- | Compile Copilot specifications to C99 code.
module Copilot.Compile.C99
-- | Compile a specification to a .h and a .c file.
--
-- The first argument is used as prefix for the .h and .c files
-- generated.
compile :: String -> Spec -> IO ()
-- | Compile a specification to a .h and a .c file.
--
-- The first argument is the settings for the C code generated.
--
-- The second argument is used as prefix for the .h and .c files
-- generated.
compileWith :: CSettings -> String -> Spec -> IO ()
-- | Settings used to customize the code generated.
data CSettings
CSettings :: String -> FilePath -> CSettings
[cSettingsStepFunctionName] :: CSettings -> String
[cSettingsOutputDirectory] :: CSettings -> FilePath
-- | Default settings with a step function called step.
mkDefaultCSettings :: CSettings