Good point, Ripple atomics are similar to Bluespec rules. In addition to slow compile time, I think there is a risk of non-predictable performance if a programmer thinks two atomics or tasks can run in parallel but the compiler didn't get the memo.
Isn't this in a sense what BlueSpec is? I have heard (but in fairness have no personal experience with) that there is a fundamental performance issue with the BlueSpec compiler because the dependency tracking gets prohibitively expensive as the number of nodes in the DFG increases.
Good point, Ripple atomics are similar to Bluespec rules. In addition to slow compile time, I think there is a risk of non-predictable performance if a programmer thinks two atomics or tasks can run in parallel but the compiler didn't get the memo.
Isn't this in a sense what BlueSpec is? I have heard (but in fairness have no personal experience with) that there is a fundamental performance issue with the BlueSpec compiler because the dependency tracking gets prohibitively expensive as the number of nodes in the DFG increases.