Языки программирования проекта с использованием схемы - PullRequest
1 голос
/ 05 июня 2009

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

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

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

Может, есть еще идеи?

Спасибо.

Ответы [ 3 ]

3 голосов
/ 05 июня 2009

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

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

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

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

2 голосов
/ 05 июня 2009

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

1 голос
/ 06 июня 2009

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

...