Cтраница 2
Рассмотрение кодов G-машины для выражений, содержащих более одного рекурсивного квалифицированного определения, предлагается читателю провести самостоятельно. Заметьте, что использование рекурсивной версии всегда корректно, даже если квалифицированное выражение нерекурсивно. [16]
Если мы знаем, что е имеет тип а, то можем немедленно сделать вывод, что тип / - это а - р, где р - тип, который должен быть выведен. Следовательно, мы можем рекурсивно выводить типы чисто аппликативных выражений; при этом самые внутренние выражения с известными типами обеспечивают базовые случаи. Если включить в рассмотрение квалифицированные выражения, ситуация становится более сложной, так как тип присваивается идентификатору дважды ( в квалификаторе и в результанте), и поэтому мы должны отождествить такие типы, чтобы получить наиболее общий тип. [17]