[ANN] Some new proposals Feb 2006
От: Pavel Chikulaev Россия  
Дата: 02.03.06 12:17
Оценка: 62 (10)
Тут

Самое интересное ИМХО:
Lookup Issues in Destructor and Pseudo-Destructor References
Why POSIX Threads Are Unsuitable for C++
A finer-grained alternative to sequence points
Names, Linkage, and Templates
The Memory Model and the C++ Library, Non-Memory Actions etc.
Upgrading the Interface of Allocators using API Versioning
New Character Types in C++
A proposal to add lambda functions to the C++ standard
Proposal to add Contract Programming to C++ (revision 4)
Generic Support for Threading Models
Decimal Types for C++: Draft 3
Thread-Local Storage
Lambda expressions and closures for C++
State of C++ Evolution (before Berlin 2006 Meeting)
Generalized Constant Expressions — Revision 2
Adding Alignment Support to the C++ Programming Language
Re: up :shuffle: (-)
От: Pavel Chikulaev Россия  
Дата: 03.03.06 10:35
Оценка: -1
Re: [ANN] Some new proposals Feb 2006
От: _nn_ www.nemerleweb.com
Дата: 03.03.06 10:45
Оценка: +2
Здравствуйте, Pavel Chikulaev, Вы писали:

Глядя на все улучшения C++, я все больше склоняюсь к D-подобному языку
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[2]: [ANN] Some new proposals Feb 2006
От: Lorenzo_LAMAS  
Дата: 03.03.06 10:49
Оценка:
__>Глядя на все улучшения C++, я все больше склоняюсь к D-подобному языку

Нельзя ли пояснить? С примерами?
Of course, the code must be complete enough to compile and link.
Re[2]: up :shuffle: (-)
От: 0xDEADBEEF Ниоткуда  
Дата: 03.03.06 11:37
Оценка: 15 (1) +1 :))) :)))
Здравствуйте, Pavel Chikulaev, Вы писали:

Паша, Вам нужны оценки? Если да, то так и скажите. Поставлю сколько попросите
__________
16.There is no cause so right that one cannot find a fool following it.
Re[3]: [ANN] Some new proposals Feb 2006
От: _nn_ www.nemerleweb.com
Дата: 03.03.06 11:37
Оценка:
Здравствуйте, Lorenzo_LAMAS, Вы писали:

__>>Глядя на все улучшения C++, я все больше склоняюсь к D-подобному языку


L_L>Нельзя ли пояснить? С примерами?


Я ни в коем случае не хотел сказать, что улучшения языка это плохо, наоборот мне очень нравятся идеи улучшения языка и библиотеки

Я имел ввиду, что проблема самого языка не решается, а создается обход этих проблем.
Естественно это для совместимости с С.

Вот возьмем например стандарт генерации имен для линкера и для RTTI.
Был бы один стандарт на всех, как в С например, можно было бы безболезненно связывать файлы от разных компиляторов..
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[4]: [ANN] Some new proposals Feb 2006
От: TheyCallMeEvil  
Дата: 03.03.06 17:19
Оценка:
Здравствуйте, _nn_, Вы писали:

__>Был бы один стандарт на всех, как в С например, можно было бы безболезненно связывать файлы от разных компиляторов..


А аргументы как передавать? Тоже стандарт? Для каждой платформы — свой стандарт?
Re[5]: [ANN] Some new proposals Feb 2006
От: _nn_ www.nemerleweb.com
Дата: 03.03.06 18:00
Оценка:
Здравствуйте, TheyCallMeEvil, Вы писали:

TCM>Здравствуйте, _nn_, Вы писали:


__>>Был бы один стандарт на всех, как в С например, можно было бы безболезненно связывать файлы от разных компиляторов..


TCM>А аргументы как передавать? Тоже стандарт? Для каждой платформы — свой стандарт?


А чем плохо иметь стандарт на кодирование имен ?
Гляди что-то вроде переносимой рефлексии можно было бы сделать..

В смысле как передавать ?
Всегда по ссылке, кроме встроенных, которые по значению.
Зачем программист вообще об этом должен думать ?
Почему не писать просто:
void f(in char x);
void f(in some_type x);

