¿Me pueden informar cuál es el blog de Chema? Dtb/Gby ======= Mario R. Osorio B.A.S. of Information Technology Web page: *http;//mario.osorio.solutions <http://http%3B//mario.osorio.solutions>* Email: *mario@osorio.solutions* <mario@osorio.solutions> *Just Choose Python!* <http://www.gentoogeek.org/files/choose_python.pdf>
*SQL programmers don't die, they just ROLLBACK the TRANSACTION.* On Fri, Apr 26, 2019 at 12:14 PM Francesc Alted <fal...@gmail.com> wrote: > Yo también me alegro que los lenguajes funcionales se empiecen a tomar en > serio en ámbitos cada vez más amplios. No acabo de estar totalmente con > Chema cuando dice en su blog que las construcciones funcionales estan > siendo arrinconcadas en Python; personalmente, uso mucho los > iteradores/generadores, que estan considerados como constructos > funcionales, y que creo que estan en la base de muchas librerias Python. > > De todas maneras habrá que seguir con mucho interés a Chema en lo que se > prevé como una prometedora serie de artículos sobre coconut en su blog: > https://blog.ch3m4.org/2019/04/16/que-es-un-coconut/ (aunque esperemos > que las apariciones de Enrique y Ana no se prodiguen demasiado ;-) > > Saludos! > > Missatge de Chema Cortes <pych...@gmail.com> del dia dv., 26 d’abr. 2019 > a les 11:54: > >> >> 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 >> > > > -- > Francesc Alted > _______________________________________________ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es >
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es