LATEX-L Archives

Mailing list for the LaTeX3 project

LATEX-L@LISTSERV.UNI-HEIDELBERG.DE

Options: Use Classic View

Use Proportional Font
Show Text Part by Default
Show All Mail Headers

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

Print Reply
Marco Daniel <[log in to unmask]>
Wed, 6 Jun 2012 21:17:23 +0200
text/plain (48 lines)
Hi,

the following points are my personal point of view.

LaTeX3 want to separate into different layers. The core language is 
expl3. So before the next layers can be achieved the basement must be 
stable. However the points are not limited to the core language. It's 
also useful for package authors

This introduction leads me to my points.

It is useful to separate internal and global functions.

+ The code is more readable and the user knows which functions can be 
used or not.

+ The naming of auxiliary functions can be more natural

+ It's more object-oriented programming whereby some values will be 
returned.

+ Specifying auxiliary functions for one special task make it easier to 
find bugs (or features ;-) )

Of course I see some drawbacks which are more addressed to the LaTeX3 team.

- Long decision process which function is local and which one is global.

- Changes can lead to new bugs.

The global drawback is the time which must be regarded in the schedule.


However based on my small list and *own* opinion I think a clearer 
separation is a useful extension.

Side note:
As Paulo Cerada pointed out that it's quite common to see variables 
starting with _ which denote encapsulation.

However I like a more clearer syntax like \i_foo_ whereby \i_ indicates 
"internal". This is the same like \l_ for local and \g_ for global 
variables.


best regards
Marco

ATOM RSS1 RSS2