diff options
author | Roman Smrž <roman.smrz@seznam.cz> | 2025-02-02 11:51:17 +0100 |
---|---|---|
committer | Roman Smrž <roman.smrz@seznam.cz> | 2025-02-08 23:00:20 +0100 |
commit | d5c8930e9b14c1d1953c3a25c6be503b95d67d50 (patch) | |
tree | 8db63e839e22e091a44912768f41021f0a8501ab /src/Test.hs | |
parent | 9251a72e7876b61ede972136570e2b81c6a8d767 (diff) |
Module import parsing and type check
Diffstat (limited to 'src/Test.hs')
-rw-r--r-- | src/Test.hs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/Test.hs b/src/Test.hs index 3db7919..01b2d95 100644 --- a/src/Test.hs +++ b/src/Test.hs @@ -1,5 +1,5 @@ module Test ( - Module(..), + Module(..), ModuleName(..), textModuleName, Test(..), TestStep(..), TestBlock(..), @@ -53,11 +53,18 @@ import {-# SOURCE #-} Process import Util data Module = Module - { moduleName :: [ Text ] + { moduleName :: ModuleName , moduleTests :: [ Test ] , moduleDefinitions :: [ ( VarName, SomeExpr ) ] + , moduleExports :: [ VarName ] } +newtype ModuleName = ModuleName [ Text ] + deriving (Eq, Ord) + +textModuleName :: ModuleName -> Text +textModuleName (ModuleName parts) = T.intercalate "." parts + data Test = Test { testName :: Text , testSteps :: Expr TestBlock |