diff --git a/AlgebraicDataflowArchitectureModel/models/BagTest.model b/AlgebraicDataflowArchitectureModel/models/BagTest.model deleted file mode 100644 index 3a27bfa..0000000 --- a/AlgebraicDataflowArchitectureModel/models/BagTest.model +++ /dev/null @@ -1,8 +0,0 @@ -channel signUp { - out accounts(acs: Map, signUp(id, name)) = insert(acs, id, {"name": name, "friends": nil}) -} - -channel makeFriend(aid) { - out accounts.{aid}.friends(friends: List, addFreinds(fid)) = append(friends, fid) - out accounts.{fid}.friends(friends: List, addFreinds(fid)) = append(friends, aid) -} \ No newline at end of file diff --git a/AlgebraicDataflowArchitectureModel/models/DependencyBug.model b/AlgebraicDataflowArchitectureModel/models/DependencyBug.model new file mode 100644 index 0000000..8d360ed --- /dev/null +++ b/AlgebraicDataflowArchitectureModel/models/DependencyBug.model @@ -0,0 +1,35 @@ +init { + variables := { + "a" : { + "source": "a1", + "target": "b1" + } + } + accounts := { + "a1": "hello" + } + board := { + "b1": { + "text": "_" + } + } +} + +channel changeName(aid) { + out accounts.{aid}(curName: Str, changeName(nextName: Str)) = nextName +} + +channel changeSource { + out variables.a.source(curSource: Str, changeSource(nextSource: Str)) = nextSource +} + +channel changeTarget { + out variables.a.target(curTarget: Str, changeTarget(nextTarget: Str)) = nextTarget +} + +channel sendChange1 { + in variables.a.source(curSource, sendChange1(nextSource, nextTarget, nextName)) = nextSource + in variables.a.target(curTarget, sendChange1(nextSource, nextTarget, nextName)) = nextTarget + in accounts.{nextSource}(curName, sendChange1(nextSource, nextTarget, nextName)) = nextName + out board.{nextTarget}.text(curName, sendChange1(nextSource, nextTarget, nextName)) = nextName +} \ No newline at end of file diff --git a/AlgebraicDataflowArchitectureModel/models/PathParamBug.model b/AlgebraicDataflowArchitectureModel/models/PathParamBug.model new file mode 100644 index 0000000..3a27bfa --- /dev/null +++ b/AlgebraicDataflowArchitectureModel/models/PathParamBug.model @@ -0,0 +1,8 @@ +channel signUp { + out accounts(acs: Map, signUp(id, name)) = insert(acs, id, {"name": name, "friends": nil}) +} + +channel makeFriend(aid) { + out accounts.{aid}.friends(friends: List, addFreinds(fid)) = append(friends, fid) + out accounts.{fid}.friends(friends: List, addFreinds(fid)) = append(friends, aid) +} \ No newline at end of file