dmzlj -

топ 100 блогов dmzlj19.08.2010 Вот и первые проблемы начались. В языках с синтаксисом наличие жестко определенных типов вполне естественно --- есть синтаксические конструкции, есть типы данных, которые они порождают:

[a, b, c, ...]  ;;  список  TList(typeof(a))
(a,b,c)         ;; 3-кортеж TTuple(typeof(a), typeof(b), typeof(c))


допустим у нас язык без синтаксиса, и каждая конструкция имеет семантику вызова функции:

(list a b c d) ;; список
(tuple a b c)  ;; 3-кортеж


возникают следующие вопросы:

Если конструкторы данных --- это функции, то они должны иметь переменное количество параметров. Тогда как в определяемых функциях количество параметров может быть только фиксированным (вытекает из статической типизации).

Далее, если давать переопределять эти функции, то что происходит с типами данных, которые они возвращают? Количество основных типов, о которых знает компилятор и к которым сводятся остальные --- оно все равно фиксировано.

Даже если дать произвольно определять конструкторы, все равно должны быть какие-то вызовы, которые будут вызваны в этих конструкторах, что бы вернуть объект того или иного основного типа.

Если же не давать переопределять конструкторы данных, жестко определяя их синтаксис, то почему бы тогда не зафиксировать и остальные формы (define, let, if-then-else, etc), перекладывая проверку их корректности на парсер?

А можно еще рассматривать язык программирования как язык и API для генерации AST. Язык для генерации AST вполне может иметь семантические отличия от того языка, который представляетcя этим AST, т.е. например иметь динамическую типизацию и функции с переменным количеством параметров.

Оставить комментарий

Популярные посты:
Архив записей в блогах:
Смотрю в окно - бело! Надо пойти погулять. И пошла. Хотела показать серию "Германия. Зимняя сказка" Увы, зимней сказки удалось кусочек найти. Все было изгажено желто-грязными обрывками и остатками праздничного фейерверка. Где хомосапиенс веселились, остались следы. Надолго, видать. Хорош ...
Полное название статьи: "УК РФ Статья 207.3. Публичное распространение заведомо ложной информации об использовании Вооруженных Сил Российской Федерации, исполнении государственными органами Российской Федерации своих полномочий." Честно говоря, я не очень понимаю, как могло бы выглядеть ...
Чисто для хохмы: "Футболистов «Луч-Энергии» выселяют из гостиницы в Турции, куда команда прилетела на тренировочный сбор. По информации Primamedia, на счету клуба не нашлось денег для оплаты номеров. До этого клуб снял номера в отеле по гарантийным письмам, но не сумел выполнить ...
Некоторые считают, что можно насиловать женщину, если она согласилась выпить вина у мужчины дома. Или неприлично танцевала в клубе, размахивая лифчиком. И уж тем более, если она – обожемой! – прислала знакомому фото без трусов. Иногда мне кажется, что у людей в головах есть какой-то ...
Нельзя прийти домой с Ясей и не сделать вафли Остальная часть дня - работа и учёба ...