ushalow
[clean-tests.git] / test.icl
index 88f470b..2350a9a 100644 (file)
--- a/test.icl
+++ b/test.icl
@@ -1,48 +1,52 @@
 module test
 
-import Data.Func
-import qualified Data.Map as DM
-import iTasks
+import StdEnv, StdGeneric
+import Data.Array
 
+Start :: [{!Int}]
+Start =
+       [ appendArr {!1,2,3} {!4,5,6,7}
+       , appendArr {!} {!}
+       , appendArr {!} {!1,2,3}
+       , appendArr {!1,2,3} {!}
+       ]
 /*
-Start w = doTasksWithOptions
-//     (\a o->Ok o)
-       (\a o->Ok {o & autoLayout=False})
-       (parallel
-               [(Embedded, tab "tab1")
-               ,(Embedded, tab "tab2")
-               ]
-               [ OnAction (Action "New") (always (Embedded, tab "New tab"))
-               , OnAction (Action " ") (always (Embedded, tab "New tab"))
-               , OnAction (Action "Close") (never (Embedded, \_->treturn ()))
-               , OnAction (Action "Dis no icon") (never (Embedded, \_->treturn ()))
-               , OnAction (Action "+") (always (Embedded, \_->treturn ()))
-               ]
-//     <<@ ArrangeWithTabs True
-       <<@ ApplyLayout (setActionIcon ('DM'.put " " "new" 'DM'.newMap))
-       ) w
-
-tab title _ = tune (Title title)
-       $   viewInformation [] title
-       >>* [OnAction (Action "Close") (always (treturn ()))]
-*/
+derive bimap Box
+
+:: Box b a =: Box b
+
+unBox (Box b) :== b
+box b :== Box b
+
+generic gPotentialInf a :: [String] -> Box Bool a
 
-import StdDebug, Text.GenPrint
-Start w = doTasks (onStartup t) w
-
-null :: SDSSource () () ()
-null = nullShare
-
-t = tcpconnect "localhost" 9999 (Just 500) null
-//t = tcpconnect "localhost" 9999 Nothing null
-       { onConnect     = \cid host   r = trace_n (printToString ("onConnect: ", cid, host, r))
-               (Ok (), Nothing, [], False)
-       , onData        = \    data l r = trace_n (printToString ("onData: ", data, l, r))
-               (Ok (), Nothing, [], False)
-       , onShareChange = \         l r = trace_n (printToString ("onShareChange: ", l, r))
-               (Ok (), Nothing, [], False)
-       , onDisconnect  = \         l r = trace_n (printToString ("onDisconnect: ", l, r))
-               (Ok (), Nothing)
-       , onDestroy     = \         l   = trace_n (printToString ("onDestroy: ", l))
-               (Ok (), [])
-       }
+gPotentialInf{|World|} _ = box False
+gPotentialInf{|File|} _ = box False
+gPotentialInf{|Bool|} _ = box False
+gPotentialInf{|Char|} _ = box False
+gPotentialInf{|Real|} _ = box False
+gPotentialInf{|Int|} _ = box False
+gPotentialInf{|Dynamic|} _ = box False
+gPotentialInf{|(->)|} _ _ _ = box False
+gPotentialInf{|{}|} a m = box (unBox (a m))
+gPotentialInf{|{!}|} a m = box (unBox (a m))
+gPotentialInf{|{#}|} a m = box (unBox (a m))
+gPotentialInf{|UNIT|} _ = box False
+gPotentialInf{|EITHER|} l r m = box (unBox (l m) || unBox (r m))
+gPotentialInf{|PAIR|} l r m = box (unBox (l m) || unBox (r m))
+gPotentialInf{|CONS|} x m = box (unBox (x m))
+gPotentialInf{|FIELD|} x m = box (unBox (x m))
+gPotentialInf{|RECORD of {grd_name}|} x m
+       | isMember grd_name m = box True
+       = box (unBox (x [grd_name:m]))
+gPotentialInf{|OBJECT of {gtd_name}|} x m
+       | isMember gtd_name m = box True
+       = box (unBox (x [gtd_name:m]))
+
+//derive gPotentialInf Int,Bool,Char,Real,String,File,World,Dynamic
+derive gPotentialInf (),(,),(,,),(,,,),(,,,,),(,,,,,),(,,,,,,),(,,,,,,,),(,,,,,,,,),(,,,,,,,,,),(,,,,,,,,,,),(,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,,),(,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,),(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)
+derive gPotentialInf {},{#},{!},[],[! ],[ !],[!!],[#],[#!]
+
+Start :: Box Bool *File
+Start = gPotentialInf{|*|} []
+*/