Talk:Dataflow programming

message: The result was rename dataflow language to dataflow programming for reasons of consistency, with a possible selective merge of appropriate information from dataflow and data flow diagram, if information is exclusive to dataflow programming. Information that does not belong to dataflow programming should not be merged from those pages. -- DancingHacker 21:14, 22 August 2007 (UTC)
replies: text: This is complicated. There are currently three overlapping pages, dataflow, dataflow language and data flow diagram, which have some overlapping content and are all clearly related. I agree that renaming dataflow language to dataflow programming would make wikipedia more consistent. And certainly moving appropriate information from the dataflow article makes sense, but data flow diagram and dataflow contain much in concept that doesn't belong in dataflow programming, so a merger seems innappropriate to me. pcrtalk 05:37, 11 July 2007 (UTC)
thread_title: Merger proposal

message: I removed from the dataflow languages examples list Max, Pure Data and VVVV.
Because they are not Dataflow Languages.
Please, read the bellow arguments and say whether you agree or not.
According to Paul G. Whiting definition in A History of Data-Flow Languages 
"The data-flow model has the single-assignment property.
Values are data tokens that are transported from their producing
node to the node that consumes them; there is no
concept of a variable with a state that can be arbitrarily updated
at a later time. In data-flow, identifiers may be used to
name these data tokens. Such identifiers are thus either undefined
(not yet produced) or carry a single unique value;
they cannot be updated."
That's not true for Max paradigm as Miller Puckette state in "Combining Event and Signal Processing in the MAX Graphical Programming Environment" 
"MAX is not a dataflow language; the boxes which make up a patch usually contain some local state.
Dataflow's independence of the order in which the inputs to an operation become available cannot be achieved here. On the other hand, MAX's object-oriented approach is much more appropriate for systems
which must respond to external requests for action. In this scenario which is typical of live human/machine interaction, the order in which transactions occur is often significant. A violin should be tuned before playing it, not after, for best results."
Bye.
j.jR.
* An argument for listing languages such as MAX
From that same Whiting article:
"Second,
the efficient implementation of certain operations, particularly
those associated with creating and manipulating large
data structures, is fundamentally difficult in a pure data-flow
environment. We thus consider that data-flow languages are
those which, however their semantics are defined, have a
strong favor of the data-flow model, albeit as modified by
the evolutionary process. We also note that, although the
purity of the original model of data-flow has been sacrificed,
most language designers have sensibly attempted to preserve
equivalent semantics to the single-assignment property."
In particular, I would point out "data-flow languages are
those which, however their semantics are defined, have a
strong favor of the data-flow model", and
"most language designers have sensibly attempted to preserve
equivalent semantics to the single-assignment property" (not all).
With this in mind, it would seem reasonable to consider MAX a
dataflow language.
Additionally, the Puckette article came before the Whiting article,
so it was unlikely to use its more progressive definition of dataflow
(admittedly, Whiting does not mention MAX in the survey paper).
Also, since both of these articles are quite old, unless there are
newer publications that weigh in on this issue I suggest we give
adequate room for "modified by the evolutionary process" and list
languages that "have a strong favor of the data-flow model" as
dataflow languages, as per the definition above.
DancingHacker 19:18, 7 July 2007 (UTC)
thread_title:  Max paradigm languages are not dataflows 

message: Surely this article is erroneous in saying that data-flow languages are all visual? The (first?) data-flow language Lucid has no visual environment for programming.
Riftor 08:24, 7 May 2006 (UTC)
thread_title:  Data-flow languages are all visual? 

message: Hey guys.  I'm new to Wikipedia, so forgive me if I'm not fully P.C. on the guidelines.
We built a dataflow language, compiler and engine all based on J2SE and XML scripting. The dataflow graph visualizer is based on Eclipse.  It came out of "stealth" last week.  It's free for development use and free for any non-commercial use.
It is massively parallel in a shared memory environment. We ran some benchmarks both in labs and at Fortune 500 data processing companies. It short -- it works.  So perhaps some disagreement on what is possible and not possible can be based on the "state of the art" currently available in 2006/7 ??
DataRush
Emilio 19:20, 6 December 2006 (UTC)
thread_title:  Maybe this will help with the discussions here? 

