language-bluespec-0.1: src/Language/Bluespec/Classic/AST/FString.hs
-- This corresponds to src/comp/FStringCompat.hs in bsc.
module Language.Bluespec.Classic.AST.FString
( FString
, getFString
, mkFString
, tmpFString
) where
import Data.String (IsString(..))
import qualified Data.Text as T
import Text.PrettyPrint.HughesPJClass
import Language.Bluespec.Classic.AST.SString
import Language.Bluespec.Prelude
-- wrapper to make SStrings look like FStrings
newtype FString = FString SString
deriving (Eq, Ord)
instance IsString FString where
fromString = FString . T.pack
instance Show FString where
show (FString s) = show s
instance Pretty FString where
pPrintPrec _ _ x = text (show x)
getFString :: FString -> String
getFString = toString
mkFString :: String -> FString
mkFString s = fromString s
tmpFString :: Int -> String -> FString
tmpFString _ = fromString
toString :: FString -> String
toString (FString s) = T.unpack s