Relaciones
Amigo: Dadas dos personas, una relación de amigo sigue estas leyes generales
- Tener buena voluntad el uno hacia el otro
- Piensan que son amigos para ellos (por lo tanto, las leyes deben ser cumplidas por ambos miembros en esta relación)
- Disfruta pasar tiempo juntos
Monoide: dados múltiples elementos y una función que toma 2 de los elementos y devuelve 1, una relación monoidal sigue estas leyes generales
- Hay uno de esos elementos (solo uno, llamado identidad) que se pasa a la función con cualquier otro elemento asegurará que la función siempre devuelva el otro elemento (0 + 1 = 1, por lo tanto 0 es la identidad cuando los elementos son números y el la función es la suma)
- La función no puede operar o devolver artículos que no están en el conjunto con el que tiene una relación monoidal
- La función es asociativa y se puede usar con los elementos de una manera un tanto independiente del orden, esto significa a * (b * c) = (a * b) * c que dice que puede multiplicar a por el resultado de b * c o c por el resultado de a * b y el resultado será el mismo que hagas primero.
La programación funcional tiene que ver con generalizaciones, amigo es una relación muy general que se puede ver en numerosos escenarios, pero en todos los diversos formatos generalmente sigue las leyes anteriores.
Al reconocer las leyes que rigen las relaciones entre las cosas, puede crear implementaciones generales que funcionen en cualquier formato de cosas que tengan ese tipo de relación. En la programación funcional, intenta identificar las relaciones entre las cosas para que puedan clasificarse y tratarse en general.
¿Quieres una metáfora del mundo real? Observe cómo se relacionan las cosas e intente identificar las leyes generales (como en el caso de múltiples escenarios en los que pueden variar otras cosas además de las leyes). Existe una relación entre un empleado de registro y un comprador en una tienda, tiene algunas leyes generales, el software ha sido desarrollado para facilitar los objetivos de las personas en esa relación general en la forma de los sistemas POS. Del mismo modo, cuando comienza a ver estas leyes generales que dictan cómo se relacionan las cosas, puede comenzar a confiar en las leyes de esas relaciones al escribir su software en lugar de los detalles específicos de una instancia de una relación.