А не залудить ли нам свой язык для дотнета?
От: VladD2 Российская Империя www.nemerle.org
Дата: 08.12.03 19:36
Оценка: 19 (2) +2 -2 :))) :)
В качестве прообраза взять Шарп и добавить в него те фичи что посчитаем нужными.

Для начала просто воспоизвести Шарп 2.0. А потом зняться наворотами.

Лично меня интересуют следующие фичи:
1. Добавление реализации интерфейсов. Нечто вроде:
ISome
{
  void f();
}

struct ImplISome : ISome
{
  public void f() { ... }
}

class UseImpl : ISome(public ImplISome) { }

При этом в класс UseImpl будет копироваться код из ImplISome. public в ISome(public ImplISome) означает, что публичные методы ImplISome должны стать публичными методами UseImpl.

2. Разрешить модификатор readonly для лакальных переменных и параметров. Никаких зависимостей во вне. Просто контроль программиста на этапе компиялции. Чтобы можно было написать так:
void F(readonly int i)
{
  readonly int s = i.ToStrint() + " xxx";
    s += " yyy "; // Ошибка времени компиляции
    i++; // Ошибка времени компиляции
}


3. Ввести расширенный препроцессор или нечто вроде мета-языка позволяющего генерировать код во время компиляции создавая тем самым новые языковые конструкции. Так же на базе этой фичи можно будет производить константные компйл-тайм вычисления (статические рассчеты). Причем в них можно будет использовать как информацию о типах полученую парсером, так и из внешинх источников (например, из БД).

4. Ввести поддержку дефолтных параметров.


Это не окончательный список, да и можно обсудить детали/необходимость предложенных мной фич.
... << RSDN@Home 1.1.2 beta 1 >>

22.12.03 13:00: Перенесено модератором из '.NET' — TK
22.12.03 13:00: Перенесено модератором из '.NET' — TK
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: А не залудить ли нам свой язык для дотнета?
От: Tom Россия http://www.RSDN.ru
Дата: 08.12.03 19:49
Оценка: 21 (1) :)
VD>В качестве прообраза взять Шарп и добавить в него те фичи что посчитаем нужными.
А у M$ нет места для предложения новых багофич. Типа как в C++ ?

PS: Вашу бы энергию да в мирное русло!
... << RSDN@Home 1.1 beta 1 >>
Народная мудрось
всем все никому ничего(с).
Re: А не залудить ли нам свой язык для дотнета?
От: IvanM Россия  
Дата: 08.12.03 19:54
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>В качестве прообраза взять Шарп и добавить в него те фичи что посчитаем нужными.


VD>Для начала просто воспоизвести Шарп 2.0. А потом зняться наворотами.


VD>Лично меня интересуют следующие фичи:

VD>1. Добавление реализации интерфейсов. Нечто вроде:
VD>
VD>ISome
VD>{
VD>  void f();
VD>}

VD>struct ImplISome : ISome
VD>{
VD>  public void f() { ... }
VD>}

VD>class UseImpl : ISome(public ImplISome) { }
VD>

VD>При этом в класс UseImpl будет копироваться код из ImplISome. public в ISome(public ImplISome) означает, что публичные методы ImplISome должны стать публичными методами UseImpl.

VD>2. Разрешить модификатор readonly для лакальных переменных и параметров. Никаких зависимостей во вне. Просто контроль программиста на этапе компиялции. Чтобы можно было написать так:

VD>
VD>void F(readonly int i)
VD>{
VD>  readonly int s = i.ToStrint() + " xxx";
VD>    s += " yyy "; // Ошибка времени компиляции
VD>    i++; // Ошибка времени компиляции
VD>}
VD>


VD>3. Ввести расширенный препроцессор или нечто вроде мета-языка позволяющего генерировать код во время компиляции создавая тем самым новые языковые конструкции. Так же на базе этой фичи можно будет производить константные компйл-тайм вычисления (статические рассчеты). Причем в них можно будет использовать как информацию о типах полученую парсером, так и из внешинх источников (например, из БД).


VD>4. Ввести поддержку дефолтных параметров.



VD>Это не окончательный список, да и можно обсудить детали/необходимость предложенных мной фич.


Ага, и еще возможность вызова protected overriden методов с любого уровня классовой иерархии через явную квалификацию, а не только из базового через base (у кого что болит )
Re: А не залудить ли нам свой язык для дотнета?
От: Воронков Василий Россия  
Дата: 08.12.03 20:23
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>В качестве прообраза взять Шарп и добавить в него те фичи что посчитаем нужными.


Ну ты маньяк
... << RSDN@Home 1.1.2 beta 1 >>
Re: А не залудить ли нам свой язык для дотнета?
От: beretta Россия icq: 138726397
Дата: 08.12.03 20:50
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Лично меня интересуют следующие фичи:


