El vie., 26 abr. 2019 a las 4:39, AGTUGO (<agt...@gmail.com>) escribió:
> Perdon la traduccion de syntatic sugar pero es lo que se me ocurri'o. Lo > que mas esperaba de coconut es verificaci'on de tipos en funciones, no hay. > El objetivo es escribir mas claro el programa con estilo funcional? Aveces > uso decoradores para revisar los tipos, solamente cuando es necesario > pensaba que coconut podria ahorrarme la molestia. > > Yo no lo consideraría como *syntatic sugar*. Aunque opcional, puedes activar el modo estricto y las comprobaciones de tipos con mypy. Lo único a tener en cuenta es que la versión de python objetivo (*target*) debe tener soporte para notación de tipos para que mypy lo procese. O sea, debes usar un target superior a 3 en lugar del target universal que usa por defecto: https://coconut.readthedocs.io/en/latest/DOCS.html#allowable-targets Aunque no necesitas coconut. Para chequear tipos puedes usar algún linter con mypy en el IDE que uses (por ejemplo, visual code con pylama). Por seguir con coconut, tiene comprobación de patrones, tanto en asignación como en definición de función. Por ejemplo, se puede definir la función factorial como: def factorial(0) = 1 @addpattern(factorial)def factorial(n is int if n > 0) = range(1, n+1) |> reduce$(*) No tienen *returns*, casi podría decirse que son funciones lambdas. Pero implícitamente saldrá un error si el argumento no es cero o un entero positivo, por lo que hace bastante más que una simple función lambda. Por otro lado, el reduce se está aplicando parcialmente con el operador multiplicación. Se podría hacer igual con reduce, partial y mul que puedes "rescatar" de algunos módulos donde han sido exiliados en python. Pero en coconut son entidades de primer orden que, además, puedes combinar con otras inexistentes en python como la evaluación perezosa de listas (lazy lists) o el procesamiento paralelo (útil en monads). Saludos. -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": https://blog.ch3m4.org Buscador Python Hispano: http://busca.ch3m4.org <https://blog.ch3m4.org/pages/busqueda-python-es/>
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es