3 comments

[ 881 ms ] story [ 677 ms ] thread
Traditionally, last-in-first-out data structures are called "stacks" to distinguish them from queues. In this tradition, "queue" only refers to first-in-first-out data structures.
Point taken, though I like to think of stacks as one of many ways of implementing LIFO behavior.
I used "stack" to name the LIFO logic sequence not an implementation idiom. Linked list, pointer into sequential memory array, or restaurant plates have a congruent dimension that "stack" abstracts over within the ordinary computing tradition.

To me, your observation of the non-composability of stacks seems related to the ability of push-down automata and turing machines to compute more complex inputs than the finite automata (and equivalents).

https://en.wikipedia.org/wiki/Automata_theory