packages feed

LslPlus-0.1.2: 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 = ScriptInfo { scriptInfoObjectKey :: String, 
                               scriptInfoPrimIndex :: Int,
                               scriptInfoScriptName :: String,
                               scriptInfoPrimKey :: String,
                               scriptInfoCurrentEvent :: Maybe Event }
    deriving (Show)
    
data EvalResult = EvalIncomplete | EvalComplete (Maybe String) | YieldTil Int
                | BrokeAt Breakpoint
    deriving (Show)

data Event = Event { eventName :: String, eventValues :: [LSLValue], eventInfo :: Map String LSLValue }
    deriving (Show)