-
Notifications
You must be signed in to change notification settings - Fork 10
Open
Labels
Description
Notice that this is implemented now. This remains a place holder for discussions around this topic.
Typically right-nested sequencing is preferable since we can clearly scope the newly introduced channels and variables.
However in several we break this rule, for instance fwd and @ can be sequenced and they might expand into a process which cannot be right-nested. Another cause is slice which has a sub-process and should have a sequential continuation. As in this example:
rotate_seq =
\(A : Type)
(n : Int)->
proc(i : [: ?A ^(1 + n) :], o : [: !A ^(n + 1) :])
i[:iL, iH^n:]
o[:oL^n, oH:]
recv iL (xL : A).
(slice (iH, oL) n as _
fwd(?A)(iH, oL)).
send oH xL