purrr: otro dialecto para la programación funcional en R

Acaba de publicarse purrr. Es un paquete del universo Wickham que ofrece funciones para desarrollar otro dialecto funcional sobre R.

R es un lenguaje oportunista: ni del todo funcional, ni del todo orientado a objetos, ni del todo procedural. Es como es porque nació con un objetivo muy concreto y fue adoptando cosas de aquí y de allá como cuando uno recorre el supermercado. Merece la pena traer a colación cómo el primerísimo R (cuando era S), durante los ochenta, antes de adoptar la forma actual a través de los diversos libros de colores de Chambers y compañía, estaba fuertemente inspirado por Lisp.

R continúa teniendo importantes elementos funcionales: de siempre ha contado con funciones como apply y sus amigas. Existen incluso Reduce, Filter y otras habituales en lenguajes funcionales puros. Los paquetes plyr y dplyr abundan en los aspectos funcionales del lenguaje.

El paquete purrr nos trae nuevas funciones, tales como map (y algunos derivadas, como map_dbl o map_int) y zip, más azúcar sintáctico y motivos adicionales para que nos pasemos —aunque algunos nos resistamos— el feísimo operador %>%. Hay más información aquí.

Hay gente que me llama para que enseñe cursos de R. Dentro de muy poco tendré responderles: ¿pero qué dialecto de R quieres aprender?

2 comentarios sobre “purrr: otro dialecto para la programación funcional en R

  1. Carlos 2 octubre, 2015 19:39

    A mí me está costando arprender R más que incluso la mecánica cuantica de la carrera, así que sea el dialecto que sea, por favor, avisa cuando vayas a dar un curso.

  2. daniel 4 octubre, 2015 22:11

    Creo que tanta dispersión en la forma de crear un lenguage de programación no es conveniente, creo que R debería definir un modelo a seguir, por ejemplo inspirándose en Python o en Scala, y una vez hecha la decisión mantener el criterio. Ahora que m$ y otras empresas están apoyando R, sería necesario una hoja de ruta.

Los comentarios están desabilitados.