Я учусь некоторые типизированных ракетки на данный момент, и у меня есть несколько философской дилемма:типизированной Ракетка Optimizer
Ракетка претендует быть основой развития языка и типизированная Ракеткой является одним из таких языков, реализованных на нем. В документации упоминается, что из-за используемых типов компилятор теперь может сделать больше/лучше оптимизацию.
Конкретный вопрос:
Где эти оптимизации происходит?
1) В компиляции/развернуть часть (которая «программируемая» как часть структуры языка здания)
-или-
2) далее вниз по линии в (байт-код) оптимизатора (который написан на C, а не напрямую модифицируется через фреймворк).
Если 2) истинно, означает ли это, что информация о типе теряется после этапа компиляции/расширения, а затем «перестраивается/угадывается» оптимизатором или имеет промежуточное представление, которое было изменено для размещения информации о типе и последующего информирования этапы о них?
Причина, по которой я задаю этот конкретный вопрос, состоит в том, что я хочу получить представление о том, насколько на самом деле существует рамочная система Racket, т. Е. Также жизнеспособна для статически типизированных языков без каких-либо изменений в бэкэнде или системе типов передняя часть, а код во время выполнения все еще динамически вводится (но, конечно, статически проверяется).
спасибо.
Это отвечает всем, что я хотел знать! Спасибо! – Lazarus535