Open heuripedes opened 4 years ago
@heuripedes interesting corner case. it makes sense though when taking into account that orca is executed sequentially from top/left to bottom/right. in your example, n
and w
execute before the *
. then *
erases itself, and by the time e
and s
execute there is no more bang to trigger them.
The way you describe the behavior makes it seem to me that all the *
does is delete itself when executed and it's the surrounding cells responsibility to self-bang when near a *
, but if that was the case one wouldn't be able to bang :
from the left as by the time it gets executed the bang no longer exists.
.D.
*:abcde
D, F and U lock their outputs so * can't disappear (it is deleted by those operator when the output should be empty)
From Orca's README:
In both Orca and Orca-c the bang operator
*
actually only bangs the western and northern neighbors. Other bang sources such asD
andF
, even when wired withJ
orY
, as well as aH
eld*
seem to behave in ways similar to the documented in the Orca README.Input:
Expected output after one tick/frame:
Actual output after one tick/frame:
Disclaimer: I'm writing a clean room (no code from the original) minimal Orca clone with no support for integration with other programs.