Форум
Компьютерные священные войны
Тема
Как правильно задавать вопросы
B
I
abc
U
X
3
X
3
H1
H2
H3
H4
H5
H6
Asm
C/C++
C#
Erlang
Haskell
IDL
Java
Lisp
MSIL
Nemerle
ObjC
OCaml
Pascal
Perl
PHP
Prolog
Python
Ruby
Rust
SQL
VB
Здравствуйте, vdimas, Вы писали: V>Здравствуйте, Ночной Смотрящий, Вы писали: V>>>Фиговость проистекает из очевидного - CLI-машинка разрабатывалась не как привязанная конкретно к языку C#. НС>>Что это меняет в контексте разговора? V>Ничего. V>Твоё замечание о конкретике было верным, но мой пример как более общий тоже неплохо работает. V>>>Если бы привязанность была, НС>>Если бы у бабушки ... V>Конкретика, конкретика... V>Я отсылал коллегу к хорошо ему знакомому. V>Мне этот пример не требовался. V>>>Это был просто пример, который показывает суть - не всегда требуется хранить граф AST в явном виде. НС>>Пример чего? Тебе вроде бы сказали простую вещь - либо в платформе код как данные это first class citizen, либо нет. V>Expression<T> и его наследники не являются first class citizen. V>С т.з. языка это "пользовательские типы данных". V>В общем, требование first class citizen надуманное. V>Рассуждать можно лишь о наличии такой реализации или нет. V>Или о наличии нескольких реализаций. V>Тебе никто не запретит расписать свою независимую иерархию-аналог, вклинившись через Рослин в компиляцию. :xz: V>Вдогонку, first class citizen имеют неизвестную с т.з. языка структуру. V>В том же Лиспе можно получить тело ф-ии в виде списка, но нельзя понять, как эта ф-ия на самом деле устроена унутре на уровне машинки. V>А там не только тело, это специальная системная запись-символ. V>Структура символа неизвестна. V>Как пример - строки или делегаты в дотнете. V>Имеют неизвестную с т.з. языка внутреннюю структуру. :xz: НС>>Бла-бла-бла не по теме скипнуто. V>Смотря какая тема. V>Если тема конкретно байт-кода дотнета - то в контексте обсуждения не принципиально. V>При завязке только на C#, байт-код дотнета мог бы состоять только из помещения значений и литералов на стек и вызовов ф-ий (методов). V>Это было бы точное сериализованное представление AST, взаимно однозначное с его представлением в виде графа. V>Зацепились-то за "явное представление" AST. V>Пахнуло дотнетом, угу. )) V>А на деле, например, при компиляции функциональных языков граф вычислений никогда не живёт в памяти целиком, просто потому что этого не требуется. V>Я не раз уже обращал внимание твоё, Влада2 и Вольфхаунда, что в промышленных решениях чаще используют оперативную обработку графов, вместо сливания в бутылочное горлышко и разливание затем обратно. Даже в случае ленивых языков, цепочка бета-редукции работает именно над стековой машинкой и её итерирование происходит как показал картинкой последовательность обхода графа - т.е. в сериализованном виде. При оперативной обработке граф живёт только в голове разработчика, никогда не занимая память на все свои развесистые связи целиком, где стоимость хранения связей порой выше стоимости хранения целевых данных. ))
Теги:
Введите теги разделенные пробелами. Обрамляйте в кавычки словосочетания с пробелами внутри, например:
"Visual Studio" .NET
Имя, пароль:
Загрузить
Нравится наш сайт?
Помогите его развитию!
Отключить смайлики
Получать ответы по e-mail
Проверить правописание
Параметры проверки …