Whither Tango?

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Sat Feb 20 08:41:33 PST 2010


KennyTM~ wrote:
> On Feb 20, 10 11:31, Andrei Alexandrescu wrote:
>> Justin Johansson wrote:
>>> Nick Sabalausky wrote:
>>>> "dave eveloper" <tango at land.net> wrote in message
>>>> news:hlm402$1mr0$1 at digitalmars.com...
>>>>> Ezneh Wrote:
>>>>>
>>>>>> So, it is not better to find a compromise between these libraries ?
>>>>>> Why they have to be "two" libraries rather than one which was
>>>>>> designed by larsivi, Walter Bright and Andrei Alexandrescu ?
>>>>> I haven't seen larsivi around lately. Is it possible that there's a
>>>>> communication problem? Perhaps a personality mismatch?
>>>>>
>>>>> Because of silly symbol names like 'retro' I think there's more
>>>>> reason for someone to not like Phobos. Bearophile also always
>>>>> reminds us that a proper closure inlining support would make
>>>>> collection algorithms as fast as the ugly string template hack
>>>>> Phobos. That way you wouldn't have hard coded parameter symbols like
>>>>> a and b.
>>>>>
>>>>
>>>> Dictionary.com Unabridged, Based on the Random House Dictionary:
>>>>
>>>> retro-
>>>>
>>>> a prefix occurring in loanwords from Latin meaning “backward”
>>>> (retrogress); on this model, used in the formation of compound words
>>>> (retrorocket).
>>>>
>>>> So can we stop this "retro is a bad name" nonsense now?
>>>
>>> Sure, just include a copy of, or link to, an English dictionary
>>> alongside D documentation, together with appropriate annotations.
>>
>> My understanding is that he included it to clarify that it's an
>> appropriate word, not to explain a rare word such as "nefandous".
>>
>>> That's tantamount to what you are saying. imho, use of "silly"
>>> words like this in the language are a retrograde step.
>>
>> This is the third time I'm asking: what is a list of allegedly silly
>> names in phobos? Far as I can tell the case against "retro" and "iota"
>> is rather tenuous. So what are others? readText? topN? setDifference?
>> Talk to me.
>>
>>
>> Andrei
> 
> Major silly names:
> 
>  - std.file.slurp

http://search.cpan.org/~dconway/Perl6-Slurp-0.03/Slurp.pm
http://code.google.com/p/python-pipeline/wiki/slurp

>  - std.iterator.retro, std.range.retro

Some arond here seem to be very comfortable about it. Anyway, let's find 
another one (can't be "reverse").

>  - std.random.dice (it is a discrete distribution...)

What's wrong with dice?

>  - std.range.cons

http://en.wikipedia.org/wiki/Cons

>  - std.range.iota

C++, APL, Go:

http://bytes.com/topic/c/answers/446688-iota
http://en.wikipedia.org/wiki/Iota

>  - std.string.chomp, chompPrefix, chop

http://perldoc.perl.org/functions/chomp.html
http://www.pageresource.com/cgirec/ptut13.htm
http://php.net/manual/en/function.chop.php
http://ruby-doc.org/core/classes/String.html#M000819

>  - std.string.munch

Inspired from here:

http://en.wikipedia.org/wiki/Maximal_munch

>  - std.string.sformat

Alternative?

>  - std.utf.stride (which is totally different from std.range.stride)

Agreed. Alternative?

> Minor annoyances:
> 
>  - std.contracts.enforceEx (sounds like Win32 API which you should use 
> in favor of enforce.)

Agreed. Alternative?

>  - std.path.rel2abs (why not relToAbs?)

It's shorter and apparently there's no trouble in understanding it.

>  - std.range.sameHead (should be sameFront?)

Agreed.

>  - std.stream.Stream.readBlock & writeBlock (sounds like blocking vs 
> non-blocking operations, esp. for SocketStream.)

std.stream will be terminated.

>  - and many inconsistent naming conventions, e.g.
>     * std.string.ljustify vs stripl
>     * std.string.countchars (all lower) vs inPattern (CamelCase)

This is Walter's experiment of wheelbarrowing string functions from 
several languages into std.string. I'd like to fix that.


Andrei



More information about the Digitalmars-d mailing list