dmzlj -

топ 100 блогов dmzlj — 19.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, т.е. например иметь динамическую типизацию и функции с переменным количеством параметров.

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

Архив записей в блогах:
Вернее было бы написать не «после», а между дождями. Неделя у нас выдалась влажная. И это замечательно для наших легких почв: наконец-то. хотя бы часть воды достанется растениям, а ...
Автор видео - zhgun (создатель Зойча , кстати, и многих других чудесных произведений). Навального озвучил navalny . За основу взят трейлер фильма "Начало" , который можно посмотреть под катом. Хороший, кстати, фильм) ...
Пуск лунника Nova-C перенесли на сутки, но пусковой "плотный день" - остался. Он даже стал ещё плотнее: Теперь в период девять часов упаковано уже четыре пуска - три от SpaseX и один от Роскосмоса.. Ну, нам-то с вами проблемы тут нет, а вот представьте, каково в такое время ...
Сегодня разглядывала двух бомжей и вспоминала третью. Начну с последней. Русская. Москвичка, если, конечно, можно так говорить про бомжей. Она жила на автобусной остановке напротив редакции, в которой я работала. Возраст определить сложно. Лицо одутловатое, каждый день с новым бланшем . ...
Даже не думайте сравнивать Англию и Россию: причина по которой здесь никому даже гипотетически не суждено попасть в хогвартс - это не отсутствие Хогвартса, как вы могли подумать а совы. Совы, приносящие почту. Приносящие, но не отдающие...))))) *Где-то в отдалении слышится, как хор ...