Re[6]: Система типов для компонентного программирования.
От: AlexCab LinkedIn
Дата: 22.08.11 11:48
Оценка:
Здравствуйте, x-code, Вы писали:
AC>>процедура может быть потоковой(поток данных) или императивной(поток инструкций)
XC> Это как?
Код программы содержится в процедурах(они же значения-код из первого поста) и только в них.
"процедура" — когда речь идёт о представлении значения-кода как собственно кода(напр. "вызвать процедуру"),
"значение-код" — когда речь идёт о представлении процедуры как собственно значения(напр. "копировать значение-код").
Сам код это последовательность вызовов процедур(в императивной процедуре) или схема соединения вызовов процедур(вызов процедуры это и есть "code component")(в потоковой процедуре).
В императивной процедуре последовательно выполняется вызов за вызовом в порядке записи.
В потоковой процедуре значения поступают с входов(аргументов) "проходят через схему" и выходят через выходы(результаты). Вызов процедуры происходит когда на всех входах(аргументах) есть значение.
Вот например реализация процедуры которая суммирует свои аргументы:
 SUM CODE[INT,INT,INT,INT][INT]  \\Тип значений-кодов принимающих 4 аргумента и возвращающий один результат типа "INT" 

 S SUM(A,B,C,D){ \\Императивная процедура
               \\Код код суммирования("=>" - оператор копирования значения)  
                 A => T
                 T + B
                 T + C
                 T + D
                 T => R
                \\Определения
                 T INT 
               }(R)

 G SUM(A,B,C,D){| \\Потоковая процедура
                \\Схема суммирования("C1" и "C2" - перемычки).
                 (A,B)+(C1)
                 (C,D)+(C2)
                 (C1,C2)+(R)
                |}(R)

Можно представить потоковую процедуру так:

PS: !Ещё в разработке потому могут быть ошибки в концепции, синтаксисе, терминологии и т.п., не судите строго
Между тем,что я думаю,тем,что я хочу сказать,тем,что я,как мне кажется,говорю,и тем,что вы хотите услышать,тем,что как вам кажется,вы слышите,тем,что вы понимаете,стоит десять вариантов возникновения непонимания.Но всё-таки давайте попробуем...(Э.Уэллс)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.