I1M2017: Tipos y clases en Haskell

En la clase de hoy de Informática de 1º del Grado en Matemáticas se ha explicado el tema 3 en el que se introducen los tipos y las clases en Haskell. Los objetivos de tema son aprender

  • qué es un tipo,
  • cómo expresar que una expresión tiene un tipo determinado,
  • cómo preguntar a Haskell por el tipo de una expresión,
  • cómo determinar el tipo de una expresión,
  • cuáles son los tipos básicos (Bool, Char, String, Int, Integer, Float y Double),
  • cuáles son los tipos compuestos (listas, tuplas y funciones),
  • qué es el polimorfismo y la sobrecarga de funciones y
  • cuáles son las clases básicas (Eq, Ord, Show, Read, Num, Integral y Fractional), sus métodos e instancias.

Además se ha comentado de GHCi

  • cómo obtener la ayuda con :help
  • cómo obtener el tipo de una expresión con :type o, simplemente, :t
  • como activar la información de tipos con :set +t
  • como activar la información de tipos con :unset +t
  • cómo obtener información con :info

y de Emacs se ha comentado

  • cómo obtener un tutorial con C-h t
  • cómo ejecutar el juego de de la vida con M-x life
  • cómo ejecutar el juego del psicoterapeuta con M-x doctor

Los apuntes correspondientes a la clase son

I1M2017: Introducción a la programación funcional con Haskell

En la clase de hoy (22 de septiembre) del curso de Informática (de 1º de Grado en Matemáticas) se ha realizado una introducción a la programación con Haskell usando emacs como entorno de programación. Concretamente, se ha explicado cómo

  • usar Haskell como calculadora aritmética (con las funciones +, -, *, /, div y ^).
  • escribir guiones de Haskell en emacs.
  • cargar los guiones y evaluar expresiones con las funciones definidas.

También se han comentado las funciones sobre números, listas y booleanos en el resumen de funciones y ejemplos.

Finalmente, se ha mostrado el uso de Haskell y emacs (la sesión está grabada en este vídeo) y el proceso para la solución colaborativa de ejercicios (la sesión está grabada en este vídeo).

Se han propuesto como ejercicios los de la 1ª relación.

Los apuntes correspondientes a la clase son

I1M2017: Introducción a la programación funcional

En primera parte de la clase del 20 de septiembre del curso de Informática (de 1º de Grado en Matemáticas) se ha presentado la asignatura siguiendo el resumen del proyecto docente y los materiales en la página de la asignatura:

Se ha explicado cómo instalar los sistemas.

Se ha comentado el sistema de evaluación y se ha anunciado las fechas de los exámenes de todo el curso.

La segunda parte de la clase ha consistido en una introducción a la programación funcional basada en el tema 0 en el que se usa CodeWorld/Haskell para mostrar cómo escribir las funciones de los programas para hacer dibujos. En concreto se han estudiado

  • cómo programar dibujos elementales
  • cómo programar dibujos compuestos
  • cómo transformar dibujos con traslaciones, rotaciones, escalamiento y
  • coloreado.
  • cómo programar animaciones

Los apuntes correspondientes a la clase son