Пусть компилятор думает, он знает как оптимальней. shuffle:
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[6]: [ANN] Some new proposals Feb 2006
От: Dimondiy Беларусь  
Дата: 07.04.06 15:39
Оценка: +1
Здравствуйте, _nn_, Вы писали:

__>Здравствуйте, TheyCallMeEvil, Вы писали:


TCM>>Здравствуйте, _nn_, Вы писали:


__>>>Был бы один стандарт на всех, как в С например, можно было бы безболезненно связывать файлы от разных компиляторов..


TCM>>А аргументы как передавать? Тоже стандарт? Для каждой платформы — свой стандарт?


__>А чем плохо иметь стандарт на кодирование имен ?

__>Гляди что-то вроде переносимой рефлексии можно было бы сделать..

__>В смысле как передавать ?

__>Всегда по ссылке, кроме встроенных, которые по значению.
__>Зачем программист вообще об этом должен думать ?
__>Почему не писать просто:
__>
__>void f(in char x);
__>void f(in some_type x);
__>

__>Пусть компилятор думает, он знает как оптимальней. shuffle:

На то ты и программист чтоб думать, не всегда компилятор может найти оптимальное решение в каждом случаи....
... << @@Dimondiy 1.1.4 stable SR1 rev. 568>>
Re[7]: [ANN] Some new proposals Feb 2006
От: _nn_ www.nemerleweb.com
Дата: 07.04.06 15:49
Оценка:
Здравствуйте, Dimondiy, Вы писали:

D>Здравствуйте, _nn_, Вы писали:


__>>Здравствуйте, TheyCallMeEvil, Вы писали:


TCM>>>Здравствуйте, _nn_, Вы писали:


__>>>>Был бы один стандарт на всех, как в С например, можно было бы безболезненно связывать файлы от разных компиляторов..


TCM>>>А аргументы как передавать? Тоже стандарт? Для каждой платформы — свой стандарт?


__>>А чем плохо иметь стандарт на кодирование имен ?

__>>Гляди что-то вроде переносимой рефлексии можно было бы сделать..

__>>В смысле как передавать ?

__>>Всегда по ссылке, кроме встроенных, которые по значению.
__>>Зачем программист вообще об этом должен думать ?
__>>Почему не писать просто:
__>>
__>>void f(in char x);
__>>void f(in some_type x);
__>>

__>>Пусть компилятор думает, он знает как оптимальней. shuffle:

D>На то ты и программист чтоб думать, не всегда компилятор может найти оптимальное решение в каждом случаи....


Позволю с вами несогласиться.
Вот оптимальным решением было бы наверное введение Reference-Type и Value-Type как в .Net.
Но в С++ нет
Если хочется простого синтаксиса, почему нет ?
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[8]: [ANN] Some new proposals Feb 2006
От: Pavel Chikulaev Россия  
Дата: 07.04.06 17:42
Оценка: 1 (1)
Здравствуйте, _nn_, Вы писали:

D>>На то ты и программист чтоб думать, не всегда компилятор может найти оптимальное решение в каждом случаи....


__>Позволю с вами несогласиться.

__>Вот оптимальным решением было бы наверное введение Reference-Type и Value-Type как в .Net.
__>Но в С++ нет
__>Если хочется простого синтаксиса, почему нет ?

Ну это тоже не оптимальное решение, и для таких языков как С++ это не подходит — GC нет. И не надо кстати.
А почему ты не рассказал про наш план?

Вообще на самом-то деле компилятор можно заставить компилятор выполнять это дело за программиста. Синтаксис следующий:
void foo(in<std::string> str, in<int> i, out<double> d, inout<std::vector<int> > v);
//str передается по ссылке на конст объект, i по значению, d по ссылке, v по ссылке. (выбор происходит в зависимости от т

void bar()
{
    std::vector<int> v;
    std::string str;
    int i;
    double d;
  
    foo(str, i, d, v); 
}

Компилятор сам сообразит как лучше передавать параметр.
Это скажем так обобщение boost.call_traits.param_type. Coming Soon!

ЗЫ все преобразования работают (rg45 знает про что я ).
ЗЗЫ только к сожалению вызов методов работает через ->
Re[6]: [ANN] Some new proposals Feb 2006
От: olexandr Новороссия http://demotivation.me/images/20140818/lxz0l278b9ep.jpg
Дата: 10.05.06 06:44
Оценка:
Здравствуйте, _nn_, Вы писали:

