Usa lentes para actualizar registros anidados (algo específico de los lenguajes con datos inmutables).
Actualizar los campos de registros anidados e inmutables es bastante molesto. El código para esos casos es tan engorroso como profunda es la estructura. Si tienes, digamos, un Person, que contiene un Address, que tiene un Street, que tiene un Number, actualizar el Number requiere crear un nuevo Street con el nuevo Number, luego un nuevo Address con el nuevo Street y, por último, un nuevo Person. ¿Ya te confundiste?
Una solución para este problema es usar lentes.
Implementa varias funciones de acceso a registros usando lentes. La suite de pruebas también te permite prescindir de las lentes por completo, para que puedas experimentar con distintos enfoques.
Regístrate en Exercism para aprender y dominar Idris con 58 ejercicios y mentoría humana real, todo gratis.