2010-06-24 16 views
14

Lo so, potrei chiedere molto, ma qualcuno sa di alcuni piccoli esempi di programmazione/librerie per Haskell.Bel piccolo semplice esempio di programmazione della vita reale in Haskell?

Per un corso di "introduzione alla programmazione", voglio mostrare che Haskell è più di un "piccolo linguaggio di script per ordinare i numeri".

Ho già trovato un clone di Quake (Real world Haskell programming) che è impressionante, ma troppo complesso per gli studenti con cui giocare.

Avete un'idea? Forse qualcosa con la grafica o l'interazione con un servizio web? Qualcosa di adatto per studenti del primo anno.

Grazie per il vostro intput!

[update]

O forse si conosce una libreria di 'divertimento'?

risposta

1

This è il collegamento ai problemi Ninety-Nine di Haskell che era basato sui problemi di novanta-nove Prolog. Non so se è esattamente quello che vuoi ma potrebbe esserci qualcosa che puoi usare.

0

Quando stavo imparando Haskell, ho usato l'Hangman come primo programma. È semplice, ha l'interazione tra utente e file, ma pochi gestiscono gli errori, ecc. Tutti i tuoi studenti ne avranno sentito parlare o potranno imparare velocemente il gioco. Penso che il mio programma sia finito attorno a una pagina di codice.

3

L'esempio più popolare che conosco è the xmonad tiling window manager. È un programma del mondo reale che le persone effettivamente usano e il codebase è al tempo stesso piccolo e ben scritto (mi è stato detto - non mi considero affatto qualificato per giudicare il codice Haskell della maggior parte delle persone).

0

Che dire di cat, wc e amici?

+1

Gli originali non sono semplicemente vecchi C? O ci sono alcune versioni popolari scritte in Haskell? –

4

ho intenzione di mettere in una presa per Star Rover e Freekick, per alcuni motivi:

  • Loro sono i giochi, in modo da avere fattore che "wow" per gli studenti (anche se con giocabilità piuttosto limitata in questo momento - Freekick gioca essenzialmente contro se stesso, e se riesci a uccidere un nemico in Star Rover, sei un giocatore migliore di me.
  • Lo sviluppatore ha scritto un very informative blog che aiuterà gli studenti a farsi un'idea della curva di apprendimento.
  • Entrambi i giochi sono frammenti di codice molto semplici che gli studenti saranno in grado di capire immediatamente: il modulo Albero, ad esempio, o la funzione di conversione radianti-gradi.
  • Le dipendenze della libreria sono relativamente minime: OpenGL e SDL, principalmente.

Buona fortuna, e spero che questo aiuti.

4

xmonad è una buona idea, come altri hanno detto, se è possibile esibire a loro. Tra l'altro, Simon Peyton Jones ha fatto uso molto interessante di xmonad nel suo tutorial "A Taste of Haskell" http://research.microsoft.com/en-us/um/people/simonpj/papers/haskell-tutorial/index.htm

E 'meno visivo, naturalmente, ma ho pensato per essere messa in un voto per Pandoc - concentrandosi sul modulo centrale incredibilmente semplice, the definition of a 'document', e mostra come le pure funzioni esportate dal 'writers' e 'readers' (readMarkdown, writeLatex ecc.) si riferiscono ad esso.