## LATEX-L@LISTSERV.UNI-HEIDELBERG.DE

 Options: Use Forum View Use Monospaced Font Show Text Part by Default Show All Mail Headers Message: [<< First] [< Prev] [Next >] [Last >>] Topic: [<< First] [< Prev] [Next >] [Last >>] Author: [<< First] [< Prev] [Next >] [Last >>]

Am 15.02.2010 um 01:30 schrieb Joseph Wright:

>>> - key-value option processing with l3keys
>>
>> What's missing?
>
> Perhaps Phillip has not seen l3keys2e.

Indeed. Thanks a lot for the hint.

>
>>> - dedicated stack and queue datatypes that hide their implementation
>>
>> Can you go into more detail about what is deficient in l3seq for this?
>
> I think we are getting at "concepts" here: something like \cs_set_eq:NN \stack_new:N \seq_new:N, ...

Yes. This separation would perhaps be a bit clearer to the user. I read the discussion in source3 on removing \seq_put_left in favor of \seq_push, but with a stack datatype (which would be rather trivial) we would have the same situation as in C++: A deque as a container (a L3 seq is in fact similar to a deque because you can add elements at both ends, but not in the middle, as opposed to vectors and lists), and stack and queue as container adaptors. However, this is a purely design decision (Python, for example, has no dedicated stack datatype).