aboutsummaryrefslogtreecommitdiff
path: root/CLPM/Package.dcl
diff options
context:
space:
mode:
Diffstat (limited to 'CLPM/Package.dcl')
-rw-r--r--CLPM/Package.dcl52
1 files changed, 37 insertions, 15 deletions
diff --git a/CLPM/Package.dcl b/CLPM/Package.dcl
index 2a476a7..9c685d2 100644
--- a/CLPM/Package.dcl
+++ b/CLPM/Package.dcl
@@ -2,26 +2,39 @@ definition module CLPM.Package
from StdFile import class <<<
+from Data.Error import :: MaybeError, :: MaybeErrorString
from Data.Maybe import :: Maybe
from Text.JSON import :: JSONNode, generic JSONEncode, generic JSONDecode
-:: StoredPackage
- = { name :: Maybe PackageName
- , desc :: Maybe Description
- , author :: Maybe Author
- , url :: Maybe Url
- , depends :: Maybe [StoredDependency]
- }
+DEFAULT_NAME :== "Unnamed package"
+DEFAULT_DESC :== "Empty description"
+DEFAULT_AUTHOR :== "Unknown author"
+DEFAULT_URL :== "http://clean.cs.ru.nl"
+DEFAULT_MAIN :== "main"
+DEFAULT_PATHS :== ["."]
+DEFAULT_OPTIONS :==
+ { show_result = True
+ , show_constructors = True
+ , show_time = True
+ , heap_size = 2000
+ , stack_size = 500
+ , extra_flags = []
+ }
-:: StoredDependency :== (PackageName, StoredPackageSource)
-:: StoredPackageSource :== String
+MODULE_DIR :== "clpm_modules"
+PACKAGE_FILE :== "clpm.json"
+
+:: StoredPackage
:: Package
= { name :: PackageName
, desc :: Description
, author :: Author
, url :: Url
+ , main :: Path
, depends :: [Dependency]
+ , paths :: [Path]
+ , options :: Options
}
:: Dependency
@@ -30,14 +43,23 @@ from Text.JSON import :: JSONNode, generic JSONEncode, generic JSONDecode
}
:: PackageSource
- = GitHub String String GitTag
- | Git Url GitTag
+ = Git Url GitTag
| Download Url
+:: Options
+ = { show_result :: Bool
+ , show_constructors :: Bool
+ , show_time :: Bool
+ , heap_size :: Int
+ , stack_size :: Int
+ , extra_flags :: [String]
+ }
+
:: PackageName :== String
:: Description :== String
:: Author :== String
:: Url :== String
+:: Path :== String
:: GitTag
= Commit String
@@ -52,7 +74,7 @@ instance <<< Package
toPackage :: StoredPackage -> Package
toStoredPackage :: Package -> StoredPackage
-DEFAULT_NAME :== "Unnamed package"
-DEFAULT_DESC :== "Empty description"
-DEFAULT_AUTHOR :== "Unknown author"
-DEFAULT_URL :== "http://clean.cs.ru.nl"
+readPackage :: String -> *World -> *(Maybe Package, *World)
+getRecursivePaths :: Package *World -> (MaybeErrorString [Path], *World)
+
+optionsToFlags :: Options -> [String]