LATEX-L Archives

Mailing list for the LaTeX3 project

LATEX-L@LISTSERV.UNI-HEIDELBERG.DE

Options: Use Forum View

Use Monospaced Font
Show HTML Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Will Robertson <[log in to unmask]>
Reply To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Date:
Wed, 10 Sep 2008 10:45:10 +0930
Content-Type:
text/plain
Parts/Attachments:
text/plain (46 lines)
Hi Frank,

Thanks for the detailed comments.
When I first read about expl3 years ago, indeed I was naively  
disappointed that the variants weren't constructed "on the fly". But  
that's obviously impossible.

***

> So rather than providing everyting for the sake of uniformity I  
> would suggest
> to allow for gaps (as they can be very very easily filled ... for any
> developer who understood the construction method).

I do agree that we don't want to define *most* variants up-front  
(especially at this early stage), but I think the case involving  
put_left/put_right is a little bit different.

The idea here wasn't to provide the variants "just because", but  
rather to not confuse the programmer by defining, for example, (as  
Joseph pointed out) put_right:Nx and *not* gput_right:Nx. While we  
can't be uniform across the board with providing every expansion  
variant, I do think we should be uniform amongst commands that are so  
similar.

Recall again that we're talking about functions like
   clist_put_left
     seq_put_left
     tlp_put_left
    toks_put_left
so it seems crazy (IMHO!!) not to define *them* uniformly.

Now, in the code I posted to the repository I went somewhat overboard,  
because I erred on the side of adding consistency but without taking  
anything out (or considering special cases). Since there was an  
instance of the not-generally useful :Nc and :NC variants for two of  
the functions, I defined that variant for them all. With the thought  
that it's always easy to trim down the list after discussing things  
over here.

So I was probably a little unclear about my intentions for that code.   
Does my reasoning make sense, in the end?

Thanks again,
Will

ATOM RSS1 RSS2