LATEX-L Archives

Mailing list for the LaTeX3 project

LATEX-L@LISTSERV.UNI-HEIDELBERG.DE

Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Condense Mail Headers

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

Print Reply
Mime-Version:
1.0
Content-Type:
text/plain; charset=ISO-8859-1; format=flowed
Date:
Wed, 6 Jun 2012 21:17:23 +0200
Reply-To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Subject:
From:
Marco Daniel <[log in to unmask]>
Message-ID:
In-Reply-To:
Content-Transfer-Encoding:
7bit
Sender:
Mailing list for the LaTeX3 project <[log in to unmask]>
Parts/Attachments:
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