message: What's the difference between dataflow languages and functional languages? The article seems to indicate that they're very similar; a comparison of these would be of great use to some readers who are looking for a general overview.  —Preceding unsigned comment added by 203.206.177.221 (talk) 06:12, 25 March 2008 (UTC)
replies: text: My understanding is that the primary difference has to do with execution order. Most functional languages still pretty much evaluate expressions in the order they appear in a function. Pure functional languages like Haskell can reorder and parallelize expressions inside pure functions, but inside a monad everything still executes serially. This means that if you want to parallelize code that uses mutable state or does I/O you need to use threads. In a dataflow language, all operations that don't have dependencies on each other can potentially be run in parallel. If there's a need to order certain operations (for doing I/O for instance) it's up to the programmer to specifically inform the language that those operations need to be ordered. Mask of Destiny (talk) 14:09, 21 October 2008 (UTC)
thread_title:  A question 

message: The link was broken, when I tried to fix I could not get it to appear as a hyperlink.  Could somebody else fix this?  —Preceding unsigned comment added by 64.132.13.2 (talk) 16:13, 13 June 2008 (UTC)
thread_title:  Adam and Eve 

message: AviSynth scripting language seem to be a dataflow language even if it does not look like one.
It has no control flow operations (i.e. : no if/while/for/goto,...). However, it has the ternary conditional operator ("?:", as in C), functions, and recursivity.
It is designed so that data are computed only when needed (lazy evaluation). This is important since operations on video may take a lot of CPU time.
AviSynth scripts are also good for parallel tasking, even if the current implementation doesn't take full advantage of this.  —Preceding unsigned comment added by 80.156.44.178 (talk) 14:38, 12 December 2008 (UTC)
replies: text: Are you sure? It's not really what I think of as one. I'm not going to remove it though, because I'm not real sure. flarn2006 [u t c] time: 22:56, 15 July 2012 (UTC)
thread_title:  AviSynth ? 

message: Why Clojure is listed as a dataflow language? Does it have any specific language constructs supporting this paradigm? Otherwise we can list any functional programming language here :)
Vzaliva (talk) 14:22, 19 March 2011 (UTC)
thread_title:  Clojure as a dataflow laguage? 

message: Quibble.  The page mentions some processor board as the first one for macs.  But the TI MicroExplorer card predates it, from the late 80s.  It was a LISP chip and system, sharing the NuBus.  Rick Jelliffe (talk) 09:09, 20 September 2016 (UTC)
thread_title:  Multi processor and mac 

message: HDLs are given as examples but are not mentioned in the article.
The simulation of a HDL "program" is identical to what is here described as a RE. The code blocks are "compiled" and then "simulated" on multiple CPU cores.
Only the use-case is different, while DfP might be used in super-computing, HDL "processes" test-patterns \ test-benches instead of actual problems. But you could use a HDL simulator to do anything. While it might be difficult to transcribe an imperative program to HDL (has seen major efforts) it should be easy to transcribe a HDL program to an imperative program (I am sure this has been done too, but I can not give an example.). --Moritzgedig (talk) 11:40, 20 November 2016 (UTC)
thread_title:  Hardware description languages 

message: Hello fellow Wikipedians,
I have just modified one external link on Dataflow programming. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
*Added archive https://web.archive.org/web/20160203142150/http://anandamide.ru/ to http://anandamide.ru/
*Added  tag to http://andy753421.ath.cx/linked/curin.pdf
*Added  tag to https://deepfriedcode.com/
When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.
Cheers.—InternetArchiveBot (Report bug) 01:18, 21 December 2017 (UTC)
thread_title:  External links modified 

message: If not the first, then at least a precursor that I think should be mentioned under History.
Compel was created in 1968 by Larry Tesler and Horace Enea (who curiously only has a German Wikipedia article) to make concurrent processing more natural. It notably introduced the single assignment concept.
Short intro written by yours truly:
https://www.reddit.com/r/ProgrammingLanguages/comments/l1m4wr/a_language_design_for_concurrent_processes/
Sources:
* https://www.nomodes.com/Larry_Tesler_Consulting/Papers.html
* http://dl.acm.org/authorize?023636
* https://apps.dtic.mil/dtic/tr/fulltext/u2/a450812.pdf (page 13)
It's only briefly mentioned elsewhere on Wikipedia, on Larry Tesler's article. I think this little language deserves to be mentioned for its contribution to data flow programming. As far as I can tell, it is the first data flow language, though the only source of this claim is Larry Tesler himself (first source). In any case, it surely is the first to introduce single assignment, which later became an important concept in many data flow languages. 46.46.196.46 (talk) 17:47, 20 December 2022 (UTC)
thread_title:  No mention of Compel, possibly the first data flow language