Sender: |
|
Date: |
Mon, 15 Feb 2010 13:17:57 +0100 |
Reply-To: |
|
Message-ID: |
|
Subject: |
|
MIME-Version: |
1.0 |
Content-Transfer-Encoding: |
7bit |
In-Reply-To: |
|
Content-Type: |
text/plain; charset=us-ascii |
From: |
|
Parts/Attachments: |
|
|
Philipp Stephani writes:
> >>> - 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).
at some point in time there has been a separate stack module but we decided
not to keep that separation. As mentioned it is largely a design/philosophical
question and I think we should leave it as it is.
frank
>
|
|
|