import Test.Tasty.HUnit
import Debug.Trace (trace)
+import Control.Applicative (Applicative(..))
import Control.Arrow (left)
+import Control.Monad (Monad(..))
+import Data.Either (Either(..), either)
+import Data.Eq (Eq(..))
+import Data.Function (($), (.), id)
+import Data.Functor ((<$>))
import Data.Functor.Identity (Identity(..))
+import Data.List ((++))
+import Data.Maybe (Maybe(..))
+import Data.Ord (Ord(..))
+import Data.String (String)
import Data.Text (Text)
+import Data.Tuple (snd)
import Data.Type.Equality
import Data.Void (Void)
+import Prelude (error)
+import Text.Show (Show)
import qualified Control.Monad.Classes.Run as MC
import qualified Control.Monad.Trans.State.Strict as S
import qualified Data.List as List
import qualified Data.Text as Text
import qualified Text.Megaparsec as P
+import qualified Text.Show as Show
import Language.Symantic.Grammar
import Language.Symantic
ModulesTyInj ss =>
ModulesInj src ss =>
Gram_Term src ss (G src ss) =>
- Text -> Either (P.ParseError Char Void) (AST_Term src ss)
+ Text -> Either (P.ParseErrorBundle Text Void) (AST_Term src ss)
parseTe inp =
- let modsTe :: Modules src ss = either (error . show) id modulesInj in
+ let modsTe :: Modules src ss = either (error . Show.show) id modulesInj in
let impsTe = [] `importModules` modsTe in
let modsTy = modulesTyInj @ss @src in
let impsTy = importTypes @ss [] in
) =>
Text ->
Either ( Type src '[] t
- , Either (P.ParseError Char Void)
+ , Either (P.ParseErrorBundle Text Void)
(Error_Term src) )
(Type src '[] t, t, Text) ->
TestTree
maybeRight Left{} = Nothing
elide :: Text -> String
-elide s | Text.length s > 42 = List.take 42 (Text.unpack s) List.++ ['…']
+elide s | Text.length s > 42 = List.take 42 (Text.unpack s) ++ ['…']
elide s = Text.unpack s
dbg :: Show a => String -> a -> a
-dbg msg x = trace (msg ++ " = " ++ Prelude.show x) x
+dbg msg x = trace (msg ++ " = " ++ Show.show x) x