opdracht 3 met map2 voor tuples
authorCharlie Gerhardus <charlie.gerhardus@somedomain.something>
Sun, 27 Sep 2015 21:24:19 +0000 (23:24 +0200)
committerCharlie Gerhardus <charlie.gerhardus@somedomain.something>
Sun, 27 Sep 2015 21:24:19 +0000 (23:24 +0200)
a3/mart_map2/Makefile [new file with mode: 0644]
a3/mart_map2/iTasksTest.icl [new file with mode: 0644]
a3/mart_map2/iTasksTest.prj [new file with mode: 0644]
a3/mart_map2/skeleton3a.icl [new file with mode: 0644]
a3/mart_map2/skeleton3a_wt.icl [new file with mode: 0644]
a3/mart_map2/skeleton3b.icl [new file with mode: 0644]

diff --git a/a3/mart_map2/Makefile b/a3/mart_map2/Makefile
new file mode 100644 (file)
index 0000000..0e68e12
--- /dev/null
@@ -0,0 +1,21 @@
+CLEANEXES:=skeleton3a skeleton3b skeleton3a_wt
+ITASKSPRJS:=iTasksTest.exe
+CLM:=clm
+CPM:=cpm
+CLMFLAGS:=-IL ../lib/StdLib -IL ../lib/Generics
+
+all: $(CLEANEXES) $(ITASKSPRJS)
+
+%.exe: %.prj
+       $(CPM) project $< build
+
+%: %.icl
+       $(CLM) $(CLMFLAGS) $(basename $<) -o $@
+
+clean:
+       $(RM) -r \
+               $(CLEANEXES) \
+               $(addsuffix .exe,$(basename $(ITASKSPRJS))) \
+               Clean\ System\ Files \
+               sapl \
+               $(addsuffix -data,$(basename $(ITASKSPRJS)))
diff --git a/a3/mart_map2/iTasksTest.icl b/a3/mart_map2/iTasksTest.icl
new file mode 100644 (file)
index 0000000..24e00f9
--- /dev/null
@@ -0,0 +1,11 @@
+module iTasksTest
+
+import iTasks
+
+Start :: *World  -> *World
+Start world = startEngine [ publish "/" (WebApp []) (\_ -> test)] world
+
+test :: Task String
+test =              enterInformation "What is your name?" []
+       >>= \name -> viewInformation "Success!" [] ("Congratulations " +++ name +++ "! You got iTasks running.")
+
diff --git a/a3/mart_map2/iTasksTest.prj b/a3/mart_map2/iTasksTest.prj
new file mode 100644 (file)
index 0000000..b1da31f
--- /dev/null
@@ -0,0 +1,2380 @@
+Version: 1.4
+Global
+       ProjectRoot:    .
+       Target: iTasks
+       Exec:   {Project}/iTasksTest.exe
+       CodeGen
+               CheckStacks:    False
+               CheckIndexes:   True
+       Application
+               HeapSize:       8388608
+               StackSize:      4194304
+               ExtraMemory:    81920
+               IntialHeapSize: 1048576
+               HeapSizeMultiplier:     4096
+               ShowExecutionTime:      False
+               ShowGC: False
+               ShowStackSize:  False
+               MarkingCollector:       False
+               DisableRTSFlags:        False
+               StandardRuntimeEnv:     True
+               Profile
+                       Memory: False
+                       MemoryMinimumHeapSize:  0
+                       Time:   True
+                       Stack:  True
+               Output
+                       Output: ShowConstructors
+                       Font:   Courier
+                       FontSize:       9
+                       WriteStdErr:    False
+       Link
+               LinkMethod:     Static
+               GenerateRelocations:    False
+               GenerateLinkMap:        False
+               LinkResources:  False
+               ResourceSource: 
+               GenerateDLL:    False
+               ExportedNames:  
+       Paths
+               Path:   {Project}
+       Precompile:     
+       Postlink:       
+MainModule
+       Name:   iTasksTest
+       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:   StdDynamic
+               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:   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:   StdDebug
+               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:   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:   TCPChannelClass
+               Dir:    {Application}/lib/TCPIP
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   TCPDef
+               Dir:    {Application}/lib/TCPIP
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   TCPEvent
+               Dir:    {Application}/lib/TCPIP
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   TCPIP
+               Dir:    {Application}/lib/TCPIP
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   TCPStringChannels
+               Dir:    {Application}/lib/TCPIP
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   TCPStringChannelsInternal
+               Dir:    {Application}/lib/TCPIP
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   ostcp
+               Dir:    {Application}/lib/TCPIP
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+               NeededObjFiles
+                       ObjectFile:     cTCP_121.
+       Module
+               Name:   tcp
+               Dir:    {Application}/lib/TCPIP
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   tcp_bytestreams
+               Dir:    {Application}/lib/TCPIP
+               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/iTasks-SDK/Dependencies/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/iTasks-SDK/Dependencies/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:   Crypto.Hash.SHA1
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/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/iTasks-SDK/Dependencies/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.Error
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/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/iTasks-SDK/Dependencies/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/iTasks-SDK/Dependencies/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/iTasks-SDK/Dependencies/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.Generic
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/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.IntMap.Base
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/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.IntMap.Strict
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/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/iTasks-SDK/Dependencies/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/iTasks-SDK/Dependencies/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/iTasks-SDK/Dependencies/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/iTasks-SDK/Dependencies/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/iTasks-SDK/Dependencies/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/iTasks-SDK/Dependencies/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.Tuple
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/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/iTasks-SDK/Dependencies/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:   Graphics.Scalable
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/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:   Graphics.Scalable.Internal
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/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:   Internet.HTTP
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/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:   Math.Random
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/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/iTasks-SDK/Dependencies/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.FilePath
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/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/iTasks-SDK/Dependencies/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/iTasks-SDK/Dependencies/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/iTasks-SDK/Dependencies/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.CSV
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/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.Encodings.Base64
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/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.Encodings.MIME
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/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.Encodings.UrlEncoding
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/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.HTML
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/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/iTasks-SDK/Dependencies/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/iTasks-SDK/Dependencies/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.Parsers.ParserLanguage
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/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.Parsers.Parsers
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/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.Parsers.ParsersAccessories
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/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.Parsers.ParsersDerived
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/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.Parsers.ParsersKernel
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/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.StringAppender
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/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.URI
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/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.Unicode
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/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.Unicode.Encodings.JS
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/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.Unicode.UChar
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/Platform/OS-Independent
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+               NeededObjFiles
+                       ObjectFile:     WCsubst.
+                       ObjectFile:     bsearch.
+       Module
+               Name:   System._Posix
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/Platform/OS-Linux
+               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/iTasks-SDK/Dependencies/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
+       Module
+               Name:   System.Directory
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/Platform/OS-Posix
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   System.Environment
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/Platform/OS-Posix
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   System.File
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/Platform/OS-Posix
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   System.OSError
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/Platform/OS-Posix
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   System.Process
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/Platform/OS-Posix
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   System.Time
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/Platform/OS-Posix
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   Sapl.FastString
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/SAPL
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   Sapl.Linker.LazyLinker
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/SAPL
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   Sapl.Linker.SaplLinkerShared
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/SAPL
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   Sapl.Optimization.StrictnessPropagation
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/SAPL
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   Sapl.SaplParser
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/SAPL
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   Sapl.SaplStruct
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/SAPL
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   Sapl.SaplTokenizer
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/SAPL
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   Sapl.Target.Flavour
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/SAPL
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   Sapl.Target.JS.CodeGeneratorJS
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/SAPL
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   Sapl.Transform.AddSelectors
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/SAPL
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   Sapl.Transform.Let
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/SAPL
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   dynamic_string
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/graph_copy
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+               NeededObjFiles
+                       ObjectFile:     copy_string_to_graph.
+                       ObjectFile:     copy_string_to_graph_interface.
+                       ObjectFile:     copy_graph_to_string.
+                       ObjectFile:     copy_graph_to_string_interface.
+       Module
+               Name:   graph_to_sapl_string
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/graph_copy
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   graph_to_string_with_descriptors
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/graph_copy
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+               NeededObjFiles
+                       ObjectFile:     copy_graph_to_string.
+                       ObjectFile:     copy_graph_to_string_interface.
+       Module
+               Name:   sapldebug
+               Dir:    {Application}/lib/iTasks-SDK/Dependencies/graph_copy
+               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/iTasks-SDK/Patches/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/iTasks-SDK/Patches/Generics
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   GenLexOrd
+               Dir:    {Application}/lib/iTasks-SDK/Patches/Generics
+               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/iTasks-SDK/Patches/StdEnv
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   TCPChannels
+               Dir:    {Application}/lib/iTasks-SDK/Patches/TCPIP
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks.API
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks.API.Common.DBTasks
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks.API.Common.ExportTasks
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks.API.Common.ImportTasks
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks.API.Common.InteractionTasks
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks.API.Common.SDSCombinators
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks.API.Common.TaskCombinators
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks.API.Core.Client.Component
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks.API.Core.Client.Editlet
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks.API.Core.Client.Interface
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks.API.Core.Client.Tasklet
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks.API.Core.IntegrationTasks
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks.API.Core.LayoutCombinators
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks.API.Core.OptimizedCoreTasks
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks.API.Core.SDSCombinators
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks.API.Core.SDSs
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks.API.Core.TaskCombinators
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks.API.Core.Tasks
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks.API.Core.Types
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks.API.Extensions.Admin.UserAdmin
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks.API.Extensions.Admin.WorkflowAdmin
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks.API.Extensions.SVG.SVGlet
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks.API.Extensions.User
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.Client.JSStore
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.Client.LinkerSupport
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.Client.Override
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.Client.RunOnClient
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.Client.Tasklet
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.DynamicUtil
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.Engine
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.Generic
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.Generic.Defaults
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.Generic.Interaction
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.Generic.Visualization
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.HtmlUtil
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.HttpUtil
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.IWorld
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.RemoteAccess
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.SDS
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.SDSService
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.Serialization
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.Store
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.Task
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.TaskEval
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.TaskServer
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.TaskState
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.TaskStore
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.Tonic
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.Tonic.AbsSyn
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.Tonic.Images
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.Tonic.Pretty
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.Tonic.Types
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.UIDefinition
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.UIDiff
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.Util
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
+       Module
+               Name:   iTasks._Framework.WebService
+               Dir:    {Application}/lib/iTasks-SDK/Server
+               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/iTasks-SDK/Server/lib
+               Compiler
+                       NeverMemoryProfile:     False
+                       NeverTimeProfile:       False
+                       StrictnessAnalysis:     True
+                       ListTypes:      StrictExportTypes
+                       ListAttributes: True
+                       Warnings:       True
+                       Verbose:        True
+                       ReadableABC:    False
+                       ReuseUniqueNodes:       True
+                       Fusion: False
diff --git a/a3/mart_map2/skeleton3a.icl b/a3/mart_map2/skeleton3a.icl
new file mode 100644 (file)
index 0000000..487c1ad
--- /dev/null
@@ -0,0 +1,262 @@
+module skeleton3a\r
+/* \r
+       Mart Lubbers s4109503\r
+       Charlie Gerhardus s3050009\r
+*/\r
+\r
+/*\r
+ Advanced Programming.\r
+ Skeleton for exercise 3.1 and 3.2.\r
+ To be used in a project with the environment Everything, \r
+ or StdEnv with an import of StdMaybe from StdLib\r
+\r
+ Pieter Koopman, pieter@cs.ru.nl\r
+*/\r
+\r
+import StdEnv, StdMaybe\r
+\r
+/************* showing *******************/\r
+\r
+class show_0 t where show_0 :: t [String] -> [String]\r
+\r
+instance show_0 Int where show_0 i c = [toString i:c]\r
+instance show_0 Bool where show_0 b c = [toString b:c]\r
+\r
+instance show_0 UNIT where show_0 _ c = c\r
+\r
+show :: a -> [String] | show_0 a\r
+show a = show_0 a []\r
+\r
+/**************** parsing *************************/\r
+\r
+:: Result a :== Maybe (a,[String])\r
+\r
+class parse0 t :: [String] -> Result t\r
+\r
+instance parse0 Int where\r
+       parse0 [i:r] = Just (toInt i, r)\r
+       parse0 r = Nothing\r
+\r
+instance parse0 Bool where\r
+       parse0 [b:r] = Just (b == "True", r)\r
+       parse0 r = Nothing\r
+\r
+instance parse0 UNIT where\r
+       parse0 r = Just (UNIT, r)\r
+\r
+/**************** Example Types and conversions *************************/\r
+\r
+:: T = C\r
+:: Color = Red | Yellow | Blue\r
+:: Tree a = Tip | Bin a (Tree a) (Tree a)\r
+\r
+// Binary sums and products (in generic prelude)\r
+:: UNIT = UNIT\r
+:: PAIR a b = PAIR a b\r
+:: EITHER a b = LEFT a | RIGHT b\r
+:: CONS a = CONS String a\r
+\r
+// Generic type representations\r
+:: TG :== CONS UNIT\r
+:: ColorG :== EITHER (EITHER (CONS UNIT) (CONS UNIT)) (CONS UNIT)\r
+:: ListG a :== EITHER (CONS UNIT) (CONS (PAIR a [a]))\r
+:: TreeG a :== EITHER (CONS UNIT) (CONS (PAIR a (PAIR (Tree a) (Tree a))))\r
+:: TupG a b :== CONS (PAIR a b)\r
+\r
+// Conversions\r
+\r
+fromT :: T -> TG\r
+fromT c = CONS "C" UNIT\r
+\r
+fromColor :: Color  -> ColorG\r
+fromColor Red = LEFT (LEFT (CONS "Red" UNIT))\r
+fromColor Yellow = LEFT (RIGHT (CONS "Yellow" UNIT))\r
+fromColor Blue = RIGHT (CONS "Blue" UNIT)\r
+\r
+fromList :: [a] -> ListG a\r
+fromList [] = LEFT(CONS "Nil" UNIT)\r
+fromList [a:as] = RIGHT (CONS "Cons" (PAIR a as))\r
+\r
+fromTree :: (Tree a) -> TreeG a\r
+fromTree Tip = LEFT(CONS "Tip" UNIT)\r
+fromTree (Bin a l r) = RIGHT (CONS "Bin" (PAIR a (PAIR l r)))\r
+\r
+fromTup :: (a,b) -> TupG a b\r
+fromTup (a,b) = CONS "Tuple2" (PAIR a b)\r
+\r
+toT :: TG -> T\r
+toT (CONS _ UNIT) = C\r
+\r
+toColor :: ColorG -> Color\r
+toColor (LEFT (LEFT(CONS _ UNIT))) = Red\r
+toColor (LEFT (RIGHT (CONS _ UNIT))) = Yellow\r
+toColor (RIGHT (CONS _ UNIT)) = Blue\r
+\r
+toList :: (ListG a) -> [a]\r
+toList (LEFT (CONS s UNIT)) = []\r
+toList (RIGHT (CONS s (PAIR a as))) = [a:as]\r
+\r
+toTree :: (TreeG a) -> Tree a\r
+toTree (LEFT (CONS s UNIT))= Tip\r
+toTree (RIGHT (CONS s (PAIR a (PAIR l r)))) = Bin a l r\r
+\r
+toTup :: (TupG a b) -> (a,b)\r
+toTup (CONS s (PAIR a b)) = (a,b)\r
+\r
+/**************** to test if parse and show work properly *************************/\r
+\r
+test :: t -> Bool | eq0, show_0, parse0 t\r
+test x = case parse0 (show x) of\r
+       Just (y,[]) = eq0 x y\r
+       _ = False\r
+\r
+/**************** equality with a class for each kind *************************/\r
+\r
+class eq0 t ::t t-> Bool\r
+class eq1 t :: (a a -> Bool) (t a) (t a) -> Bool\r
+class eq2 t :: (a a -> Bool) (b b -> Bool) (t a b) (t a b) -> Bool\r
+\r
+instance eq0 UNIT where eq0 _ _ = True\r
+instance eq0 Int where eq0 n m = n == m\r
+\r
+instance eq1 CONS where eq1 f (CONS s x) (CONS t y) = s == t && f x y\r
+\r
+instance eq2 PAIR where eq2 f g (PAIR a b) (PAIR x y) = f a x && g b y\r
+instance eq2 EITHER where\r
+       eq2 f g (LEFT x) (LEFT y)= f x y\r
+       eq2 f g (RIGHT x) (RIGHT y)= g x y\r
+       eq2 f g _ _ = False\r
+\r
+instance eq0 [a] | eq0 a where eq0 l m = eq1 eq0 l m\r
+instance eq1 [] where eq1 f l m = eq2 (eq1 eq0) (eq1 (eq2 f (eq1 f))) (fromList l) (fromList m)\r
+\r
+/**************** map *************************/\r
+\r
+class map0 t :: t -> t\r
+class map1 t :: (a -> b) (t a) -> t b\r
+class map2 t :: (a -> b) (c -> d) (t a c) -> t b d \r
+\r
+instance map0 Int where map0 i = i\r
+instance map0 UNIT where map0 UNIT = UNIT\r
+\r
+instance map1 CONS where map1 f (CONS n x) = CONS n (f x)\r
+\r
+instance map2 PAIR where map2 f g (PAIR x y) = PAIR (f x) (g y)\r
+instance map2 EITHER where\r
+       map2 f g (LEFT x) = LEFT (f x)\r
+       map2 f g (RIGHT y)= RIGHT (g y)\r
+\r
+/**************** End Prelude *************************/\r
+\r
+/**************** please add all new code below this line *************************/\r
+//Show stuff\r
+class show_1 t where show_1 :: (a [String] -> [String]) (t a) [String] -> [String]\r
+class show_2 t where show_2 :: (a [String] -> [String]) (b [String] -> [String]) (t a b) [String] -> [String]\r
+\r
+instance show_1 CONS where\r
+       show_1 f (CONS s x) c = [s:f x c]\r
+instance show_2 PAIR where\r
+       show_2 f1 f2 (PAIR x1 x2) c = f1 x1 (f2 x2 c)\r
+instance show_2 EITHER where\r
+       show_2 f1 f2 (LEFT x1) c = f1 x1 c\r
+       show_2 f1 f2 (RIGHT x2) c = f2 x2 c\r
+\r
+instance show_0 Color where\r
+       show_0 x c = show_2 (show_2 (show_1 show_0) (show_1 show_0)) (show_1 show_0) (fromColor x) c\r
+\r
+instance show_1 Tree where\r
+       show_1 f x c = show_2 (show_1 show_0) (show_1 (show_2 f (show_2 (show_1 f) (show_1 f)))) (fromTree x) c\r
+instance show_0 (Tree a) | show_0 a where\r
+       show_0 x c = show_1 show_0 x c\r
+\r
+instance show_1 [] where\r
+       show_1 f x c = show_2 (show_1 show_0) (show_1 (show_2 f (show_1 f))) (fromList x) c\r
+instance show_0 [a] | show_0 a where\r
+       show_0 x c = show_1 show_0 x c\r
+\r
+instance show_0 (a, b) | show_0 a & show_0 b where\r
+       show_0 x c = show_1 (show_2 show_0 show_0) (fromTup x) c\r
+\r
+instance show_0 T where\r
+       show_0 x c = show_1 show_0 (fromT x) c\r
+\r
+//Parsing stuff\r
+class parse1 t :: ([String] -> Result a) [String] -> Result (t a)\r
+class parse2 t :: ([String] -> Result a) ([String] -> Result b) [String] -> Result (t a b)\r
+\r
+instance parse1 CONS where\r
+       parse1 f [s:r] = case f r of\r
+               Just (x, r) = Just (CONS s x, r)\r
+               _ = Nothing\r
+       parse1 _ _ = Nothing\r
+\r
+instance parse2 PAIR where\r
+       parse2 f1 f2 r = case f1 r of\r
+               Just (x1, r) = case f2 r of\r
+                       Just (x2, r) = Just (PAIR x1 x2, r)\r
+                       _ = Nothing\r
+               _ = Nothing\r
+\r
+instance parse2 EITHER where\r
+       parse2 f1 f2 r = case f2 r of\r
+               Just (x, r) = Just (RIGHT x, r)\r
+               _ = case f1 r of\r
+                       Just (x, r) = Just (LEFT x, r)\r
+                       _ = Nothing\r
+\r
+instance parse0 Color where\r
+       parse0 r = case parse2 (parse2 (parse1 parse0) (parse1 parse0)) (parse1 parse0) r of\r
+               Just (x, r) = Just (toColor x, r)\r
+               _ = Nothing\r
+\r
+instance parse1 Tree where\r
+       parse1 f r = case parse2 (parse1 parse0) (parse1 (parse2 f (parse2 (parse1 f) (parse1 f)))) r of\r
+               Just (x, r) = Just (toTree x, r)\r
+               _ = Nothing\r
+instance parse0 (Tree a) | parse0 a where\r
+       parse0 r = parse1 parse0 r\r
+\r
+instance parse1 [] where\r
+       parse1 f r = case parse2 (parse1 parse0) (parse1 (parse2 f (parse1 f))) r of\r
+               Just (x, r) = Just (toList x, r)\r
+               _ = Nothing\r
+instance parse0 [a] | parse0 a where\r
+       parse0 r = parse1 parse0 r\r
+\r
+instance parse0 (a, b) | parse0 a & parse0 b where\r
+       parse0 r = case parse1 (parse2 parse0 parse0) r of\r
+               Just (x, r) = Just (toTup x, r)\r
+               _ = Nothing\r
+\r
+instance parse0 T where\r
+       parse0 r = case parse1 parse0 r of\r
+               Just (x, r) = Just (toT x, r)\r
+               _ = Nothing\r
+\r
+instance eq0 Color where \r
+       eq0 c1 c2 = eq2 (eq2 (eq1 eq0) (eq1 eq0)) (eq1 eq0) (fromColor c1) (fromColor c2)\r
+instance == Color where \r
+       (==) c1 c2 = eq0 c1 c2\r
+\r
+instance map1 [] where\r
+       map1 f l = toList (map2 (map1 map0) (map1 (map2 f (map1 f))) (fromList l))\r
+\r
+instance map1 Tree where\r
+       map1 f t = toTree (map2 (map1 map0) (map1 (map2 f (map2 (map1 f) (map1 f)))) (fromTree t))\r
+\r
+instance map2 (,) where\r
+       map2 f1 f2 t = toTup y where\r
+               y = map1 (map2 f1 f2) x where \r
+                       x = fromTup t\r
+\r
+Start = (\r
+       map1 fac aTree,\r
+       map1 fac aList,\r
+       map2 (map1 fac) (map1 fac) (aList, aTree),\r
+       map1 (\x.(x, fac x)) aList\r
+       )\r
+       where\r
+               fac 1 = 1\r
+               fac n = n * (fac (n-1))\r
+               aTree = Bin 2 Tip (Bin 4 Tip Tip)\r
+               aList = [1..10]\r
diff --git a/a3/mart_map2/skeleton3a_wt.icl b/a3/mart_map2/skeleton3a_wt.icl
new file mode 100644 (file)
index 0000000..3a92faf
--- /dev/null
@@ -0,0 +1,223 @@
+module skeleton3a_wt\r
+/* \r
+       Mart Lubbers s4109503\r
+       Charlie Gerhardus s3050009\r
+*/\r
+\r
+/*\r
+ Advanced Programming.\r
+ Skeleton for exercise 3.1 and 3.2.\r
+ To be used in a project with the environment Everything, \r
+ or StdEnv with an import of StdMaybe from StdLib\r
+\r
+ Pieter Koopman, pieter@cs.ru.nl\r
+*/\r
+\r
+import StdEnv, StdMaybe\r
+\r
+/************* showing *******************/\r
+\r
+class show_0 t where show_0 :: t [String] -> [String]\r
+class show_1 t where show_1 :: (a [String] -> [String]) (t a) [String] -> [String]\r
+class show_2 t where show_2 :: (a [String] -> [String]) (b [String] -> [String]) (t a b) [String] -> [String]\r
+\r
+instance show_0 Int where show_0 i c = [IntTag :toString i:c]\r
+instance show_0 Bool where show_0 b c = [BoolTag:toString b:c]\r
+\r
+instance show_0 UNIT where show_0 unit c = [UNITTag:c]\r
+instance show_1 CONS where\r
+       show_1 f (CONS s x) c = [CONSTag,s:f x c]\r
+instance show_2 PAIR where\r
+       show_2 f1 f2 (PAIR x1 x2) c = [PAIRTag:f1 x1 (f2 x2 c)]\r
+instance show_2 EITHER where\r
+       show_2 f1 f2 (LEFT x1) c = [LEFTTag:f1 x1 c]\r
+       show_2 f1 f2 (RIGHT x2) c = [RIGHTTag:f2 x2 c]\r
+\r
+instance show_0 Color where\r
+       show_0 x c = show_2 (show_2 (show_1 show_0) (show_1 show_0)) (show_1 show_0) (fromColor x) c\r
+\r
+instance show_1 Tree where\r
+       show_1 f x c = show_2 (show_1 show_0) (show_1 (show_2 f (show_2 (show_1 f) (show_1 f)))) (fromTree x) c\r
+instance show_0 (Tree a) | show_0 a where\r
+       show_0 x c = show_1 show_0 x c\r
+\r
+instance show_1 [] where\r
+       show_1 f x c = show_2 (show_1 show_0) (show_1 (show_2 f (show_1 f))) (fromList x) c\r
+instance show_0 [a] | show_0 a where\r
+       show_0 x c = show_1 show_0 x c\r
+\r
+instance show_0 (a, b) | show_0 a & show_0 b where\r
+       show_0 x c = show_1 (show_2 show_0 show_0) (fromTup x) c\r
+\r
+instance show_0 T where\r
+       show_0 x c = show_1 show_0 (fromT x) c\r
+\r
+IntTag :== "Int"\r
+BoolTag :== "Bool"\r
+UNITTag :== "UNIT"\r
+PAIRTag :== "PAIR"\r
+LEFTTag :== "LEFT"\r
+RIGHTTag :== "RIGHT"\r
+CONSTag :== "CONS"\r
+\r
+show :: a -> [String] | show_0 a\r
+show a = show_0 a []\r
+\r
+/**************** parsing *************************/\r
+\r
+:: Result a :== Maybe (a,[String])\r
+\r
+class parse0 t :: [String] -> Result t\r
+class parse1 t :: ([String] -> Result a) [String] -> Result (t a)\r
+class parse2 t :: ([String] -> Result a) ([String] -> Result b) [String] -> Result (t a b)\r
+\r
+instance parse0 Int where\r
+       parse0 [IntTag,i:r] = Just (toInt i, r)\r
+       parse0 r = Nothing\r
+\r
+instance parse0 Bool where\r
+       parse0 [BoolTag,b:r] = Just (b == "True", r)\r
+       parse0 r = Nothing\r
+\r
+instance parse0 UNIT where\r
+       parse0 [UNITTag:r] = Just (UNIT, r)\r
+       parse0 r = Nothing\r
+\r
+instance parse1 CONS where\r
+       parse1 f [CONSTag,s:r] = case f r of\r
+               Just (x, r) = Just (CONS s x, r)\r
+               _ = Nothing\r
+       parse1 _ _ = Nothing\r
+\r
+instance parse2 PAIR where\r
+       parse2 f1 f2 [PAIRTag:r] = case f1 r of\r
+               Just (x1, r) = case f2 r of\r
+                       Just (x2, r) = Just (PAIR x1 x2, r)\r
+                       _ = Nothing\r
+               _ = Nothing\r
+       parse2 _ _ _ = Nothing \r
+\r
+instance parse2 EITHER where\r
+       parse2 f1 f2 [LEFTTag:r] = case f1 r of\r
+               Just (x, r) = Just (LEFT x, r)\r
+               _ = Nothing\r
+       parse2 f1 f2 [RIGHTTag:r] = case f2 r of\r
+               Just (x, r) = Just (RIGHT x, r)\r
+               _ = Nothing\r
+\r
+instance parse0 Color where\r
+       parse0 r = case parse2 (parse2 (parse1 parse0) (parse1 parse0)) (parse1 parse0) r of\r
+               Just (x, r) = Just (toColor x, r)\r
+               _ = Nothing\r
+\r
+instance parse1 Tree where\r
+       parse1 f r = case parse2 (parse1 parse0) (parse1 (parse2 f (parse2 (parse1 f) (parse1 f)))) r of\r
+               Just (x, r) = Just (toTree x, r)\r
+               _ = Nothing\r
+instance parse0 (Tree a) | parse0 a where\r
+       parse0 r = parse1 parse0 r\r
+\r
+instance parse1 [] where\r
+       parse1 f r = case parse2 (parse1 parse0) (parse1 (parse2 f (parse1 f))) r of\r
+               Just (x, r) = Just (toList x, r)\r
+               _ = Nothing\r
+instance parse0 [a] | parse0 a where\r
+       parse0 r = parse1 parse0 r\r
+\r
+instance parse0 (a, b) | parse0 a & parse0 b where\r
+       parse0 r = case parse1 (parse2 parse0 parse0) r of\r
+               Just (x, r) = Just (toTup x, r)\r
+               _ = Nothing\r
+\r
+instance parse0 T where\r
+       parse0 r = case parse1 parse0 r of\r
+               Just (x, r) = Just (toT x, r)\r
+               _ = Nothing\r
+\r
+/**************** Example Types and conversions *************************/\r
+\r
+:: T = C\r
+:: Color = Red | Yellow | Blue\r
+:: Tree a = Tip | Bin a (Tree a) (Tree a)\r
+\r
+// Binary sums and products (in generic prelude)\r
+:: UNIT = UNIT\r
+:: PAIR a b = PAIR a b\r
+:: EITHER a b = LEFT a | RIGHT b\r
+:: CONS a = CONS String a\r
+\r
+// Generic type representations\r
+:: TG :== CONS UNIT\r
+:: ColorG :== EITHER (EITHER (CONS UNIT) (CONS UNIT)) (CONS UNIT)\r
+:: ListG a :== EITHER (CONS UNIT) (CONS (PAIR a [a]))\r
+:: TreeG a :== EITHER (CONS UNIT) (CONS (PAIR a (PAIR (Tree a) (Tree a))))\r
+:: TupG a b :== CONS (PAIR a b)\r
+\r
+// Conversions\r
+\r
+fromT :: T -> TG\r
+fromT c = CONS "C" UNIT\r
+\r
+fromColor :: Color  -> ColorG\r
+fromColor Red = LEFT (LEFT (CONS "Red" UNIT))\r
+fromColor Yellow = LEFT (RIGHT (CONS "Yellow" UNIT))\r
+fromColor Blue = RIGHT (CONS "Blue" UNIT)\r
+\r
+fromList :: [a] -> ListG a\r
+fromList [] = LEFT(CONS "Nil" UNIT)\r
+fromList [a:as] = RIGHT (CONS "Cons" (PAIR a as))\r
+\r
+fromTree :: (Tree a) -> TreeG a\r
+fromTree Tip = LEFT(CONS "Tip" UNIT)\r
+fromTree (Bin a l r) = RIGHT (CONS "Bin" (PAIR a (PAIR l r)))\r
+\r
+fromTup :: (a,b) -> TupG a b\r
+fromTup (a,b) = CONS "Tuple2" (PAIR a b)\r
+\r
+toT :: TG -> T\r
+toT (CONS _ UNIT) = C\r
+\r
+toColor :: ColorG -> Color\r
+toColor (LEFT (LEFT(CONS _ UNIT))) = Red\r
+toColor (LEFT (RIGHT (CONS _ UNIT))) = Yellow\r
+toColor (RIGHT (CONS _ UNIT)) = Blue\r
+\r
+toList :: (ListG a) -> [a]\r
+toList (LEFT (CONS s UNIT)) = []\r
+toList (RIGHT (CONS s (PAIR a as))) = [a:as]\r
+\r
+toTree :: (TreeG a) -> Tree a\r
+toTree (LEFT (CONS s UNIT))= Tip\r
+toTree (RIGHT (CONS s (PAIR a (PAIR l r)))) = Bin a l r\r
+\r
+toTup :: (TupG a b) -> (a,b)\r
+toTup (CONS s (PAIR a b)) = (a,b)\r
+\r
+/**************** to test if parse and show work properly *************************/\r
+\r
+test :: t -> Bool | eq0, show_0, parse0 t\r
+test x = case parse0 (show x) of\r
+       Just (y,[]) = eq0 x y\r
+       _ = False\r
+\r
+/**************** equality with a class for each kind *************************/\r
+\r
+class eq0 t ::t t-> Bool\r
+class eq1 t :: (a a -> Bool) (t a) (t a) -> Bool\r
+class eq2 t :: (a a -> Bool) (b b -> Bool) (t a b) (t a b) -> Bool\r
+\r
+instance eq0 UNIT where eq0 _ _ = True\r
+instance eq0 Int where eq0 n m = n == m\r
+\r
+instance eq1 CONS where eq1 f (CONS s x) (CONS t y) = s == t && f x y\r
+\r
+instance eq2 PAIR where eq2 f g (PAIR a b) (PAIR x y) = f a x && g b y\r
+instance eq2 EITHER where\r
+       eq2 f g (LEFT x) (LEFT y)= f x y\r
+       eq2 f g (RIGHT x) (RIGHT y)= g x y\r
+       eq2 f g _ _ = False\r
+\r
+instance eq0 [a] | eq0 a where eq0 l m = eq1 eq0 l m\r
+instance eq1 [] where eq1 f l m = eq2 (eq1 eq0) (eq1 (eq2 f (eq1 f))) (fromList l) (fromList m)\r
+\r
+Start = "Hi"\r
diff --git a/a3/mart_map2/skeleton3b.icl b/a3/mart_map2/skeleton3b.icl
new file mode 100644 (file)
index 0000000..a0675f9
--- /dev/null
@@ -0,0 +1,102 @@
+module skeleton3b\r
+\r
+/*\r
+       Advanced Programming.\r
+       Skeleton for exercise 3.3 and 3.4.\r
+       To be used in a project with the environment Everything, \r
+       or StdEnv with an import of StdMaybe from StdLib\r
+\r
+       Pieter Koopman, pieter@cs.ru.nl\r
+*/\r
+\r
+import StdEnv, StdGeneric, StdMaybe, GenEq\r
+\r
+//------------------ show --------------\r
+generic show_ a :: a [String] -> [String]\r
+\r
+show_{|Int|}  i c = [toString i:c]\r
+show_{|Bool|} b c = [toString b:c]\r
+show_{|UNIT|} _ c = c\r
+\r
+show a = show_{|*|} a []\r
+\r
+//------------------ parse --------------\r
+\r
+:: Result a :== Maybe (a, [String])\r
+\r
+generic parse a :: [String] -> Result a\r
+\r
+parse{|Bool|} ["True" :r] = Just (True ,r)\r
+parse{|Bool|} ["False":r] = Just (False,r)\r
+parse{|Bool|} _ = Nothing\r
+\r
+//------------------ some data types --------------\r
+\r
+:: T           = C\r
+:: Color       = Red | Yellow | Blue\r
+:: Tree a      = Tip | Bin a (Tree a) (Tree a)\r
+\r
+//------------------ general useful --------------\r
+\r
+instance + String where (+) s t = s+++t\r
+derive bimap Maybe, []\r
+\r
+//------------------ to test if parse and show work properly --------------\r
+\r
+test :: t -> Bool | gEq{|*|}, show_{|*|}, parse{|*|} t\r
+test x\r
+       = case parse{|*|} (show x) of\r
+               Just (y,[])     = x === y\r
+               _                       = False\r
+\r
+/***** End Prelude, add all new code below this line *************************/\r
+//Show stuff\r
+show_{|OBJECT|} f (OBJECT x) c = f x c\r
+show_{|CONS of {gcd_name, gcd_arity}|} f (CONS x) c\r
+| gcd_arity == 0 = [gcd_name:f x c]\r
+| otherwise = ["(":gcd_name:f x [")":c]]\r
+show_{|PAIR|} f1 f2 (PAIR x1 x2) c = f1 x1 (f2 x2 c)\r
+show_{|EITHER|} f _ (LEFT x) c = f x c\r
+show_{|EITHER|} _ f (RIGHT x) c = f x c\r
+show_{|(,)|} f1 f2 (x1, x2) c = ["("] ++ f1 x1 [",":f2 x2 c]++[")"]\r
+\r
+derive show_ T, [], Color, Tree\r
+\r
+//Parse stuff (monads would make this more neat)\r
+parse{|Int|} [i:r] = Just (toInt i, r)\r
+parse{|Int|} _ = Nothing\r
+parse{|UNIT|} r = Just (UNIT, r)\r
+parse{|OBJECT|} f r = case f r of\r
+       Just (x, r) = Just (OBJECT x, r)\r
+       _ = Nothing\r
+parse{|CONS of {gcd_name, gcd_arity}|} f r\r
+| gcd_arity == 0 = case r of\r
+       [gcd_name:r] = case f r of\r
+               Just (x, r) = Just (CONS x, r)\r
+               _ = Nothing\r
+       _ = Nothing\r
+| otherwise = case r of\r
+       ["(",gcd_name:r] = case f r of\r
+               Just (x, r) = Just (CONS x, r % (0, (length r) - 2))\r
+               _ = Nothing\r
+       _ = Nothing\r
+parse{|PAIR|} f1 f2 r = case f1 r of\r
+       Just (x1, r) = case f2 r of\r
+               Just (x2, r) = Just (PAIR x1 x2, r)\r
+               _ = Nothing\r
+       _ = Nothing\r
+parse{|EITHER|} f1 f2 r = case f2 r of\r
+       Just (x, r) = Just (RIGHT x, r)\r
+       _ = case f1 r of\r
+               Just (x, r) = Just (LEFT x, r)\r
+               _ = Nothing\r
+parse{|(,)|} f1 f2 ["(":r] = case f1 r of\r
+       Just (x1, r) = case r of\r
+               [",":r] = case f2 r of\r
+                       Just (x2, r) = Just ((x1, x2), r % (0, (length r) - 2))\r
+                       _ = Nothing\r
+               _ = Nothing\r
+       _ = Nothing\r
+\r
+derive parse T, [], Color, Tree\r
+Start = show 42\r