QuoteRef: kosiPR9_1973 ;;89 DFPL no control flow, no assignment not even variables and memory as basic concepts % is mainly data movement not operations
|
QuoteRef: kosiPR9_1973 ;;90 in a data flow language, memory is only needed for database and to simplify the programming job
|
QuoteRef: kosiPR9_1973 ;;90 DFPL program consists of function nodes (primitive or defined) and data paths of any type of data
|
QuoteRef: kosiPR9_1973 ;;91 PRESENCE signals receiver that a datum exists on a path and DONE signal sender that data has been received
|
QuoteRef: kosiPR9_1973 ;;91 function executes when appropriate inputs have PRESENCE and outputs have DONE
|
91 ;;Quote: a sub-graph becomes a function by naming it; the crossed data paths become its inputs and outputs
|
QuoteRef: kosiPR9_1973 ;;91 primitive DFPL functions
|
QuoteRef: kosiPR9_1973 ;;91 PCF (primitive computation functions) require all inputs to be present and send done when all outputs receive done. eg modify an array with a new value and returning the array
|
QuoteRef: kosiPR9_1973 ;;94 in a data flow language, CONSTANT provides a constant value that always has PRESENCE and can't receive input
|
QuoteRef: kosiPR9_1973 ;;94 FORK passes one input to n outputs, passes done when receives all done
|
QuoteRef: kosiPR9_1973 ;;94 OUTBOUND SWITCH control: input selects which output to pass data to. passes 'done' back
|
QuoteRef: kosiPR9_1973 ;;94 INBOUND SWITCH control: input selects which input to send to one output; passes 'done' back to that output
|
QuoteRef: kosiPR9_1973 ;;94 LOOP (used a lot) data passed from initial path to output path, on control signal saves and returns done, on feedback input saves and returns done, on output done gives feedback if control was true else passes done to initial path
|
QuoteRef: kosiPR9_1973 ;;94 GATED PRESENCE (GPR) data input sent to output, data at gate input will output true or false on sense output if data exists at data input, passes back done
|