1 definition module MetaType
3 from StdOverloaded import class toString, class fromString
4 from iTasks.UI.Editor import :: Editor
5 from iTasks.UI.Definition import :: UIType
6 from iTasks.WF.Definition import class iTask
7 from iTasks.UI.Editor import :: Editor
8 from iTasks.UI.Editor.Generic import generic gEditor
9 from iTasks.Internal.Generic.Visualization import generic gText, :: TextFormat
10 from iTasks.Internal.Generic.Defaults import generic gDefault
11 from iTasks.WF.Definition import :: Task
12 from Text.GenJSON import generic JSONEncode, generic JSONDecode, :: JSONNode
13 from Data.GenEq import generic gEq
14 from Data.Maybe import :: Maybe
15 from Data.Either import :: Either
17 derive class iTask MetaType
20 derive JSONEncode MetaInst
21 derive JSONDecode MetaInst
22 derive gEditor MetaInst
23 derive gDefault MetaInst
25 :: MetaType = MInt | MReal | MBool | MChar | MVoid | MPoint MetaType | MThis
26 | MRecord [(String, MetaType)] | MADT [(String, [MetaType])]
27 // | MTup2 (MetaType, MetaType)
28 // | MTup3 (MetaType, MetaType, MetaType)
29 // | MTup4 (MetaType, MetaType, MetaType, MetaType)
31 :: MetaInst = IInt Int | IReal Real | IBool Bool | IChar Char | IVoid
32 | IPoint String | IRecord [MetaInst] | IADT Int [MetaInst]
34 typeToInst :: MetaType -> MetaInst
35 typeToEditor :: MetaType -> Editor MetaInst
37 enterValueOfType :: MetaType -> Task MetaInst
39 parse :: MetaType [Char] -> Either String (MetaInst, [Char])
41 instance toString MetaType
42 instance fromString MetaType