?
Статически типизированная версия языка функционально-потокового параллельного программирования
Предлагается расширение языка функционально потокового параллельного программирования включением в него статической системы типов. Это ведет к изменению функционально-потоковой модели параллельных вычислений и, как следствие, методов трансформации, а также подходов к использованию функционально-потоковых параллельных программ. Проводится обзор модели вычислений и операторов языка программирования, сформированных в результате проведенных изменений. Отмечается, как эти изменения влияют на синтаксис и семантику. В частности, данные, формируемые ранее динамически во время выполнения программы, заменяются программными объектами, характерными для статически типизированных языков программирования, что позволяет обеспечить их идентификацию уже на этапе компиляции. Вместо списков данных предлагается использовать структуры, кортежи и многомерные массивы фиксированной размерности. Параллельный список, обеспечивающий выполнение массовых параллельных операций, трансформируется в рой фиксированного размера, все элементы которого имеют единый тип. Типы данных, поступающих на вход оператора интерпретации, также становятся известными во время компиляции. Обосновывается необходимость добавления принципа единственного присваивания, обусловленного формированием хранилищ конкретного типа. Упрощается алгебра эквивалентных преобразований, что также повышает эффективность трансформации архитектурно-независимых параллельных программ в программы, исполняемые на реальных вычислительных системах.