ue
[clean-tests.git] / test.icl
index 2076421..2350a9a 100644 (file)
--- a/test.icl
+++ b/test.icl
@@ -1,45 +1,52 @@
 module test
-<<<<<<< HEAD
-
-import StdEnv
-from Data.Func import $
-import System.Directory
-import System.Time
-
-:: S s a = S .(s -> *(a, s))
-runS (S s) = s
-
-(>>=) infixl 1 :: u:(S .a .b) v:(.b -> .(S .a .c)) -> w:(S .a .c), [w <= u,w <= v]
-(>>=) ma a2mb = S \s
-       # (a, s) = runS ma s
-       = runS (a2mb a) s
-
-Start world = flip runS world
-       $   (S time)
-       >>= \_->S (readDirectory "/home/mrl")
-=======
-import qualified Data.Map as DM
-import iTasks
-import Data.Func
-import Data.Tuple
-import StdEnv
-
-Start w = doTasksWithOptions (\a o->Ok $ flip tuple {o & autoLayout=True} $
-       (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, tab "New tab"))
-               ]
-       <<@ ArrangeWithTabs True
-       <<@ ApplyLayout (setActionIcon ('DM'.put " " "new" 'DM'.newMap))
-       )) w
-
-tab title _ = tune (Title title)
-       $   viewInformation [] ()
-       >>* [OnAction (Action "Close") (always (treturn ()))]
->>>>>>> 49f7dcc4c088dc816398a0c7854d75d7c2628f15
+
+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} {!}
+       ]
+/*
+derive bimap Box
+
+:: Box b a =: Box b
+
+unBox (Box b) :== b
+box b :== Box b
+
+generic gPotentialInf a :: [String] -> Box Bool a
+
+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{|*|} []
+*/