1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
{-# OPTIONS_GHC -fno-warn-orphans #-}
module Futhark.IR.SyntaxTests (parseString) where
import Data.String
import Data.Text qualified as T
import Futhark.IR.Parse
import Futhark.IR.Syntax
-- There isn't anything to test in this module, but we define some
-- convenience instances.
parseString :: String -> (FilePath -> T.Text -> Either T.Text a) -> String -> a
parseString desc p =
either (error . T.unpack) id . p ("IsString " <> desc) . T.pack
instance IsString Type where
fromString = parseString "Type" parseType
instance IsString DeclExtType where
fromString = parseString "DeclExtType" parseDeclExtType
instance IsString DeclType where
fromString = parseString "DeclType" parseDeclType
instance IsString VName where
fromString = parseString "VName" parseVName
instance IsString SubExp where
fromString = parseString "SubExp" parseSubExp
instance IsString SubExpRes where
fromString = parseString "SubExpRes" parseSubExpRes
|