>То есть не существует никакой возможности произвольно комбинировать edsl, даже безотносительно языка.
EDSL - это скрытая библиотека (и наоборот). Как это нет возможности комбинировать библиотеки?
>>Можно ли передать макрос параметром? Может ли какой-то код быть параметризован библиотекой с макросами? >Нет.
Вот.
Мы только что выяснили слабое место макросов. Макросы не являются первоклассной сущностью.
Чем больше в ЯП первоклассных сущностей, тем лучше. Лисп чем хорош? Практически всё является первоклассной сущностью, sexp. Макросы уже потом этим пользуются. Хаскель чем хорош? Практически всё является первоклассной сущностью, функцией. Нужда в макросах возникает сильно потом.
>Как это "параметризован библиотекой"?
В ML это называется функторы или модули, как-то так. В Хаскеле - конструкторы типов.
no subject
EDSL - это скрытая библиотека (и наоборот). Как это нет возможности комбинировать библиотеки?
>>Можно ли передать макрос параметром? Может ли какой-то код быть параметризован библиотекой с макросами?
>Нет.
Вот.
Мы только что выяснили слабое место макросов. Макросы не являются первоклассной сущностью.
Чем больше в ЯП первоклассных сущностей, тем лучше. Лисп чем хорош? Практически всё является первоклассной сущностью, sexp. Макросы уже потом этим пользуются. Хаскель чем хорош? Практически всё является первоклассной сущностью, функцией. Нужда в макросах возникает сильно потом.
>Как это "параметризован библиотекой"?
В ML это называется функторы или модули, как-то так. В Хаскеле - конструкторы типов.