Будет ли это технически возможно? Если это будет реализовано в Java, я бы сказал, «очень, очень сложно, но возможно» без значительного снижения производительности.
На самом деле я пишу от руки статически типизированный DSL в Java прямо сейчас, и я нашел единственный способ избежать проверки типов во время выполнения - использовать универсальные шаблоны и подавлять «непроверенные» предупреждения ... то есть до тех пор, пока не настало время реализации многомерные массивы (параметры класса должны быть известны во время компиляции и, таким образом, по своей природе конечны, тогда как многомерные массивы представляют бесконечное число типов ...) Все еще пытаюсь выяснить это, к сожалению - я уверен, что я Вы столкнетесь с аналогичными проблемами с пользовательскими классами.
Дело в том, что я продолжаю спотыкаться о подобных проблемах, но, посидев на этом некоторое время, я придумаю хорошее решение. Итак, чтобы сделать это и получить преимущества в производительности от статической типизации (без проверки типов во время выполнения), я бы сказал, что это чрезвычайно сложно, но не невозможно. Минус производительности, я бы сказал, трудно, но очень возможно.
Я знаю, что это старый вопрос, просто подумал, что мой опыт может быть ценным для кого-то.