От: | _nn_ | www.nemerleweb.com | |
Дата: | 04.04.11 09:11 | ||
Оценка: |
Кроме того, Nemerle не является идеальным расширяемым языком для высокопроизводительных вычислений.
Прежде всего, получение семантической информации внутри макросов затруднено.
В частности, информация об объявленных переменных и типах выражений становится доступной только в процессе развёртки макросов.
Если же требуется и получить информацию, и сохранить макросы в дереве исходного кода, требуется использовать обходные пути, которые не всегда работают.
Во-вторых, все функции в Nemerle-программе транслируются независимо, и нет возможности получить код одной функции из другой функции.
Как следствие, реализация преобразований типа встраивания функций или генерации специальных версий функций для определённых наборов параметров затруднены.
В-третьих, для инициирования преобразований требуется применять макросы; возможность инициирования преобразований через определённые шаблоны кода отсутствует.
Соответственно, нет возможности выполнить преобразования, добавляющие новую семантику без добавления синтаксиса — как добавление в язык массивного программирования.
Наконец, в языке отсутствует гибкий механизм назначения атрибутов вершинам дерева кода и переменным.
Всё это говорит о том, что для высокопроизводительных вычислений потребуется разработать более гибкий расширяемый язык программирования.
Но для этого сначала потребуется попробовать решить при помощи NUDA и Nemerle более широкий круг задач — чтобы определить требования, предъявляемые к новому языку.