usage of undocumented low-level functions

How should we use undocumented low-level functions such as Kernel.*Utf8* conversions?

We should use undocumented low-level functions such as Kernel.*Utf8* conversions wherever possible. Corresponding higher level functions such as the Strings.*Utf8* conversion functions are more for export.
0
No votes
We should use undocumented functions such as Kernel.*Utf8* conversions only if there is a very good reason for using it. Otherwise we should use the documented high-level functions such as the Strings.*Utf8* conversion functions.
6
67%
Abstain
3
33%
 
Total votes: 9

User avatar
DGDanforth
Posts: 1061
Joined: Tue Sep 17, 2013 1:16 am
Location: Palo Alto, California, USA
Contact:

Re: usage of undocumented low-level functions

Post by DGDanforth »

In my opinion all text, whether program code or otherwise should support Unicode (via Utf8).
The user should not have to worry about where the support originates.

I like the 'idea' of the module Characters for it encompasses the necessary transformations. As such any other module that needs to support Unicode should import Characters.

-Doug
User avatar
Josef Templ
Posts: 2048
Joined: Tue Sep 17, 2013 6:50 am

Re: usage of undocumented low-level functions

Post by Josef Templ »

DGDanforth wrote:In my opinion all text, whether program code or otherwise should support Unicode (via Utf8).
The user should not have to worry about where the support originates.

I like the 'idea' of the module Characters for it encompasses the necessary transformations. As such any other module that needs to support Unicode should import Characters.

-Doug
Characters has been rejected for very good reasons in favor of extending Strings.
- It repeats part of module Strings which already existed in BB1.6.
- It is misnamed because it deals also with strings and not only with CHARs.
- It has the linking problem
So, it would not solve any problem but introduce new ones.

> The user should not have to worry about where the support originates.
This is impossible. You need to import a module and thereby you define where
the support comes from.

- Josef
User avatar
Josef Templ
Posts: 2048
Joined: Tue Sep 17, 2013 6:50 am

Re: usage of undocumented low-level functions

Post by Josef Templ »

> The user should not have to worry about where the support originates.

using Strings comes closest to your wish. It is a well-documented module
which you can use without knowing its implementation.
If you use Kernel, you must know about an undocumented module that is subject to
change because it is only used internally, as the docu states.

- Josef
Locked