Rolle der funktionalen Abhängigkeit in der Typenklasse `Unfoldable` der Haskell Collection API
Im versucht, das Design von Haskell's @ zu verstehData.Collection
Bibliothek, die aus der Scala-Welt stammt.
Es verwendetFunktionale Abhängigkeiten (die ein @ habScala analog) aber die Art, wie sie verwendet werden, ergibt für mich keinen Sinn. In demUnfoldable
class, unten wiedergegeben, der Elementtypi
wird als @ angezeibestimmt durc die Sammlungsartc
.
class Unfoldable c i | c -> i
Klasse der Sammlung mit nicht beobachtbaren Elementen. Es ist das Dual desFoldable
Klasse.
Bitte erläutern Sie die Rolle, die die Abhängigkeitc -> i
spielt hier auch die gestalterische Absicht eine Rolle, idealerweise mit einem Anwendungsbeispiel?