2010-06-24 16 views
14

Lo sé, podría estar preguntando mucho, pero ¿alguien sabe de algunos buenos ejemplos de programación/bibliotecas para Haskell?¿Un buen ejemplo de programación de la vida real sencilla y pequeña en Haskell?

Para un curso de 'introducción a la programación', quiero mostrar que Haskell es más que un 'pequeño lenguaje de script para ordenar números'.

Ya encontré un clon de Quake (Real world Haskell programming) que es impresionante, pero demasiado complejo para que los estudiantes jueguen con él.

¿Tienes una idea? Tal vez algo con gráficos o interacción con un servicio web? Algo adecuado para estudiantes de primer año cs.

¡Gracias por su rendimiento!

[Actualización]

O usted sabe quizá una biblioteca 'diversión'?

Respuesta

1

This es el enlace a los noventa y nueve problemas Haskell que se basó en los noventa y nueve problemas Prolog. No sé si es exactamente lo que quieres, pero podría haber algo allí que puedas usar.

0

Cuando estaba aprendiendo Haskell, usé Hangman como primer programa. Es simple, tiene interacción con el usuario y el archivo, poco pero algo de manejo de errores, etc. Todos sus alumnos habrán oído hablar de él o se les puede enseñar el juego rápidamente. Creo que mi programa terminó siendo una página de código.

3

El ejemplo más popular que conozco es the xmonad tiling window manager. Es un programa del mundo real que las personas realmente usan y la base de código es bastante pequeña y está bien escrita (según me dicen, apenas me considero calificado para juzgar el código Haskell de la mayoría de las personas).

0

¿Qué hay de cat, y amigos?

+1

¿No son los originales simplemente viejos C? ¿O hay algunas versiones populares escritas en Haskell? –

4

voy a poner en un enchufe para Star Rover y Freekick, por varias razones:

  • Son juegos, por lo que tienen factor que "sorpresa" para los estudiantes (aunque con jugabilidad bastante limitado en este momento - Freekick esencialmente juega contra sí mismo, y si puedes matar a un enemigo en Star Rover, eres mejor jugador que yo).
  • El desarrollador escribió un very informative blog que ayudará a los estudiantes a tener una idea acerca de la curva de aprendizaje.
  • Ambos juegos son fragmentos de código muy simples que los estudiantes podrán entender de inmediato: el módulo Árbol, por ejemplo, o la función de conversión de radianes a grados.
  • Las dependencias de la biblioteca son relativamente mínimas: OpenGL y SDL, principalmente.

Buena suerte, y espero que esto ayude.

4

xmonad es una buena idea, como han dicho otros, si se lo puede exhibir. Por cierto, Simon Peyton Jones hizo un uso muy preciso de las xmonad en su tutorial "El sabor de Haskell" http://research.microsoft.com/en-us/um/people/simonpj/papers/haskell-tutorial/index.htm

Es menos visual, por supuesto, pero destinada a ser puesta en un voto para Pandoc - centrándose en el módulo central increíblemente simple, the definition of a 'document', y que muestra cómo se relacionan las funciones pure exportadas por 'writers' y 'readers' (readMarkdown, writeLatex etc.).

Cuestiones relacionadas