JArrighetti / PdepUTN

MIT License
0 stars 0 forks source link

Repiten código al aplicar la blockchain respecto a aplicar un bloque #14

Open sanuzzi opened 6 years ago

sanuzzi commented 6 years ago

Así aplican un bloque: aplicarBloque... [] usuario = usuario aplicarBloque... (cabeza:cola) usuario = aplicarBloque... cola (aplicarEvento... (cabeza usuario) usuario)

Así aplican una blockchain: aplicarBlockChain... [] usuario = usuario aplicarBlockChain... (cabeza:cola) usuario = aplicarBlockChain... cola (aplicarBloque... cabeza usuario)

¿Se ve que la lógica es idéntica?

Además de que ambas se pueden hacer con algún fold, podrían delegar a una tercer función que se encargue de hacer lo que tengan en común.

Sin embargo, hay otra forma más sencilla aún:

¿Qué es un bloque? Un conjunto de transacciones: [t1, t2, t3, t4, t5, t6, t7, t8...]

¿Qué es una blockchain? Un conjunto de bloques: [[t1, t2, t3], [t4], [t5, t6], [t7, t8...]]

¿No se podría de alguna forma sencilla convertir una blockchain en un gran gran bloque y reutilizar la lógica de bloques?

Si lograran hacer eso, todo quedaría súper sencillo y sin repetir.

sanuzzi commented 6 years ago

Siguen repitiendo código. Ahora al menos usan fold, pero repiten.

Vean cómo transformar una blockchain en un bloque grande, se les va a simplificar mucho.