3 ms·
The article has the footnote > APL was the first language to use “monad” as a term. The popular FP meaning only appeared thirty years later. in its, to me odd
by gspr 6y ago
The article has the footnote
> APL was the first language to use “monad” as a term. The popular FP meaning only appeared thirty years later.
in its, to me odd, use of the word "monad". This is incorrect. The "popular FP meaning" arose because it's a very special case of the standard concept from mathematics [1]. The mathematical terminology harkens back to the 1950s, and thus predates APL.
In Haskell, a monad is precisely a monad in the mathematical sense in the special case of the category of Haskell types (which, due to technical complications isn't exactly a perfect model for the actual Haskell types, but it's pretty close). It thus seems dishonest to me to refer to this use of the word "monad" as somehow being newer than APL's use.
[1] https://en.wikipedia.org/wiki/Monad_(category_theory) https://en.wikipedia.org/wiki/Monad_(category_theory)
- 4bpp 6y ago> The mathematical terminology harkens back to the 1950 Does it? The earliest instances I can find are in Mac Lane's 1971 book or thereabouts; the older term was "triple". Wikipedia dates APL to 1966. "Monad" has also seen nebulous use in philosophy at least since Leibniz.
- ggrrhh_ta 6y agoThat's an interesting reference...
- notagoodidea 6y agoIn fact since the Pythagoreans [1] where the monad comes first and after the dyad and after the numbers and so on. It also was the term for unicellular organism before this was coined. Monadic was an adjective used in logic before the 20th century, using the noun dervied by the greek root monas which gave monad and monadic (and the same with dyad, dyadic). If I take for right what is on the french [2] and english pages [3] of wikipedia about the terminology history of the monad words its usages seems to date to around the 70 when Saunders Mac Lane named it in reference to the philosophical term. I feels some times people tend to forget how interconnected is and was mathematics and philosophy and how term from philosophy were used in a mathematical context based on their philosophical definition. [1] https://en.wikipedia.org/wiki/Monad_(philosophy) https://en.wikipedia.org/wiki/Monad_(philosophy) [2] https://fr.wikipedia.org/wiki/Monade_(th%C3%A9orie_des_cat%C3%A9gories) https://fr.wikipedia.org/wiki/Monade_(th%C3%A9orie_des_cat%C... [3] https://en.wikipedia.org/wiki/Monad_(category_theory)#Terminological_history https://en.wikipedia.org/wiki/Monad_(category_theory)#Termin...
- ggrrhh_ta 6y agoYes,that footnote somehow is kind of one of those things one hear often but it is wrong, by monad in APL or J one should understand 'monadic'
- avmich 6y ago> The mathematical terminology harkens back to the 1950s, and thus predates APL. History isn't particularly logical sometimes, so there could be two competing meanings - which didn't seem too competing at the time (as well as later). Regarding the history of the word, Wikipedia says: "A mathematical notation for manipulating arrays was developed by Kenneth E. Iverson, starting in 1957 at Harvard University." "The mathematician Roger Godement was the first to formulate the concept of a monad (dubbing it a "standard construction") in the late 1950s" Similarly, those terms seem to develop in parallel: "In 1960, he began work for IBM where he developed this notation with Adin Falkoff and published it in his book A Programming Language in 1962." "The form defined above using bind, however, was originally described in 1965 by mathematician Heinrich Kleisli in order to prove that any monad could be characterized as an adjunction between two (covariant) functors." So monad term arguably wasn't an established one in another meaning when Iverson employed it for APL. Let's check the etymology of words. Two meanings of "monad" (I'm omitting the one from linear algebra) stem from the idea of oneness - in APL it's "one argument", in category theory it's "one category", as the category is being mapped to itself (same as endofunctor, but monad also has extra requirements, so needs another term). So using the same word for similar properties seems logical - again, in the absence of established different meaning. In practice, monads in APL and FP are sufficiently different so no confusion usually takes place. Similarly FP uses terms like "lens" and "optics", which are hardly confused with earlier introduced physical terms.
- mst 6y agoI think "the first language to" is the operative bit. Yes, the mathematics predates it, but in context I think "only appeared" clearly means "only appeared in a programming context". (I guess whether you accept this depends on how you're rank ordering different types of pedantry, and exercise I am happy to leave to the discretion of the reader)