Z:gnu-www-ja-stallman-kth--c7660c-Pastel was a very complicated/ru

Pastel был очень сложным языком, включающим такие особенности, как параметризованные типы, и явные параметры типа, и много сложных вещей. Компилятор, конечно, был написан на этом языке, и у него было много сложных особенностей для оптимизации использования всего этого. Например, тип &ldquo;строка&rdquo; в этом языке был параметризованным; можно было сказать &ldquo;строка(n)&rdquo;, если тебе нужна была строка определённой длины; ты также мог просто сказать &ldquo;строка&rdquo;, и параметр определялся из контекста. Ну вот, строки очень важны, и для многих конструкций, пользующихся ими, необходимо быстрое исполнение, а это значит, что у них должно быть много особенностей для обнаружения таких вещей, как: когда объявленная длина строки &mdash; аргумент, о котором известно, что он неизменен на протяжении функции, сохранить значение и оптимизировать код, который они собираются сгенерировать, много сложных вещей. Но мне удалось увидеть в этом компиляторе, как делать автоматическое размещение регистров, и некоторые идеи о том, как обращаться с разными типами машин.