Preguntas etiquetadas con zipper

124
Forma más limpia de actualizar estructuras anidadas

Digamos que tengo los siguientes dos case classes: case class Address(street: String, city: String, state: String, zipCode: Int) case class Person(firstName: String, lastName: String, address: Address) y la siguiente instancia de Personclase: val raj = Person("Raj", "Shekhar", Address("M Gandhi...

80
Comonads de cremallera, genéricamente

Dado cualquier tipo de contenedor, podemos formar el Zipper (centrado en elementos) y saber que esta estructura es un Comonad. Esto se exploró recientemente con maravilloso detalle en otra pregunta de Stack Overflow para el siguiente tipo: data Bin a = Branch (Bin a) a (Bin a) | Leaf a deriving...