definition module MetaType from StdOverloaded import class toString, class fromString from iTasks.UI.Editor import :: Editor from iTasks.UI.Definition import :: UIType from iTasks.WF.Definition import class iTask from iTasks.UI.Editor import :: Editor from iTasks.UI.Editor.Generic import generic gEditor from iTasks.Internal.Generic.Visualization import generic gText, :: TextFormat from iTasks.Internal.Generic.Defaults import generic gDefault from iTasks.WF.Definition import :: Task from Text.GenJSON import generic JSONEncode, generic JSONDecode, :: JSONNode from Data.GenEq import generic gEq from Data.Maybe import :: Maybe from Data.Either import :: Either derive class iTask MetaType derive gEq MetaInst derive gText MetaInst derive JSONEncode MetaInst derive JSONDecode MetaInst derive gEditor MetaInst derive gDefault MetaInst :: MetaType = MInt | MReal | MBool | MChar | MVoid | MPoint MetaType | MThis | MRecord [(String, MetaType)] | MADT [(String, [MetaType])] // | MTup2 (MetaType, MetaType) // | MTup3 (MetaType, MetaType, MetaType) // | MTup4 (MetaType, MetaType, MetaType, MetaType) :: MetaInst = IInt Int | IReal Real | IBool Bool | IChar Char | IVoid | IPoint String | IRecord [MetaInst] | IADT Int [MetaInst] typeToInst :: MetaType -> MetaInst typeToEditor :: MetaType -> Editor MetaInst enterValueOfType :: MetaType -> Task MetaInst parse :: MetaType [Char] -> Either String (MetaInst, [Char]) instance toString MetaType instance fromString MetaType