Здравствуйте, Аноним, Вы писали:
А>Вообщем чем дальше смотрю на мучения с немерли тем больше верю в пословицу.
Мучения?
Кто-то мучается что-ли? Имхо, все, кто работает над языком получают от этого удовольствие.
_Claus_ просто хочет несколько странного. Писать в коде поле, а получать свойство с тем же именем.
А>Любая попытка сделать макросы это попытка изобрести лисп
Чего его изобретать? Вот если бы разработчики не знали о лиспе, но макросы в немерле взяли многие идеи именно оттуда. Сила лиспа в том, что любой синтаксис там будет синтаксисом списка. Поэтому реализация макросов там элементарна, но возможности DSL-строения на нуле.
Z>_Claus_ просто хочет несколько странного. Писать в коде поле, а получать свойство с тем же именем.
Не только это.1) Хочу метод или описание одного класса преобразовать в методы других классов.
2) Не хочу писать типы возврата у методов, которые по определению всегда возвращают только один тип.
напр. логическое правило. или факт.
3) возможность изменить тип поля, напр int на FuzzyInt.
4) ..
Здравствуйте, _Claus_, Вы писали:
Z>>_Claus_ просто хочет несколько странного. Писать в коде поле, а получать свойство с тем же именем.
_C_>Не только это.1) Хочу метод или описание одного класса преобразовать в методы других классов.
_C_>2) Не хочу писать типы возврата у методов, которые по определению всегда возвращают только один тип.
_C_>напр. логическое правило. или факт.
_C_>3) возможность изменить тип поля, напр int на FuzzyInt.
_C_>4) ..
Ты хочешь делать нормальные ДСЛ. Можно так:
[MyDSL]
module MyDeclaraiveModel
{
class MyClass
{
int FuzzyIntField;
}
}
// а MyDSL генерирует вне модуля
class MyClass // твой код будет работать с этим классом
{
FuzzyInt FuzzyIntField {get;set;}
}
Костыли. Надо делать Н2, в Н1 это будут костыли.