]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.runtime/scl/TestCHR.scl
(refs #7250) CHR rules modularization (first working version)
[simantics/platform.git] / bundles / org.simantics.scl.runtime / scl / TestCHR.scl
diff --git a/bundles/org.simantics.scl.runtime/scl/TestCHR.scl b/bundles/org.simantics.scl.runtime/scl/TestCHR.scl
deleted file mode 100644 (file)
index 7958317..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-import "StandardLibrary"
-
-topologicalSort :: Show a => [(a,a)] -> <Proc> [a]
-topologicalSort dependencies = MList.freeze answer
-  where
-    answer = MList.create ()
-    
-    (?x,?y) <- dependencies           =>  print "RULE 1, x=\(?x), y=\(?y)", Dep ?x ?y, InDegree ?x 0, InDegree ?y 1
-    InDegree ?x ?a                    =>  print "pre InDegree \(?x) \(?a)"    
-    -InDegree ?x ?a, -InDegree ?x ?b  =>  print "RULE 2, x=\(?x), a=\(?a), b=\(?b)", InDegree ?x (?a + ?b)
-    InDegree ?x ?a                    =>  print "InDegree \(?x) \(?a)"
-    InDegree ?x 0                     =>  print "RULE 3, x=\(?x)", AdjustInDegrees ?x, MList.add answer ?x
-    AdjustInDegrees ?x, Dep ?x ?y     =>  print "RULE 4, x=\(?x), y=\(?y)", InDegree ?y (-1)
-    
-main = topologicalSort [(2,4),(3,7),(7,2),(1,3)]