module Helium.StaticAnalysis.Directives.TS_CoreSyntax where
import Top.Types
type Core_TypingStrategies = [Core_TypingStrategy]
data Core_Judgement = Judgement (String) (Tp)
deriving ( Read,Show)
type Core_Judgements = [Core_Judgement]
data Core_TypeRule = TypeRule (Core_Judgements) (Core_Judgement)
deriving ( Read,Show)
data Core_TypingStrategy = Siblings (([String]))
| TypingStrategy (([(String, Tp)])) (Core_TypeRule) (Core_UserStatements)
deriving ( Read,Show)
data Core_UserStatement = Equal (Tp) (Tp) (String)
| Pred (String) (Tp) (String)
| MetaVariableConstraints (String)
| CorePhase (Int)
deriving ( Read,Show)
type Core_UserStatements = [Core_UserStatement]