__>Здравствуйте, TheyCallMeEvil, Вы писали:


TCM>>Здравствуйте, _nn_, Вы писали:


__>>>Был бы один стандарт на всех, как в С например, можно было бы безболезненно связывать файлы от разных компиляторов..


TCM>>А аргументы как передавать? Тоже стандарт? Для каждой платформы — свой стандарт?


__>А чем плохо иметь стандарт на кодирование имен ?


Ну вроде всем хорошо, только не понятно как.


__>Гляди что-то вроде переносимой рефлексии можно было бы сделать..


Ну наверное...


__>В смысле как передавать ?


Наверное имелось в виду не "как" а "через что" передавать.


__>Всегда по ссылке, кроме встроенных, которые по значению.

__>Зачем программист вообще об этом должен думать ?
__>Почему не писать просто:
__>
__>void f(in char x);
__>void f(in some_type x);
__>

__>Пусть компилятор думает, он знает как оптимальней. shuffle:

Вот один компилятор думает что через глобальные переменные удобно, а другой — что через регистры процессора, а третий — через стек...
Какая уж тут безболезненная связь файлов от разных компиляторов?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Некроссплатформенность маловероятна (c) Sheridan
...трава никак не влияет, разве что срывает покровы барьеров... (с) мыщъх
Re[7]: [ANN] Some new proposals Feb 2006
От: _nn_ www.nemerleweb.com
Дата: 11.05.06 17:14
Оценка:
Здравствуйте, olexandr, Вы писали:

O>Здравствуйте, _nn_, Вы писали:


__>>Здравствуйте, TheyCallMeEvil, Вы писали:


TCM>>>Здравствуйте, _nn_, Вы писали:


__>>>>Был бы один стандарт на всех, как в С например, можно было бы безболезненно связывать файлы от разных компиляторов..


TCM>>>А аргументы как передавать? Тоже стандарт? Для каждой платформы — свой стандарт?


__>>А чем плохо иметь стандарт на кодирование имен ?


O>Ну вроде всем хорошо, только не понятно как.



__>>Гляди что-то вроде переносимой рефлексии можно было бы сделать..


O>Ну наверное...



__>>В смысле как передавать ?


O>Наверное имелось в виду не "как" а "через что" передавать.



__>>Всегда по ссылке, кроме встроенных, которые по значению.

__>>Зачем программист вообще об этом должен думать ?
__>>Почему не писать просто:
__>>
__>>void f(in char x);
__>>void f(in some_type x);
__>>

__>>Пусть компилятор думает, он знает как оптимальней. shuffle:

O>Вот один компилятор думает что через глобальные переменные удобно, а другой — что через регистры процессора, а третий — через стек...

O>Какая уж тут безболезненная связь файлов от разных компиляторов?

Можно добавить в генерацию названий функции линкера способ передачи.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[8]: [ANN] Some new proposals Feb 2006
От: olexandr Новороссия http://demotivation.me/images/20140818/lxz0l278b9ep.jpg
Дата: 16.05.06 06:29
Оценка:
Здравствуйте, _nn_, Вы писали:

__>>>Всегда по ссылке, кроме встроенных, которые по значению.

__>>>Зачем программист вообще об этом должен думать ?
__>>>Почему не писать просто:
__>>>
__>>>void f(in char x);
__>>>void f(in some_type x);
__>>>

__>>>Пусть компилятор думает, он знает как оптимальней. shuffle:

O>>Вот один компилятор думает что через глобальные переменные удобно, а другой — что через регистры процессора, а третий — через стек...

O>>Какая уж тут безболезненная связь файлов от разных компиляторов?

__>Можно добавить в генерацию названий функции линкера способ передачи.


Ну как, например, это можно будет сделать для регистров? Их разное количество, они разной разрадности...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Некроссплатформенность маловероятна (c) Sheridan
...трава никак не влияет, разве что срывает покровы барьеров... (с) мыщъх
Re[9]: [ANN] Some new proposals Feb 2006
От: _nn_ www.nemerleweb.com
Дата: 16.05.06 17:04
Оценка:
Здравствуйте, olexandr, Вы писали:

