(no subject)

Date: 2012-07-16 11:32 am (UTC)
>EDSL - это скрытая библиотека (и наоборот). Как это нет возможности комбинировать библиотеки?

EDSL - это язык, оперирующий терминами предментной области. При помощий макросов их действительно возможно создать. А комбинировать библиотеки можно сколько угодно, только не стоит называть какой-нибуть sqldatareader "EDSL'ем для работы с реляционными базами".

>Практически всё является первоклассной сущностью, sexp. Макросы уже потом этим пользуются.

Абсолюдня индентичная ситуация в Nemerle. Код в виде квази-цитат является первоклассной сущностью, которой можно оперировать при помощи макросов. Я подозреваю, что отличие только в том, что лисповые макросы можно исполнять в рантайме. В комьюнити немерле возникала идея прикрутить возможность использовать макросы для динамическом компиляции сборок, но дальше идеи дело не пошло, видимо, было не очень нужно.

>Хаскель чем хорош? Практически всё является первоклассной сущностью, функцией.

do-нотация не является первоклассной сущностью и ее нелья никуда передать. И опять же, я не могу представить себе семантику такой "передачи".

>>Как это "параметризован библиотекой"?
>В ML это называется функторы или модули, как-то так. В Хаскеле - конструкторы типов.

Это имеет отношение к системе типов и полиморфизму. В Nemerle под словом "макрос" стоит понимать расширение компилятора, которое, во-первых, добавляет новые правила в парсер, а, во-вторых, имеет доступ практически ко всем структурам, которыми оперирует компилятор (исходный код, AST, типизированное AST) и может ими оперировать для введения новых конструкций в язык. Система типов и макросистема - непротиворечивые вещи, которые можно использовать одновременно. Типы - для валидации кода из коробки и оптимизаций компилятором, макросы - для создания EDSL и кодогенерации.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

December 2019

S M T W T F S
1234567
891011121314
15161718192021
222324252627 28
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags