Cтраница 4
Второй рассматриваемый нами подход к повышению эффективности выполнения функциональных программ использует абстрактную интерпретацию для управления путем выполнения программы без модификации ее определения. Механизм такого управления формализуется аннотированием программы, специфицирующим ее операционную семантику более точно, чем это может быть сделано при определении только семантики для языка в целом. Например, мы уже сталкивались в нескольких случаях с семантикой энергичного и ленивого вычислений в функциональных языках, в которых параметры всегда берутся по значению и по необходимости соответственно. Однако нет причины, почему бы не сделать некоторые применения функции энергичными и их аргументы будут браться по значению, а другие - ленивыми и их аргументы будут браться по необходимости. Требуется только однобитовая аннотация для каждого параметра определения функции, указывающая, какая семантика должна быть для каждого компилируемого применения функции. Правда, практическая задача заключается прежде всего в осуществлении правильного выбора. [46]
Каждое правило является равенством, так что смысл функциональной программы, преобразуемой по методологии раскрутки / скрутки, действительно гарантированно сохраняется, по крайней мере частично. Рассмотрим сначала чуть более сложный пример - функцию, вычисляющую среднее списка чисел, в преобразовании которой используются все первые пять правил. [47]
В этом разделе описывается входная информация, используемая функциональными программами ППП Сопровождение, порядок ее подготовки на бланках входных документов и обработки на вычислительном центре. [48]
Некоторые теоретики интересуются функциональными языками потому, что корректность функциональных программ легче доказать с помощью стандартных математических приемов, а также потому, что эти программ. [49]
В нормальном режиме УВМ работает по одной из своих основных функциональных программ. В случае существенных изменений параметров режима управляемого объекта машина должна выполнить соответствующую, новую программу по принципу приоритета более важной программы, например аварийной. После выполнения этой внеочередной программы машина возвращается к выполнению первоначальной программы. [50]
Программный комплекс модели АСУ состоит из системного программного обеспечения, функциональных программ и управляющей программы модели. [51]
Целью этой главы является объяснение того, как осуществляется трансляция функциональной программы, представленной в промежуточной форме, в последовательность команд низкого уровня для обычного последовательного компьютера. Часть обсуждения посвящена тому, как могут быть объединены различные приведенные выше методики для наиболее эффективного применения языка. В этой главе устанавливается окончательная связь между исходной программой и аппаратной частью конкретного компьютера и в основном завершается описание применения функциональных языков. [52]