¿Existe alguna regla ESLint para escribir solo funciones puras en mecanografiado? Quería escribir solo funciones puras en mi código. ¿Alguien sabe cómo hacemos esto?
Gracias por adelantado
El análisis de pureza es equivalente a resolver el problema de la detención y, por lo tanto, no se puede realizar de forma estática en el caso general. Siempre habrá un número infinito de funciones para las que su verificador de pureza no puede probar que son puras o impuras.
Lo que significa que cualquier verificador de pureza posible solo puede hacer una de dos cosas:
La forma correcta de hacer esto, en realidad, es diseñar el lenguaje, el sistema de tipos y las bibliotecas desde cero para que sean 100% puros. Entonces, y solo entonces, tendrá la oportunidad de verificar automáticamente la pureza de una manera sensata. Por supuesto, aún es imposible verificar en el caso general, pero diseñar el lenguaje, el sistema de tipos y las bibliotecas para que sean fácilmente verificables ayuda a que el verificador sea más útil.
El caso trivial sería diseñar un lenguaje que no te permita escribir funciones impuras en primer lugar, pero dicho lenguaje no sería muy útil. Como ha dicho uno de los diseñadores de Haskell: todo lo que un programa puro puede hacer es calentar la CPU. A lo que alguien de la audiencia respondió: ¡calentar la CPU también es un efecto secundario!