1
Zrozumienie, dlaczego Zipper jest Comonad
To jest kontynuacja odpowiedzi na moje poprzednie pytanie. Załóżmy, że trzeba mapować każdy element a:Aod List[A]do b:Bz funkcji def f(a:A, leftNeighbors:List[A]): Bi generować List[B]. Oczywiście nie mogę po prostu zadzwonić mapna listę, ale mogę użyć suwaka listy . Zamek błyskawiczny to kursor do poruszania się po liście. Zapewnia dostęp do …