I will hazard a guess as to why this might be better than LSTM.  LSTM maintains a vector that represents the long short term memory, but once information is cleared from the vector, there is no way to get it back...  whereas a stack you can keep going further down the stack if needed.<p><a href="http:&#x2F;&#x2F;colah.github.io&#x2F;posts&#x2F;2015-08-Understanding-LSTMs&#x2F;" rel="nofollow">http:&#x2F;&#x2F;colah.github.io&#x2F;posts&#x2F;2015-08-Understanding-LSTMs&#x2F;</a>