Существует ли система типов, которая расширяет макросы и дает вам ошибки типа сгенерированного кода, который в конечном итоге будет выполнен?Ошибки времени компиляции для сгенерированного кода?
Практический пример может генерировать некоторый SQL динамически, но получать синтаксические ошибки от компилятора на основе некоторых ограничений (перед выполнением кода).
Другим примером может быть генерация функции с n вложенными циклами для генерации n комбинаций.
Часто генерирующий исходный код нахмурился, потому что он будет «строчно напечатан», поэтому мне интересно, существует ли система типов, которая может использовать ограничения, чтобы дать вам ценную обратную связь при написании кода, который генерирует код.
Я не уверен, что это то, что вы хотите, но посмотрели ли вы на поставщиков F #? – TeaDrivenDev
Мне неинтересно говорить с SQL. Я заинтересован в получении обратной связи с компилятором при написании кода, который генерирует код. –
Примером может быть запись транспилятора в javascript, вы будете генерировать JS, и было бы неплохо получить компилятор обратной связи на вашем языке, если ваша функция будет генерировать неверный код при исполнении. –