Closed ugeorge closed 5 years ago
If actor11SDF
and actor21SDF
are reimplemented like in ForSyDe.Atom all the above examples are running normally. It seems that ForSyDe.Shallow needs an update soon.
I have tested with other GHC versions:
In conclusions, it seems to be a GHC-8.2.2 bug rather than a ForSyDe.Shallow bug, so we can ignore it (for now) and avoid GHC-8.2.2 in the future. Modifying ForSyDe.Shallow.MoC.SDF
(and .SADF
and .CSDF
for that matter) to make it compatible with this GHC version would mean to inline a bunch of functions which would make the code less readable.
I am closing this issue, but I still need to write a warning in the installation instructions.
It seems that my Cabal-based testing method above was incorrect, i.e. some GHC versions were linking against the old (and working) forsyde-shallow-3.3.2
. As of #11 the SDF library has been modified using the wrong approach, it seems.
A more in-depth Stack-based check against multiple LTS versions shows that forsyde-shallow-3.3.3.0
is broken! This raises the priority of #13 for the next release, so that we avoid these situation in the future.
It seems that with the GHC on my current machine (8.2.2) SDF feedback loops are deadlocked, no matter how many initial tokens there are. It might have to do with not forcing evaluation when calling
consume_tokens
or something along these lines.M(N)WE:
Another example:
Strangely, this works:
TODO: