Racket
Racket es un lenguaje de programación funcional que deriva de Scheme y donde las estructuras principales de nuestro programa está en las listas, las cuales podemos utilizar para manipular tipos de datos y realizar operaciones. En los vídeos de este tutorial mostraré cómo trabajar con las principales características del lenguaje y cómo aplicar técnicas de programación funcional.
1. Introducción al entorno
Racket es un lenguaje de programación funcional derivado de Scheme. En este vídeo muestro cómo funciona la ventana del IDE DrRacket y muestro cómo interactuar de forma básica con Racket introduciendo al uso de algunas expresiones.
2. Definiciones, funciones y comentarios
Qué son las definiciones, cómo asociamos expresiones a identificadores y como podemos parametrizar esas definiciones (construir funciones). También, cómo usar los comentarios.
3. Tipos de datos
En este vídeo hablo de los principales tipos de datos que podemos encontrarnos en Racket. Sean: los lógicos, los números exactos e inexactos, los caracteres, las cadenas de caracteres, los pares y las listas, hablando a nivel teórico de cómo construir listas enlazadas usando pares.
4. Listas: manipulación, iteración y recursión
Cómo manipular listas, acceder a elementos, concatenar, invertir. Cómo usar mapas y filtros para iterar con las listas. Y cómo construir funciones recursivas con listas.
5. Todo sobre las condicionales
Hablo más en detalle de cómo funciona el procedimiento IF, muestro funciones booleanas que podemos usar en los IF, como equal, =, menor qué..., y hablo sobre la útil ramificación COND.
6. Revisitando las definiciones
Volvemos a hablar del define para mencionar conceptos útiles: cómo usar APPLY, cómo hacer funciones que acepten múltiples parámetros y algunos trucos con los nombres de funciones.
7. Funciones lambda (lo básico)
Las funciones anónimas son procedimientos que no tienen nombre pero que podemos aplicar como cualquier otro procedimiento. En este vídeo las presento y muestro algunos ejemplos de uso: como parámetros de apply, map, o para construir procedimientos que devuelven procedimientos.
8. Asignaciones con let y let*
let permite crear asignaciones locales de expresiones a identificadores que existen durante la vida del cuerpo asociado a let, pero no fuera. let* nos permite asignar expresiones que involucren identificadores declarados en el mismo rec.