Как насчет заглянуть глубже?
... << RSDN@Home 1.1.0 stable, слушаю — звезды >>
Re[2]: А не залудить ли нам свой язык для дотнета?
От: VladD2 Российская Империя www.nemerle.org
Дата: 08.12.03 22:28
Оценка:
Здравствуйте, beretta, Вы писали:

VD>>Лично меня интересуют следующие фичи:


B>Как насчет заглянуть глубже?


Вот с этого места по подробнее...
... << RSDN@Home 1.1.2 beta 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: А не залудить ли нам свой язык для дотнета?
От: mrhru Россия  
Дата: 09.12.03 02:00
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>В качестве прообраза взять Шарп и добавить в него те фичи что посчитаем нужными.




VD>Для начала просто воспоизвести Шарп 2.0. А потом зняться наворотами.


VD>Лично меня интересуют следующие фичи:

VD>1. Добавление реализации интерфейсов. Нечто вроде:
VD>
VD>ISome
VD>{
VD>  void f();
VD>}

VD>struct ImplISome : ISome
VD>{
VD>  public void f() { ... }
VD>}

VD>class UseImpl : ISome(public ImplISome) { }
VD>

VD>При этом в класс UseImpl будет копироваться код из ImplISome. public в ISome(public ImplISome) означает, что публичные методы ImplISome должны стать публичными методами UseImpl.

Вариант — сделать реализацию интерфейсов агрегатированием, как в Delphi.
Re[3]: А не залудить ли нам свой язык для дотнета?
От: beretta Россия icq: 138726397
Дата: 09.12.03 07:53
Оценка:
Здравствуйте, VladD2, Вы писали:

B>>Как насчет заглянуть глубже?


VD>Вот с этого места по подробнее...


Пропуская размышления и общение, сопоставимые по объему роману "Война и мир" Толстого, перехожу к делу.

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

Одна из простых аналогий это RegExp, но она работает только со строками, тут же открывается более широкая возможность.

Для пробы я делал некоторую простенькую реализацию, но получалось ОЧень медленно по скорости. Вот бы заделать на уровне языка, я б тогда с радостью позабывал половину констркций типа if, for, while, switch. Потом, там несколько упрощаются вопросы с исключениями и есть кое что по вопросу событий.
Re: А не залудить ли нам свой язык для дотнета?
От: Plutonia Experiment Беларусь http://blogs.rsdn.org/ikemefula
Дата: 09.12.03 08:18
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>В качестве прообраза взять Шарп и добавить в него те фичи что посчитаем нужными.


VD>Для начала просто воспоизвести Шарп 2.0. А потом зняться наворотами.


Все дело в суппорте, документации, туториалах.

А вооще такие идеи были с языком С и С++. Ничего толкового не вышло — была кучку ветвей, которые наполовину живы и все.
Re: А не залудить ли нам свой язык для дотнета?
От: Ведмедь Россия  
Дата: 09.12.03 08:34
Оценка: 7 (1)
Здравствуйте, VladD2, Вы писали:

А овчинка будет стоит выделки?
Да пребудет с тобой Великий Джа
Re[4]: А не залудить ли нам свой язык для дотнета?
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.12.03 16:50
Оценка:
Здравствуйте, beretta, Вы писали:

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


Т.е. функциональное программирование?

B>Одна из простых аналогий это RegExp, но она работает только со строками, тут же открывается более широкая возможность.


Ну, RegExp — это ДКА или на худой конец НКА. Их лучше в качестве библиотек реализовывать. Хотя во многих областях упрощение создания ДКА (вроде Lex-а) было бы очень полезно. Вот только у меня никаких идей по этому поводу, кроме компайл-тайм-мета-программирования.

B>Для пробы я делал некоторую простенькую реализацию, но получалось ОЧень медленно по скорости. Вот бы заделать на уровне языка, я б тогда с радостью позабывал половину констркций типа if, for, while, switch. Потом, там несколько упрощаются вопросы с исключениями и есть кое что по вопросу событий.


А ты не смотрел порты функциональных языков вроде SML на дотнет?

В любом случае эти идеи нужно описать более четко и дать видиние того как это совместить с ОО и процедурным подходами принятыми в Шарпе.
... << RSDN@Home 1.1.2 beta 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: А не залудить ли нам свой язык для дотнета?
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.12.03 16:50
Оценка: :)
Здравствуйте, Plutonia Experiment, Вы писали:

PE>Все дело в суппорте, документации, туториалах.


Собственно с сапортом у нас все в порядке (мы как ни как один из первых рунетных сайтов). Примеры тоже сделаем (было бы для чего).

Ну, и главное, что должна быть обратная совместимость с Шарпом. Тогда можно было бы просто махнуть компилятор в студии и пользоваться всеми багами...

PE>А вооще такие идеи были с языком С и С++. Ничего толкового не вышло — была кучку ветвей, которые наполовину живы и все.


Ну, С++ — это совственно и есть одно из удавшихся развитий С. МС++ является чистым развитием С++. Да и Шарп с Васиком от части тоже.

