LATEX-L Archives

Mailing list for the LaTeX3 project


Options: Use Classic View

Use Monospaced 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)

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 

+ 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 

best regards