zl queue vs stack inconsistency

ForestCat's icon

From the zl reference, >>Messages>>Mode:
"queue: functions as a first-in-first-out (FIFO) stack; it outputs the oldest message received. "
"stack: functions as a last-in-first-out (LIFO) stack; it outputs the most recently received message. "
Note the use of the term "message". From this description, I'd expect queue to basically be the opposite of stack, which is what I'm looking for, a FIFO stack for messages.

But in the Output section of the zl reference, I find the following:

"In queue mode, the oldest element received."
"In stack mode, the most recently received message. "

Which seems contradictory to me.

In the following patch, you can see that zl queue does indeed break the message into elements:

Max Patch
Copy patch and select New From Clipboard in Max.

Is there a way to have zl queue work w/ the entire message as opposed to its list elements?

Thanks for any expertise.

rafaelvalle's icon

Hi Forestcast,

zl.queue and zl.stack only take int, float and symbol data types.

Below you'll find max javascript externals – with help file - that solve your problem.
The externals handle FIFO and LIFO data structures, taking as input more data types, including list (list of number) and anything (symbol + anything).

www.rafaelvalle.com/media/max/datastructures.zip

best regards,
rafael valle

ForestCat's icon

Thanks Rafael. I guess I missed the data type restriction in the docs. I'll give your externals a try.