2009-06-05 3 views
1

Я заинтересован в выполнении проекта языков программирования с использованием схемы. Пара, что я рассмотрел -Язык программирования с использованием схемы

  1. Схемы расширение интерпретатор на схеме (metacircular) - Дело в том, что многие из них уже существуют, и его не слишком сложные.

  2. Внедрение языка, специфичного для домена. Это хорошо, но я не могу придумать какой-либо домен, который бы выиграл от DSL. Вы знаете что-нибудь?

Некоторая помощь с большим количеством идей?

Спасибо.

ответ

2

Если вы не хотите выполнять метациркулярный оценщик, вы можете попробовать написать переводчика для другого языка в Sccheme. Я написал ML intrpreter в схеме для проекта класса, и они более сложны, чем реализации Схемы, потому что они не всегда разделяют семантику.

+0

Действительно, сделать переводчика для другого языка, кроме схемы, будет значительно сложнее. – Pranav

3

Проблема с доменными языками заключается в том, что для того, чтобы сделать полезную, вам необходимо иметь хорошее знание этого домена и мотивацию для инкапсуляции этих знаний в удобную многоразовую форму.

Например, одним из моих увлечений является вычисление вероятностей, связанных с игрой контрактного моста; DSL позволяет мне указать ограничения на одно из таких вычислений в удобной форме, которая вполне читаема для людей, знакомых с игрой (она по существу гласит: «Если у Севера есть как минимум 5 лопастей и больше лопастей, чем сердца, каково распределение вероятности для длины лопаты в Южной руке "и т. п.). Поскольку я делаю много таких вычислений, мотивация также существует.

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

Итак, если есть какие-то домены , вы,, считаете себя интересным и полезным, @ предложение Натаниэля о том, чтобы сделать какой-то другой язык общего назначения, может быть лучшей идеей!

1

Вы можете проверить Scheme SRFIs на список проектов Схемы, которые хотели бы видеть другие Схемы. Возможно, это даст вам некоторые идеи.

Смежные вопросы