diff options
author | Roman Smrž <roman.smrz@seznam.cz> | 2022-10-02 20:43:08 +0200 |
---|---|---|
committer | Roman Smrž <roman.smrz@seznam.cz> | 2022-10-05 21:04:17 +0200 |
commit | 4161f5776e5e7a01fb9eb62351c0f648bb918076 (patch) | |
tree | 5ff89419ecc034538a26f3c4863c4d54d4dc537f /src/Test.hs | |
parent | 4f078b27fda0738ab4ed8f67fe3c8f2c8d010626 (diff) |
Support multiple node variables with same name
Diffstat (limited to 'src/Test.hs')
-rw-r--r-- | src/Test.hs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/Test.hs b/src/Test.hs index a90035b..659107f 100644 --- a/src/Test.hs +++ b/src/Test.hs @@ -4,7 +4,7 @@ module Test ( SourceLine(..), MonadEval(..), - VarName(..), textVarName, unpackVarName, + VarName(..), TypedVarName(..), textVarName, unpackVarName, ExprType(..), SomeVarValue(..), fromSomeVarValue, textSomeVarValue, RecordSelector(..), @@ -33,9 +33,9 @@ data Test = Test } data TestStep = forall a. ExprType a => Let SourceLine VarName (Expr a) [TestStep] - | Spawn ProcName (Either NodeName (Expr Node)) [TestStep] + | Spawn ProcName (Either (TypedVarName Node) (Expr Node)) [TestStep] | Send ProcName (Expr Text) - | Expect SourceLine ProcName (Expr Regex) [VarName] [TestStep] + | Expect SourceLine ProcName (Expr Regex) [TypedVarName Text] [TestStep] | Guard SourceLine (Expr Bool) | Wait @@ -49,6 +49,9 @@ class MonadFail m => MonadEval m where newtype VarName = VarName Text deriving (Eq, Ord) +newtype TypedVarName a = TypedVarName VarName + deriving (Eq, Ord) + textVarName :: VarName -> Text textVarName (VarName name ) = name |