removal of cruft from D

KennyTM~ kennytm at gmail.com
Sat Nov 21 00:56:33 PST 2009


On Nov 21, 09 15:40, Yigal Chripun wrote:
> On 21/11/2009 02:45, Andrei Alexandrescu wrote:
>> Ellery Newcomer wrote:
>>> Nick Sabalausky wrote:
>>>> "Yigal Chripun" <yigal100 at gmail.com> wrote in message
>>>> news:he6sqe$1dqu$1 at digitalmars.com...
>>>>> Based on recent discussions on the NG a few features were
>>>>> deprecated/removed from D, such as typedef and C style struct
>>>>> initializers.
>>>>>
>>>>> IMO this cleanup and polish is important and all successful
>>>>> languages do such cleanup for major releases (Python and Ruby come
>>>>> to mind). I'm glad to see that D follows in those footsteps instead
>>>>> of accumulating craft like C++ does.
>>>>>
>>>>>
>>>>> As part of this trend of cleaning up D before the release of D2,
>>>>> what other features/craft should be removed/deprecated?
>>>>>
>>>>> I suggest reverse_foreach and c style function pointers
>>>>>
>>>>> please add your candidates for removal.
>>>>>
>>>> s/reverse_foreach/foreach_reverse/ ;)
>>>>
>>>> 1. Floating point literals without digits on *both* sides!!! "1.",
>>>> ".1" --> Useless hindrance to future language expansion!
>>>>
>>>> 2. Octal literals! I think it'd be great to have a new octal syntax,
>>>> or even better, a general any-positive-inter-base syntax. But until
>>>> that finally happens, I don't want "010 == 8" preserved. And I don't
>>>> think the ability to have an octal literal is important enough that
>>>> lacking it for a while is a problem. And if porting-from-C really has
>>>> to be an issue, then just make 0[0-9_]+ an error for a transitionary
>>>> period (or forever - it'd at least be better than maintaining "010 ==
>>>> 8").
>>>>
>>>> 3. Also the comma operator, but that's already been recently discussed.
>>>>
>>>>
>>>>
>>>
>>> <bikeshed>
>>>
>>> hex literal prefix: 0x, not 0h
>>> =>
>>> octal literal prefix: 0c, not 0o
>>>
>>> </bikeshed>
>>
>> This I'm on board with. 0o is too much like a practical joke.
>>
>> Andrei
>
> in the short term I wouldn't mind if they would be typed as:
> 0baseEightXXX or what ever as long as the current syntax is removed.
>
> in the long term, I'd like to see a more general syntax that allows to
> write numbers in any base.
> something like:
> [base]n[number] - e.g. 16nA0FF, 2n0101, 18nGH129, etc.
> also define syntax to write a list of digits:
> 1024n[1005, 452, 645, 16nFFF] // each digit can also be defined in
> arbitrary base
>

What's the point of using bases other than 2, 8, 10, 16, 36 and 64?



More information about the Digitalmars-d mailing list