Un classique de la programmation de l'exercice est d'écrire un Lisp/Scheme interprète Lisp/Scheme. La puissance de la pleine langue peut être mis à profit pour produire un interprète pour un sous-ensemble de la langue.
Est-il un exercice similaire pour Haskell? J'aimerais mettre en œuvre un sous-ensemble de Haskell à l'aide de Haskell que le moteur. Bien sûr, il peut être fait, mais y at-il toutes les ressources en ligne disponibles à l'oeil?
Edit: Voici la trame de fond.
Je me penche sur l'idée d'utiliser Haskell comme langue d'explorer quelques-uns des concepts dans une des Structures Discrètes sûr, je suis d'enseignement. Pour ce semestre, j'ai décidé de Miranda, une petite langue qui a inspiré Haskell. Miranda est d'environ 90% de ce que je voudrais faire, mais Haskell fait près de 2000%. :)
Donc, mon idée est de créer un langage qui a exactement les caractéristiques de Haskell que je voudrais et rejette tout le reste. Comme la progression des élèves, je peux sélectivement activer diverses fonctions une fois qu'ils ont maîtrisé les bases.
Pédagogique "niveaux de langue" ont été utilisés avec succès pour enseigner Java et de Régime. En limitant ce qu'ils peuvent faire, vous pouvez les empêcher de se tirant dans le pied alors qu'ils sont encore la maîtrise de la syntaxe et les concepts que vous êtes en train d'enseigner. Et vous pouvez offrir de meilleurs messages d'erreur.