-
[clean-tests.git] / dyneditors / DynamicEditor.dcl
diff --git a/dyneditors/DynamicEditor.dcl b/dyneditors/DynamicEditor.dcl
deleted file mode 100644 (file)
index 36d91b0..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-definition module DynamicEditor
-
-// TODO: quantified variables with constraints?
-
-import iTasks
-
-:: DynamicEditor a =: DynamicEditor [DynamicCons]
-// phantom type only needed for top level
-:: DynamicEditorValue a = DynamicEditorValue !DynamicConsId !DEVal
-
-:: DEVal = DEApplication ![(!DynamicConsId, !DEVal)]
-         | DEJSONValue   !JSONNode
-
-derive class iTask DynamicEditorValue
-
-:: DynamicCons
-:: DynamicConsOption = HideIfOnlyChoice
-
-(<<@@@) infixl 2 :: !DynamicCons !DynamicConsOption -> DynamicCons
-(@@@>>) infixr 2 :: !DynamicConsOption !DynamicCons -> DynamicCons
-
-:: DynamicConsId :== String
-:: DynamicConsBuilder =     FunctionCons     !Dynamic
-                     | E.a: CustomEditorCons !(Editor a) & JSONEncode{|*|}, JSONDecode{|*|}, gText{|*|}, TC a
-                     |      ListCons         !Dynamic    //* must contain a value of type [a] -> b
-
-functionCons     :: !String !String !a          -> DynamicCons | TC a
-listCons         :: !String !String !([a] -> b) -> DynamicCons | TC a & TC b
-customEditorCons :: !String !String !(Editor a) -> DynamicCons | TC, JSONEncode{|*|}, JSONDecode{|*|}, gText{|*|} a
-// dynamic variants are required because this is the only way to use a quantified type variable
-functionConsDyn :: !String !String !Dynamic -> DynamicCons
-listConsDyn     :: !String !String !Dynamic -> DynamicCons
-
-dynamicEditor :: !(DynamicEditor a) -> Editor (DynamicEditorValue a) | TC a
-
-toValue              :: !(DynamicEditor a) !(DynamicEditorValue a) -> a | TC a
-dynEditorValToString :: !(DynamicEditor a) !(DynamicEditorValue a) -> String
-