Я создаю DSL с помощью редактора, похожего на шаблон, очень похожего на систему правил в Alice. Пользователи смогут выбирать отношения из списка, а также объекты, к которым нужно применить отношение. Эти два списка должны быть отфильтрованы на основе допустимых типов — например, если отношение «больше чем», то доступные объекты должны относиться к типу, для которого реализовано «больше чем».
Точно так же, если выбран объект, который не сравним с больше чем, то это отношение не должно быть в списке потенциальных отношений. Я думаю, что суть этой проблемы заключается в проверке типов, но я не уверен, как лучше всего включить логику такого типа в мое приложение. Кто-нибудь знает о существующих библиотеках проверки типов для DSL?
Меня особенно интересуют технологии с открытым исходным кодом и кроссплатформенные технологии. Java, вероятно, язык, который мы в конечном итоге будем использовать, но это не исправлено.