ivory-0.1.0.0: src/Ivory/Language/IString.hs
module Ivory.Language.IString where
import Ivory.Language.Type
import qualified Ivory.Language.Syntax as AST
import Data.String (IsString(..))
newtype IString = IString { getIString :: AST.Expr }
instance IvoryType IString where
ivoryType _ = AST.TyPtr AST.TyChar
instance IvoryVar IString where
wrapVar = wrapVarExpr
unwrapExpr = getIString
instance IvoryExpr IString where
wrapExpr = IString
instance IsString IString where
fromString str = wrapExpr $ AST.ExpLit $ AST.LitString str