Alex Casquete


A functional blog

Vistazo general a las novedades de Windows 10

Hace un par de semanas Microsoft liberó por fin el SDK para las aplicaciones de Windows 10. Este anuncio implica un importante cambio que nos va a marcar la nueva forma de desarrollar aplicaciones para todos los dispositivos con Windows 10. En este artículo voy a comentar las novedades más destacadas que nos vamos a encontrar. No voy a entrar en el detalle de cada una de ellas. Si queréis más información Josue Yeray y Javier Suárez están escribiendo una serie de posts en los irán profundizando en cada una de las novedades.


Code Quotations en F#

Las expresiones de cálculo que vimos en un post anterior se pueden utilizar para dar un significado distinto al código; sin embargo, tienen ciertas limitaciones. Por poner un ejemplo, no podemos manipular el código y ejecutarlo en un entorno diferente, al igual que hace LINQ to SQL. Si queremos hacer algo parecido en F#, podemos lograrlo utilizando una característica del lenguaje llamada Code Quotations o expresiones de código delimitadas, que permite generar y usar expresiones de código F# de forma programática, de forma que es posible acceder a la información de tipo de un bloque de código y además ver cómo está estructurado, conocido normalmente como árbol de sintaxis abstracto (Abstract-Syntax Tree o AST).


Post invitado en Blogs MSDN: Programación funcional, un nuevo enfoque

Aunque la programación funcional no es un concepto nuevo ni reciente, en los últimos años ha comenzado a tener más protagonismo dentro de la comunidad de desarrolladores. En este cambio de tendencia han influido indudablemente los nuevos desafíos a los que los desarrollos actuales tienen que hacer frente. En la era del Big Data, las aplicaciones modernas deben de ser capaces de procesar grandes cantidades de información, poder ejecutar procesos de forma concurrente, escalar a múltiples procesadores y, además, necesitamos que todo esto pueda ser probado fácilmente. A todas estas necesidades, los lenguajes funcionales aportan una nueva respuesta con un nuevo enfoque. […]


Patrones activos en F#

En una entrada anterior vimos cómo con pattern matching podemos hacer nuestro código más expresivo cuando queremos comparar datos con estructuras lógicas. Cada patrón nos permite comparar los valores de entrada, descomponerlos y combinarlos con una estructura de datos. Sin embargo, con pattern matching los patrones soportados están limitados a unos tipos determinados, como listas, tuplas o matrices y valores constantes de tipo cadena, numérico, enumeración, etc.


Expresiones de cálculo personalizadas

En posts anteriores hemos conocido el funcionamiento de las expresiones de consulta y de los workflows asíncronos, dos características del lenguaje que nos facilitan la ejecución de consultas sobre distintos orígenes de datos y la creación de operaciones asíncronas. Vimos también que cada una de estas características es un uso particular de una construcción más general llamada expresiones de cálculo (computation expressions), también denominados workflows aunque nada tienen que ver con los workflows que se utilizan para modelar los procesos de negocio.


Expresiones de consulta en F#

En un post anterior vimos cómo podemos crear operaciones asíncronas utilizando una característica denominada workflows asíncronos, que nos permite escribir un código mucho más legible y que se adecúa mejor al paradigma de la programación funcional. Este tipo de construcción junto con las expresiones de secuencia, son casos de una construcción más general denominada expresiones de cálculo.


Pattern matching con F#

Continuamos la serie dedicada a F# con una característica del lenguaje tremendamente potente, pattern matching o su traducción en español, coincidencia de patrones. La lista de todas las entradas de la serie se puede consultar en este link. Además, Juan Manuel Gómez, está escribiendo otra serie que puedes consultar aquí.


Workflows asíncronos con F#

Continuamos con este post la serie introductoria a los conceptos básicos de programación funcional con F#. En esta ocasión trataremos los flujos de trabajos asíncronos o, en inglés, asynchronous workflows.


Uniones discriminadas y jerarquía de objetos

Durante las próximas entradas vamos realizar un repaso de los conceptos más importantes de la programación funcional con F#. Hoy comenzamos con las uniones discriminadas.


Migrar una aplicación Windows Store JavaScript a TypeScript

Con la última actualización de Visual Studio 2013 se liberó la versión 1.0 de TypeScript, la primera release oficial del lenguaje después de año y medio de desarrollo. Además, con esta actualización TypeScript pasa a ser un lenguaje totalmente soportado en Visual Studio y sin necesidad de ninguna extensión tenemos comprobación estática de código, navegación basada en símbolos, refactorización, etc.