-------------------------------------------------------------------------------- -- Copyright © 2011 National Institute of Aerospace / Galois, Inc. -------------------------------------------------------------------------------- -- | An interpreter for Copilot specifications. module Copilot.Core.Interpret ( ExtEnv (..) , 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 -> ExtEnv -> Spec -> String interpret format k exts spec = case format of Table -> renderAsTable e CSV -> renderAsCSV e where e = eval Haskell k exts spec