]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.compiler/tests/org/simantics/scl/compiler/tests/scl/Unification1.scl
Added info on backup location to documentation backup.
[simantics/platform.git] / bundles / org.simantics.scl.compiler / tests / org / simantics / scl / compiler / tests / scl / Unification1.scl
1 import "JavaBuiltin" as Java
2 import "StandardLibrary"
3 import "Unification"
4
5 pair :: Default a => Default b => UTag (a, b) (Unifiable a, Unifiable b)
6 pair = uTag 0 (\(ua, ub) -> (extract ua, extract ub)) Java.unsafeCoerce  
7
8 /*triple :: Default a => Default b => Default c =>
9     UTag (a, b, c) (Unifiable a, Unifiable b, Unifiable c)*/
10 triple = uTag 0 (\(ua, ub, uc) -> (extract ua, extract ub, extract uc)) Java.unsafeCoerce  
11
12 main :: (Integer,Integer,Integer)
13 main = do
14     um1 = createUMap
15     um2 = createUMap
16     v1 = uVar
17     v2 = uVar
18     v3 = uVar
19     vX = uVar
20     putUMap um1 "a" (uCons triple (v1, v2, v3))
21     putUMap um1 "a" (uCons triple (v2, v3, v1))
22     putUMap um1 "a" (uCons triple (vX, uVar, uVar))
23     putUMap um2 "b" vX
24     putUMapC um2 "b" 12
25
26     getUMap um1 "a"
27 --
28 (12,12,12)