LslPlus-0.3.0: src/Language/Lsl/Internal/Evaluation.hs
module Language.Lsl.Internal.Evaluation(
ScriptInfo(..),
EvalResult(..),
Event(..)) where
import Data.Map(Map)
import Language.Lsl.Internal.Type(LSLValue)
import Language.Lsl.Internal.Breakpoint(Breakpoint)
--type ScriptInfo = (String,Int,String,String) -- (object id, prim index, script name, prim key)
data ScriptInfo a = ScriptInfo { scriptInfoObjectKey :: String,
scriptInfoPrimIndex :: Int,
scriptInfoScriptName :: String,
scriptInfoPrimKey :: String,
scriptInfoCurrentEvent :: Maybe (Event a) }
deriving (Show)
data EvalResult = EvalIncomplete | EvalComplete (Maybe String) | YieldTil Int
| BrokeAt Breakpoint
deriving (Show)
data Event a = Event { eventName :: String, eventValues :: [LSLValue a], eventInfo :: Map String (LSLValue a) }
deriving (Show)