copilot-core-2.2.1: src/Copilot/Core/Interpret.hs
--------------------------------------------------------------------------------
-- Copyright © 2011 National Institute of Aerospace / Galois, Inc.
--------------------------------------------------------------------------------
-- | An interpreter for Copilot specifications.
{-# LANGUAGE Safe #-}
module Copilot.Core.Interpret
( Format (..)
, interpret
) where
import Copilot.Core
import Copilot.Core.Interpret.Eval
import Copilot.Core.Interpret.Render
import Copilot.Core.Type.Show (ShowType(..))
data Format = Table | CSV
-- | Interprets a Copilot specification.
interpret :: Format -> Int -> Spec -> String
interpret format k spec =
case format of
Table -> renderAsTable e
CSV -> renderAsCSV e
where e = eval Haskell k spec