Навеяно топиком о Лиспе.
Итак — требуется придумать язык, заточенный под кодогенерацию (не модификацию!) на современных мейнстрим языках — Java, C#, C++. Требования (не все имеет отношение к языку, но тем не менее):
1) Декларативное описание входных данных
2) Декларативное описание структуры входных данных.
3) Возможность работы с несколькими источниками входных данных.
4) Простота и лаконичность описания основных программных конструкций целевых языков.
5) Максимально декларативная сущность описаний генераторов.
5) Простота парсинга самих описаний генераторов.
6) Возможность расширения.
На природу языка — императивный, функциональный и т.п. ограничений нет.
Здравствуйте, AndrewVK, Вы писали:
X>>JetBrains MPS однако AVK>Он у вас платный наверное будет. А хотелось использовать например в янусе.
Ну во-первых он в такой глубокой бэте, что о чем-то вообще говорить рано, а во-вторых всегда можно поговорить про отдельную licence для некоммерческой разработки
С уважением, Евгений
JetBrains, Inc. "Develop with pleasure!"
Здравствуйте, xvost, Вы писали:
X>Ну во-первых он в такой глубокой бэте, что о чем-то вообще говорить рано, а во-вторых всегда можно поговорить про отдельную licence для некоммерческой разработки
Можно. Но оно, как я понял, еще и к идее привязано. Да и здоровое оно какое то. Можно сюда прмиерчиков и скриншотов?
Здравствуйте, AndrewVK, Вы писали:
X>> Самому разбираться надо, а в предверии EAP'а РеШарпера времени нет катастрофически AVK>Как то он у вас подзатянулся. Обещали еще 3 недели назад.
Угу, есть такое. Программа максимум — выпустить версию завтра. Но может и не получиться
С уважением, Евгений
JetBrains, Inc. "Develop with pleasure!"
Здравствуйте, xvost, Вы писали:
AVK>>На природу языка — императивный, функциональный и т.п. ограничений нет. AVK>>У кого какие мысли есть?
X>JetBrains MPS однако X>Смотреть тут: http://www.jetbrains.com/mps/
Слушай, а вы не могли бы перевести все это дело на русский? Мы уже задолбались ждать от вашего начальства обещенных статей, а между тем статьи на английском присутствуют в изобили.
Подтолкни там своий. Мы же вас бесплатно отрекламируем.
... << RSDN@Home 1.2.0 alpha rev. 557>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, AndrewVK, Вы писали:
AVK>Итак — требуется придумать язык, заточенный под кодогенерацию (не модификацию!) на современных мейнстрим языках —
А я вот с удовольствием послушал бы идеи о языке для модификации.
... << RSDN@Home 1.2.0 alpha rev. 557>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
G>>Применяем слегка измененный Erlang. Я добавил туда записи в стиле Clean, для удобства — родные recordes несколько кривоваты.
AVK>И чем это лучше XSLT или приведенных примеров на лиспе?
Кажется, ты интересовался способом решить эти вопросы?
1) Декларативное описание входных данных
2) Декларативное описание структуры входных данных.
3) Возможность работы с несколькими источниками входных данных.
4) Простота и лаконичность описания основных программных конструкций целевых языков.
5) Максимально декларативная сущность описаний генераторов.
5) Простота парсинга самих описаний генераторов.
6) Возможность расширения.
А на самом деле, преимущество одно. Минимальная семантическая разница между постановкой задачи и решением. На лиспе вполне возможно приблизиться к этому варианту. На XSLT — нет, и semantic gap в случае XSLT больше.
AVK>Можно. Но оно, как я понял, еще и к идее привязано. Да и здоровое оно какое то. Можно сюда прмиерчиков и скриншотов? Тут Фаулер немного разбирал эту тему, у него и примерчик есть.
Здравствуйте, Gaperton, Вы писали:
G>А на самом деле, преимущество одно. Минимальная семантическая разница между постановкой задачи и решением. На лиспе вполне возможно приблизиться к этому варианту. На XSLT — нет, и semantic gap в случае XSLT больше.
Хотя и XSLT вполне достойно смотрится на этой задаче, надо признать. Жаль только, что он узкоспециализирован.
Здравствуйте, Gaperton, Вы писали:
AVK>>И чем это лучше XSLT или приведенных примеров на лиспе? G>Кажется, ты интересовался способом решить эти вопросы?
Не просто решить, а красиво решить.
G>А на самом деле, преимущество одно. Минимальная семантическая разница между постановкой задачи и решением. На лиспе вполне возможно приблизиться к этому варианту. На XSLT — нет, и semantic gap в случае XSLT больше.
Здравствуйте, Gaperton, Вы писали:
G>Здравствуйте, Gaperton, Вы писали:
G>>А на самом деле, преимущество одно. Минимальная семантическая разница между постановкой задачи и решением. На лиспе вполне возможно приблизиться к этому варианту. На XSLT — нет, и semantic gap в случае XSLT больше.
G>Хотя и XSLT вполне достойно смотрится на этой задаче, надо признать. Жаль только, что он узкоспециализирован.
Наверное поэтому на этой задаче он и смотрится.
... << RSDN@Home 1.1.4 stable rev. 510>>
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, Andre, Вы писали:
AVK>>Можно. Но оно, как я понял, еще и к идее привязано. Да и здоровое оно какое то. Можно сюда прмиерчиков и скриншотов? A>Тут Фаулер немного разбирал эту тему, у него и примерчик есть.
Понятно. Это опять не то, чего я хотел. Мне не интересны инструменты создания полномасштабных DSL, мне интересно создание утилиты для решения внутрипрограммных целей путем кодогенерации.