O>Здравствуйте, _nn_, Вы писали:


__>>>>Всегда по ссылке, кроме встроенных, которые по значению.

__>>>>Зачем программист вообще об этом должен думать ?
__>>>>Почему не писать просто:
__>>>>
__>>>>void f(in char x);
__>>>>void f(in some_type x);
__>>>>

__>>>>Пусть компилятор думает, он знает как оптимальней. shuffle:

O>>>Вот один компилятор думает что через глобальные переменные удобно, а другой — что через регистры процессора, а третий — через стек...

O>>>Какая уж тут безболезненная связь файлов от разных компиляторов?

__>>Можно добавить в генерацию названий функции линкера способ передачи.


O>Ну как, например, это можно будет сделать для регистров? Их разное количество, они разной разрадности...


Что-то я вас не понимаю.
Вы говорите, что это не будет работать для разных платформ ?
Вы говорите как-будто сейчас это возможно.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[10]: [ANN] Some new proposals Feb 2006
От: olexandr Новороссия http://demotivation.me/images/20140818/lxz0l278b9ep.jpg
Дата: 17.05.06 12:57
Оценка:
Здравствуйте, _nn_, Вы писали:

__>>>>>Всегда по ссылке, кроме встроенных, которые по значению.

__>>>>>Зачем программист вообще об этом должен думать ?
__>>>>>Почему не писать просто:
__>>>>>
__>>>>>void f(in char x);
__>>>>>void f(in some_type x);
__>>>>>

__>>>>>Пусть компилятор думает, он знает как оптимальней. shuffle:

O>>>>Вот один компилятор думает что через глобальные переменные удобно, а другой — что через регистры процессора, а третий — через стек...

O>>>>Какая уж тут безболезненная связь файлов от разных компиляторов?

__>>>Можно добавить в генерацию названий функции линкера способ передачи.


O>>Ну как, например, это можно будет сделать для регистров? Их разное количество, они разной разрадности...


__>Что-то я вас не понимаю.

__>Вы говорите, что это не будет работать для разных платформ ?
__>Вы говорите как-будто сейчас это возможно.

Ну даже на одной платформе не очень хорохо получается, регистры добавляютя (fs/gs/...), расширяются (eax, ...). Поэтому наверное и смысла нет придумывать какой-то универсальный способ передачи параметров, разве что через стек И то не везде он есть
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Некроссплатформенность маловероятна (c) Sheridan
...трава никак не влияет, разве что срывает покровы барьеров... (с) мыщъх
Re[11]: [ANN] Some new proposals Feb 2006
От: _nn_ www.nemerleweb.com
Дата: 18.05.06 17:25
Оценка:
Здравствуйте, olexandr, Вы писали:

O>Здравствуйте, _nn_, Вы писали:


__>>>>>>Всегда по ссылке, кроме встроенных, которые по значению.

__>>>>>>Зачем программист вообще об этом должен думать ?
__>>>>>>Почему не писать просто:
__>>>>>>
__>>>>>>void f(in char x);
__>>>>>>void f(in some_type x);
__>>>>>>

__>>>>>>Пусть компилятор думает, он знает как оптимальней. shuffle:

O>>>>>Вот один компилятор думает что через глобальные переменные удобно, а другой — что через регистры процессора, а третий — через стек...

O>>>>>Какая уж тут безболезненная связь файлов от разных компиляторов?

__>>>>Можно добавить в генерацию названий функции линкера способ передачи.


O>>>Ну как, например, это можно будет сделать для регистров? Их разное количество, они разной разрадности...


__>>Что-то я вас не понимаю.

__>>Вы говорите, что это не будет работать для разных платформ ?
__>>Вы говорите как-будто сейчас это возможно.

O>Ну даже на одной платформе не очень хорохо получается, регистры добавляютя (fs/gs/...), расширяются (eax, ...). Поэтому наверное и смысла нет придумывать какой-то универсальный способ передачи параметров, разве что через стек И то не везде он есть


Мне кажется вы не поняли правильно идею.
Я не утверждал как лучше передавать аргументы и через какие регистры.
Я говорю, что вместо T const&, писать in T.
Естественно как и в стандартном способе передача аругментов будет через стек.
http://rsdn.nemerleweb.com
http://nemerleweb.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.