Woher kam der Name <*>
zuerst in der Literatur oder im Code, und kam es mit irgendeiner Erklärung für die Wahl des Symbols?Was ist die Etymologie von <*> von Applicative in Haskell?
Antwort
Es ist eine ASCII-Version der Notation, die im Original-Idiom-Papier verwendet wird: "Idioms: applicative programming with effects". Diese Notation wurde wiederum von einer bereits ASCII-verfassten Version von Sweirsras und Duponcheels Papier über Fehlerkorrektur-Parser-Kombinatoren inspiriert: "Deterministic, Error-Correcting Combinator Parsers". Das kam aus "Functional Parsers" von Jeroen Fokker. Dieses Papier zeigt nicht an, woher es kam, was bedeuten könnte, dass es es hervorgebracht hat. Ich wäre nicht überrascht, wenn es vorher zum Parsen verwendet wurde.
The original idioms paper verwendet bereits ⊛
für Anwendung; <*>
wurde als eine ASCII-Art-Approximation davon ausgewählt, da (*)
nicht verfügbar ist (es ist die Syntax der Präfixform des Infix-Operators *
).
- 1. Was bedeutet "<>" in haskell Beispielcode?
- 2. Was bedeutet der Haskell-Operator "<>"?
- 3. Was ist die Bedeutung von <#= #>
- 4. Haskell: Applicative über Tupel
- 5. Haskell monad vs applicative Instanz von Funktionen
- 6. Warum ist <*> eine Infix-Funktion in Haskell?
- 7. Haskell Applicative Idiom?
- 8. Was bedeutet <$> in Haskell?
- 9. Die Bedeutung von <= vs. => in Haskell
- 10. Was bedeutet ((->) t) in Haskell?
- 11. Was ist die Verwendung von Sammlung <? extends SomeAbstractClass> anstelle von Collection <SomeAbstractClass>
- 12. Control.Category, was bedeutet >>> und <<<?
- 13. Was ist die Verwendung von ArraySegment <T> Klasse?
- 14. Was ist ((->) t) in Haskell?
- 15. Was ist die Verwendung von List <NameValuePair> oder ArrayList <NameValuePair>
- 16. Person <Person>, was ist <Person>?
- 17. Was ist äquivalent von ID <type> in Swift?
- 18. Was ist der Umfang von <ui:param> in JSF?
- 19. Functor/Applicative Instanzen für Staat in Haskell
- 20. Invers von >> Operator in Haskell
- 21. Unbekannter Haskell-Operator; `<>`
- 22. Ist es möglich, `(Applicative m) => Applicative (StateT s m)` zu implementieren?
- 23. Warum in Haskell `mappend` alias ist` <> `statt` + `
- 24. Was ist die „< >“ Syntax in C#
- 25. Was ist die Klasse Work <> in Orchard CMS?
- 26. Was ist der Unterschied zwischen <% %> und <%=%>?
- 27. Haskell, keine Instanz für (Applicative M)
- 28. Was bedeutet << or > >> in Java?
- 29. Was ist <% for %> in html
- 30. Was ist <span></span> Element?
Nur um zu helfen, diese Notation in der Fokker-Papier zu finden: es ist auf S.5, zu Beginn von §4 eingeführt. – PLL