summaryrefslogtreecommitdiff
path: root/src/Run
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2026-08-27 20:34:57 +0200
committerRoman Smrž <roman.smrz@seznam.cz>2026-08-27 23:04:38 +0200
commit0cbbe31c5f16df73dcc3a73b37cac4a72948f3a6 (patch)
treef607a68d575ac670b9a637a967eabbe56f9257aa /src/Run
parentd8420a37ffe9e752816b071fced4a972ca1fad23 (diff)
Accept various builtin types in type expressions
Diffstat (limited to 'src/Run')
-rw-r--r--src/Run/Builtins.hs43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/Run/Builtins.hs b/src/Run/Builtins.hs
new file mode 100644
index 0000000..409e723
--- /dev/null
+++ b/src/Run/Builtins.hs
@@ -0,0 +1,43 @@
+module Run.Builtins (
+ module Run,
+ loadModules,
+) where
+
+import Data.Proxy
+import Data.Scientific
+import Data.Text (Text)
+import Data.Void
+
+import Asset (Asset)
+import Network (Network, Node)
+import Parser (CustomTestError)
+import Process (Process)
+import Process.Signal (Signal)
+import Run
+import Script.Expr
+import Test (Test, Tag)
+
+
+builtinTypes :: [ SomePrimType ]
+builtinTypes =
+ [ SomePrimType @() Proxy
+ , SomePrimType @Integer Proxy
+ , SomePrimType @Scientific Proxy
+ , SomePrimType @Bool Proxy
+ , SomePrimType @Text Proxy
+ , SomePrimType @Void Proxy
+ , SomePrimType @Regex Proxy
+
+ , SomePrimType @Test Proxy
+ , SomePrimType @Tag Proxy
+ , SomePrimType @Asset Proxy
+
+ , SomePrimType @Network Proxy
+ , SomePrimType @Node Proxy
+
+ , SomePrimType @Process Proxy
+ , SomePrimType @Signal Proxy
+ ]
+
+loadModules :: [ ( FilePath, Maybe Text ) ] -> IO (Either CustomTestError LoadedModules)
+loadModules = loadModules' builtinTypes