Change propagation in programming environments is an add-on at the framework level such as React.

There was a lot of work on dataflow virtual machines in the wake of Backus's Turing Award Lecture on formal functional programming. This is because dataflow programming is one way of thinking about change propagation in functional programming, and people were seriously re-visiting the conflict, going back to the first implementation of LISP, between the concepts of state and pure lambda calculus.

While I recognize that dataflow merely pushes that conflict to the end-points of the dataflow graph, it does seem to have practical merit as evidenced by frameworks attempting to grapple with it. However, in the decades since then, I've not noticed any functional programming languages that have inherent change propagation.

Am I missing something?

  • $\begingroup$ I don't know (anything almost) about functional programming, but did you take a look at the rust programming language? I heard its a great functional language that solves things in different ways than usual (for example, there is no garbage collection and you don't have to manually free data. It uses a different mechanism). There is a good chance the problem you think of was solved in rust (but rust is still in development, so don't expect anything to be there) $\endgroup$
    – nir shahar
    Apr 26 at 18:51
  • $\begingroup$ Depending on how you define "functional programming language" and how hard you squint, Excel (or any other spreadsheet) might fit your bill. I can't remember where I saw it first, but I remember a speaker in a talk mentioning that he doesn't understand why people claim functional programming is hard to understand when the world's most popular functional language is used by millions of people who don't even know that what they are doing is programming! $\endgroup$ Apr 28 at 18:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.