Здравствуйте, vdimas, Вы писали:
V>fist class citizen — это мем.
:wut:
V>Хотя бы расположение бит и их итерпретация.
Так и что в этом неизвестного?
V>Например, far указатель унутре составной, часть бить отвечает за сегмент, часть за смещение сегмента.
V>Простая конкатенация бит адреса не создаёт реальный адрес, поэтому сравнивать произвольные far адреса нельзя.
V>Можно сранивать адреса только из одного сегмента.
V>Или более строго — из одного выделенного по malloc блока.
Вот видишь, тебе это известно, тогда что неизветсно?
V>Ты привёл из вики, т.е. совершил напрасный труд. ))
V>И почему ты споришь со мной?
V>Там коллега сказал, что Expression<T> — это первоклассная сущность.
V>Ну вот и спроси у него, чем его Expression<T> первокласснее моих неких MyExpression<T>?
Ничем, это булево свойство.
V>Косвенность не волнует только в иммутабельных системах типов, а иначе волнует, конечно.
Не для определения «first-class citizen»
V>Это какая-то нестандартная Схема? ))
Стандартная R6RS.
V>Любые примитивы из стандарта, навроде let, могут быть реализованы как встроенные.
И что?
V>Показанная тобой реализация предназначена для динамического исполнения машинкой, ес-но.
что? Какое ещё динамическое исполнение, если фаза expand происходит до компиляци?
V>Поэтому, опять мимо.
Мимо у тебя глаза смотря, судя по всему. Возьми уже macroexpand, да сам посмотри, как и когда оно работает.
Или хотя бы стандарт почитай:
Macro uses (see section 9.2) are expanded into core formsat the start of evaluation (before compilation or interpretation) by a syntax expander.
—
http://www.r6rs.org/final/html/r6rs/r6rs-Z-H-13.html#node_chap_10