--------------------------------------------------------------------------------
-- Copyright © 2011 National Institute of Aerospace / Galois, Inc.
--------------------------------------------------------------------------------

{-# LANGUAGE Safe #-}

module Copilot.Language.Error
  ( impossible
  , badUsage ) where

impossible :: String -> String -> a
impossible :: String -> String -> a
impossible String
function String
package =
  String -> a
forall a. HasCallStack => String -> a
error (String -> a) -> String -> a
forall a b. (a -> b) -> a -> b
$ String
"Impossible error in function " String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
function String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
", in package " String -> String -> String
forall a. [a] -> [a] -> [a]
++
    String
package String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
".  Please email Lee Pike at <lee pike @ gmail . com> " String -> String -> String
forall a. [a] -> [a] -> [a]
++
    String
"(remove spaces) or file a bug report on github.com."

badUsage :: String -> a
badUsage :: String -> a
badUsage String
msg = String -> a
forall a. HasCallStack => String -> a
error (String -> a) -> String -> a
forall a b. (a -> b) -> a -> b
$ String
"Copilot error: " String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
msg