From: pimjager Date: Thu, 7 Apr 2016 10:50:31 +0000 (+0200) Subject: Parser aangepast naar leipe arrowtypes zonder arity X-Git-Url: https://git.martlubbers.net/?a=commitdiff_plain;ds=inline;h=77b19906f627f79a62445281bbc54a8eb584e0d1;p=cc1516.git Parser aangepast naar leipe arrowtypes zonder arity --- diff --git a/.gitignore b/.gitignore index 696ea94..b2b1838 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ Clean System Files sapl spl spl.1 +*.prj \ No newline at end of file diff --git a/AST.dcl b/AST.dcl index 0d8644f..1e241dd 100644 --- a/AST.dcl +++ b/AST.dcl @@ -14,6 +14,8 @@ from StdOverloaded import class toString | BoolType | CharType | VarType + | VoidType + | (->>) infixl 7 Type Type :: Expr = VarExpr Pos VarDef | Op2Expr Pos Expr Op2 Expr @@ -29,8 +31,7 @@ from StdOverloaded import class toString :: Op1 = UnNegation | UnMinus :: Op2 = BiPlus | BiMinus | BiTimes | BiDivide | BiMod | BiEquals | BiLesser | BiGreater | BiLesserEq | BiGreaterEq | BiUnEqual | BiAnd | BiOr | BiCons -:: FunDecl = FunDecl Pos String [String] (Maybe FunType) [VarDecl] [Stmt] -:: FunType = FunType [Type] (Maybe Type) +:: FunDecl = FunDecl Pos String [String] (Maybe Type) [VarDecl] [Stmt] :: FunCall = FunCall String [Expr] :: Stmt = IfStmt Expr [Stmt] [Stmt] diff --git a/AST.icl b/AST.icl index 70c1282..21f27d5 100644 --- a/AST.icl +++ b/AST.icl @@ -47,10 +47,6 @@ printStatements [s:ss] i = (case s of indent :: Int [String] -> [String] indent i rest = replicate i "\t" ++ rest -instance print FunType where - print (FunType at rt) = printersperse " " at ++ - [if (isEmpty at) "" "->":maybe ["Void"] print rt] - instance print VarDecl where print (VarDecl _ t i e) = print t ++ [" ":i:"=":print e] ++ [";"] @@ -62,6 +58,8 @@ instance print Type where print BoolType = print "Bool" print CharType = print "Char" print VarType = print "var" + print VoidType = print "Void" + print (t1 ->> t2) = print t1 ++ [" -> ":print t2] instance print String where print s = [s] diff --git a/examples/example.spl b/examples/example.spl index b4efb27..0bf275e 100644 --- a/examples/example.spl +++ b/examples/example.spl @@ -2,6 +2,7 @@ Three ways to implement the f acto rial function in SPL. First the recursive version . */ + facR(n) :: Int -> Int { if (n < 2) { return 1; @@ -10,6 +11,7 @@ facR(n) :: Int -> Int { } } + //The iterative version of the factorial function facl ( n ) :: Int -> Int { var r = 1; @@ -43,7 +45,7 @@ facL (n) :: Int -> Int { } //Generates a list of integers from the first to the last argument -fromTo (from, to) :: Int Int -> [Int] { +fromTo (from, to) :: Int -> Int -> [Int] { if(from <= to){ return from:fromTo(from+1, to); } else { @@ -73,7 +75,7 @@ swap(tuple) :: (a, a) -> (a, a){ } //list append -append(l1, l2) :: [t] [t] -> [t] { +append(l1, l2) :: [t] -> [t] -> [t] { if(isEmpty(l1)){ return l2; } else { diff --git a/parse.icl b/parse.icl index 3679124..bdb6a77 100644 --- a/parse.icl +++ b/parse.icl @@ -70,16 +70,11 @@ parseStmt = parseIfStmt <|> parseWhileStmt <|> parseOneLine :: Parser Token [Stmt] parseOneLine = pure <$> parseStmt -parseFunType :: Parser Token FunType -parseFunType = satTok DoubleColonToken *> - (parseInOutType <|> ((FunType []) <$> parseVoidOrType)) +parseFunType :: Parser Token Type +parseFunType = satTok DoubleColonToken *> parseFT where - parseInOutType :: Parser Token FunType - parseInOutType = FunType <$> (some parseType <* satTok ArrowToken) <*> parseVoidOrType - - parseVoidOrType :: Parser Token (Maybe Type) - parseVoidOrType = (satTok VoidToken *> pure Nothing) <|> - (Just <$> parseType) <|> pure Nothing + parseFT :: Parser Token Type + parseFT = ((->>) <$> parseType <* satTok ArrowToken <*> parseFT) <|> parseType parseVarDecl :: Parser Token VarDecl parseVarDecl = liftM4 VarDecl @@ -93,6 +88,7 @@ parseType = trans1 IntTypeToken IntType <|> trans1 CharTypeToken CharType <|> trans1 BoolTypeToken BoolType <|> + trans1 VoidToken VoidType <|> (ListType <$> (parseBSqBraces parseType)) <|> (TupleType <$> (parseTuple parseType)) <|> (IdType <$> parseIdent) diff --git a/spl.prj b/spl.prj deleted file mode 100644 index 2539bb3..0000000 --- a/spl.prj +++ /dev/null @@ -1,842 +0,0 @@ -Version: 1.4 -Global - ProjectRoot: . - Target: CleanPlatform - Exec: {Project}/spl - CodeGen - CheckStacks: False - CheckIndexes: True - Application - HeapSize: 2097152 - StackSize: 512000 - ExtraMemory: 8192 - IntialHeapSize: 204800 - HeapSizeMultiplier: 4096 - ShowExecutionTime: False - ShowGC: False - ShowStackSize: False - MarkingCollector: False - DisableRTSFlags: False - StandardRuntimeEnv: True - Profile - Memory: False - MemoryMinimumHeapSize: 0 - Time: False - Stack: False - Output - Output: NoConsole - Font: Monaco - FontSize: 9 - WriteStdErr: False - Link - LinkMethod: Static - GenerateRelocations: False - GenerateSymbolTable: False - GenerateLinkMap: False - LinkResources: False - ResourceSource: - GenerateDLL: False - ExportedNames: - Paths - Path: {Project} - Precompile: - Postlink: -MainModule - Name: spl - Dir: {Project} - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False -OtherModules - Module - Name: AST - Dir: {Project} - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: lex - Dir: {Project} - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: parse - Dir: {Project} - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: sem - Dir: {Project} - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: yard - Dir: {Project} - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: _SystemDynamic - Dir: {Application}/lib/Dynamics - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: GenEq - Dir: {Application}/lib/Generics - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: GenPrint - Dir: {Application}/lib/Generics - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: StdArray - Dir: {Application}/lib/StdEnv - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: StdBool - Dir: {Application}/lib/StdEnv - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: StdChar - Dir: {Application}/lib/StdEnv - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: StdCharList - Dir: {Application}/lib/StdEnv - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: StdClass - Dir: {Application}/lib/StdEnv - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: StdEnum - Dir: {Application}/lib/StdEnv - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: StdEnv - Dir: {Application}/lib/StdEnv - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: StdFile - Dir: {Application}/lib/StdEnv - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: StdFunc - Dir: {Application}/lib/StdEnv - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: StdGeneric - Dir: {Application}/lib/StdEnv - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: StdInt - Dir: {Application}/lib/StdEnv - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: StdList - Dir: {Application}/lib/StdEnv - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: StdMisc - Dir: {Application}/lib/StdEnv - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: StdOrdList - Dir: {Application}/lib/StdEnv - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: StdOverloaded - Dir: {Application}/lib/StdEnv - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: StdOverloadedList - Dir: {Application}/lib/StdEnv - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: StdReal - Dir: {Application}/lib/StdEnv - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: StdStrictLists - Dir: {Application}/lib/StdEnv - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: StdString - Dir: {Application}/lib/StdEnv - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: StdTuple - Dir: {Application}/lib/StdEnv - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: _SystemArray - Dir: {Application}/lib/StdEnv - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: _SystemEnum - Dir: {Application}/lib/StdEnv - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: _SystemEnumStrict - Dir: {Application}/lib/StdEnv - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: _SystemStrictLists - Dir: {Application}/lib/StdEnv - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: StdMaybe - Dir: {Application}/lib/StdLib - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: Control.Applicative - Dir: {Application}/lib/clean-platform/OS-Independent - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: Control.Monad - Dir: {Application}/lib/clean-platform/OS-Independent - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: Control.Monad.State - Dir: {Application}/lib/clean-platform/OS-Independent - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: Control.Monad.Trans - Dir: {Application}/lib/clean-platform/OS-Independent - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: Data.Either - Dir: {Application}/lib/clean-platform/OS-Independent - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: Data.Foldable - Dir: {Application}/lib/clean-platform/OS-Independent - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: Data.Func - Dir: {Application}/lib/clean-platform/OS-Independent - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: Data.Functor - Dir: {Application}/lib/clean-platform/OS-Independent - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: Data.Functor.Identity - Dir: {Application}/lib/clean-platform/OS-Independent - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: Data.List - Dir: {Application}/lib/clean-platform/OS-Independent - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: Data.Map - Dir: {Application}/lib/clean-platform/OS-Independent - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: Data.Maybe - Dir: {Application}/lib/clean-platform/OS-Independent - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: Data.Monoid - Dir: {Application}/lib/clean-platform/OS-Independent - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: Data.Set - Dir: {Application}/lib/clean-platform/OS-Independent - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: Data.Traversable - Dir: {Application}/lib/clean-platform/OS-Independent - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: Data.Void - Dir: {Application}/lib/clean-platform/OS-Independent - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: System.CommandLine - Dir: {Application}/lib/clean-platform/OS-Independent - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: System.IO - Dir: {Application}/lib/clean-platform/OS-Independent - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: System._Pointer - Dir: {Application}/lib/clean-platform/OS-Independent - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: Text - Dir: {Application}/lib/clean-platform/OS-Independent - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: Text.JSON - Dir: {Application}/lib/clean-platform/OS-Independent - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: Text.PPrint - Dir: {Application}/lib/clean-platform/OS-Independent - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False - Module - Name: System.OS - Dir: {Application}/lib/clean-platform/OS-Linux-64 - Compiler - NeverMemoryProfile: False - NeverTimeProfile: False - StrictnessAnalysis: True - ListTypes: StrictExportTypes - ListAttributes: True - Warnings: True - Verbose: True - ReadableABC: False - ReuseUniqueNodes: True - Fusion: False