packages feed

Pugs-6.2.13.20150815: src/Pugs/AST/Internals.hs-boot

{-# OPTIONS_GHC -cpp -fglasgow-exts -fno-warn-orphans -fallow-overlapping-instances -fallow-undecidable-instances #-}
{-# LANGUAGE RoleAnnotations #-}

module Pugs.AST.Internals where
import Pugs.Types
import Pugs.Internals
import Pugs.AST.Pos
import Pugs.AST.SIO
import Control.Concurrent.STM
import Data.Dynamic

instance Typeable Val

data Env
data Val
data VObject
data Exp
data VRef
newtype ObjectId = MkObjectId { unObjectId :: Int }

type VType = Type
type VArray = [Val]
type VList = [Val]
type VHash = Map VStr Val

showVal :: Val -> String
envPos' :: Env -> Pos
errStr :: VStr -> Val
errStrPos :: VStr -> Pos -> Val
errValPos :: Val -> Pos -> Val
envAtomic :: Env -> Bool
envContext :: Env -> Cxt
envMaxId :: Env -> TVar ObjectId
enterAtomicEnv :: Env -> Env
objOpaque :: VObject -> Maybe Dynamic

anyToVal :: (Show a, Typeable a) => a -> Val
anyFromVal :: Typeable a => Val -> a

createObjectRaw :: (MonadSTM m)
    => ObjectId -> Maybe Dynamic -> VType -> [(VStr, Val)] -> m VObject

type role IVar nominal
data IVar v
data VOpaque

instance Show VOpaque
instance Eq VOpaque
instance Ord VOpaque

instance Show Val
instance Eq Val
instance Ord Val

instance Show Env
instance Eq Env
instance Ord Env

instance Show Exp
instance Eq Exp
instance Ord Exp

instance Show VRef
instance Eq VRef
instance Ord VRef

emptyExp :: Exp

instance Show VObject