Content deleted Content added
→Criticism section: new section |
|||
Line 149:
Historically R as Hadley writes in advance R (https://adv-r.hadley.nz/), R actually started out as a '''pure functional programming''' that by the necessity of statistics became impure in order to add objects and classes that were mutable.
mlane --[[Special:Contributions/2600:1700:F840:1E40:6DE5:E5C1:F398:6CCC|2600:1700:F840:1E40:6DE5:E5C1:F398:6CCC]] ([[User talk:2600:1700:F840:1E40:6DE5:E5C1:F398:6CCC|talk]]) 22:22, 7 June 2019 (UTC)
== Criticism section ==
I've reverted the criticism section for now. I think a criticism section certainly is a good idea, but I don't really understand any of the points in the current one, and it doesn't have any references. If anyone can provide clarification or references for these points that would be much appreciated ({{ping|35.137.225.220}}).
> it does not really allow the developer to build and manipulate "categories" as first class objects.
Is this really a bad thing? I don't think FP is advertised as a setting for *doing* category theory, it merely uses concepts from category theory.
>Note that a "category" is just a computation graph (not unlike TensorFlow).
Not sure what this means; categories are very general and abstract, they don't encode any specific form of computation. I don't know much about TensorFlow and have just done a very brief search on computation graphs, but I don't see the connection here. If there's a source I'd be interested in reading it.
> "internal" computation graph called the Kleisli category
Also not sure what this means. Kleisli categories are another abstract concept, not tied to computation graphs.
> Developers insert their code into the Kleisli category via monads
Monads have lots of uses in FP, but they're definitely not required, even for pure FP (AFAIK before monads were used in FP, Haskell programs were basically pure functions with inputs/outputs being lists of strings/events). Is this referring to doing impure computation in something like the IO monad?
> (basically 'proxies')
What kind of proxies are these?
> notoriously arcane math terminology.
Complex terminology is certainly a common criticism of FP (especially Haskell), but I think this can be said in a more neutral way.
|