К тому же я не говорю о полностью новой системе. Просто еще один компилятор для дотонета. При таком подходе сложность его создания резко уменьшается. А совместимость с Шарпом позволит не отставать от жизни.
... << RSDN@Home 1.1.2 beta 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: А не залудить ли нам свой язык для дотнета?
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.12.03 16:50
Оценка:
Здравствуйте, Ведмедь, Вы писали:

В>А овчинка будет стоит выделки?


Ну, один из бонусов собственная выделка. Т.е. интересных процесс.

Для меня лично это не дело всей жизни, а просто интересный эксперемент. Если загнется, ну и фиг с ним. А выживет, так вообще замечательно.
... << RSDN@Home 1.1.2 beta 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: А не залудить ли нам свой язык для дотнета?
От: Ведмедь Россия  
Дата: 09.12.03 17:10
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Plutonia Experiment, Вы писали:


PE>>Все дело в суппорте, документации, туториалах.


VD>Собственно с сапортом у нас все в порядке (мы как ни как один из первых рунетных сайтов). Примеры тоже сделаем (было бы для чего).


VD>Ну, и главное, что должна быть обратная совместимость с Шарпом. Тогда можно было бы просто махнуть компилятор в студии и пользоваться всеми багами...


PE>>А вооще такие идеи были с языком С и С++. Ничего толкового не вышло — была кучку ветвей, которые наполовину живы и все.


VD>Ну, С++ — это совственно и есть одно из удавшихся развитий С. МС++ является чистым развитием С++. Да и Шарп с Васиком от части тоже.


VD>К тому же я не говорю о полностью новой системе. Просто еще один компилятор для дотонета. При таком подходе сложность его создания резко уменьшается. А совместимость с Шарпом позволит не отставать от жизни.


А совместимость в данном контексе что значит?
Да пребудет с тобой Великий Джа
Re[3]: А не залудить ли нам свой язык для дотнета?
От: Аноним  
Дата: 09.12.03 17:18
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Ведмедь, Вы писали:


В>>А овчинка будет стоит выделки?


VD>Ну, один из бонусов собственная выделка. Т.е. интересных процесс.


VD>Для меня лично это не дело всей жизни, а просто интересный эксперемент. Если загнется, ну и фиг с ним. А выживет, так вообще замечательно.


найти бы как редактор свой в студию вмонтировать, а там проще...
Re[3]: А не залудить ли нам свой язык для дотнета?
От: Ведмедь Россия  
Дата: 09.12.03 17:20
Оценка: +2
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Ведмедь, Вы писали:


В>>А овчинка будет стоит выделки?


VD>Ну, один из бонусов собственная выделка. Т.е. интересных процесс.


VD>Для меня лично это не дело всей жизни, а просто интересный эксперемент. Если загнется, ну и фиг с ним. А выживет, так вообще замечательно.


НИ разу не занимался написанием компиляторов. Интересно было бы попробовать или просто рядом постоять, за плечо позаглядывать
Да пребудет с тобой Великий Джа
Re: А не залудить ли нам свой язык для дотнета?
От: mister-AK Россия  
Дата: 09.12.03 17:23
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>2. Разрешить модификатор readonly для лакальных переменных и параметров. Никаких зависимостей во вне. Просто контроль программиста на этапе компиялции. Чтобы можно было написать так:

VD>
VD>void F(readonly int i)
VD>{
VD>  readonly int s = i.ToStrint() + " xxx";
VD>    s += " yyy "; // Ошибка времени компиляции
VD>    i++; // Ошибка времени компиляции
VD>}
VD>


это что там происходит в кузнице? — Паскаль доделываете?



нихрена себе.... const в формальных параметрах — вот диво открылось шарпу!
Re[3]: А не залудить ли нам свой язык для дотнета?
От: sugarde  
Дата: 09.12.03 17:31
Оценка:
Здравствуйте, VladD2, Вы писали:

Через 6-7 месяцев у меня вот диплом. В принципе интересуюсь всякими интересными авантюрами. C# может не стоит? Может кого-то из экзотов под .NET портировать? Prolog?
В жизни кaждoгo челoвекa бывaют приятные мoменты, кoгдa oн чувствует себя пoлным идиoтoм. Приятнoсть этих мoментoв в пoстижении истины.
Re[3]: А не залудить ли нам свой язык для дотнета?
От: mikа Stock#
Дата: 09.12.03 17:39
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Для меня лично это не дело всей жизни, а просто интересный эксперемент. Если загнется, ну и фиг с ним. А выживет, так вообще замечательно.


Дык, а может тогда что-нить реально полезное создадите? Я бы спасибо сказал
Re[4]: А не залудить ли нам свой язык для дотнета?
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.12.03 19:00
Оценка:
Здравствуйте, Ведмедь, Вы писали:

В>А совместимость в данном контексе что значит?


Компиляция всех исходников Шарпа версии 2.0. И создание модулей совместимых с Шарпом и Васиком.
... << RSDN@Home 1.1.2 beta 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.