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
newtype FString = FString SString
deriving (FString -> FString -> Bool
(FString -> FString -> Bool)
-> (FString -> FString -> Bool) -> Eq FString
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: FString -> FString -> Bool
== :: FString -> FString -> Bool
$c/= :: FString -> FString -> Bool
/= :: FString -> FString -> Bool
Eq, Eq FString
Eq FString =>
(FString -> FString -> Ordering)
-> (FString -> FString -> Bool)
-> (FString -> FString -> Bool)
-> (FString -> FString -> Bool)
-> (FString -> FString -> Bool)
-> (FString -> FString -> FString)
-> (FString -> FString -> FString)
-> Ord FString
FString -> FString -> Bool
FString -> FString -> Ordering
FString -> FString -> FString
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: FString -> FString -> Ordering
compare :: FString -> FString -> Ordering
$c< :: FString -> FString -> Bool
< :: FString -> FString -> Bool
$c<= :: FString -> FString -> Bool
<= :: FString -> FString -> Bool
$c> :: FString -> FString -> Bool
> :: FString -> FString -> Bool
$c>= :: FString -> FString -> Bool
>= :: FString -> FString -> Bool
$cmax :: FString -> FString -> FString
max :: FString -> FString -> FString
$cmin :: FString -> FString -> FString
min :: FString -> FString -> FString
Ord)
instance IsString FString where
fromString :: String -> FString
fromString = SString -> FString
FString (SString -> FString) -> (String -> SString) -> String -> FString
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> SString
T.pack
instance Show FString where
show :: FString -> String
show (FString SString
s) = SString -> String
forall a. Show a => a -> String
show SString
s
instance Pretty FString where
pPrintPrec :: PrettyLevel -> Rational -> FString -> Doc
pPrintPrec PrettyLevel
_ Rational
_ FString
x = String -> Doc
text (FString -> String
forall a. Show a => a -> String
show FString
x)
getFString :: FString -> String
getFString :: FString -> String
getFString = FString -> String
toString
mkFString :: String -> FString
mkFString :: String -> FString
mkFString String
s = String -> FString
forall a. IsString a => String -> a
fromString String
s
tmpFString :: Int -> String -> FString
tmpFString :: Int -> String -> FString
tmpFString Int
_ = String -> FString
forall a. IsString a => String -> a
fromString
toString :: FString -> String
toString :: FString -> String
toString (FString SString
s) = SString -> String
T.unpack SString
s