]> gerrit.simantics Code Review - simantics/platform.git/blob - tests/org.simantics.scl.compiler.tests/src/org/simantics/scl/compiler/tests/scl/Unification1.scl
Fixed compilation problems and SWTAWTComponent focus problem with Java9+
[simantics/platform.git] / tests / org.simantics.scl.compiler.tests / src / 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)