DominusCarnufex, Dinosaure a raison : les objets dans OCaml sont un très bon exemple d'un duck typing statique. On entend plus souvent parler de « typage structurel » quand c'est statique (parce que ça fait plus sérieux ?), mais ça désigne exactement la même chose (cela dit je ne comprends pas trop moi non plus pourquoi c'est cet article qu'il t'a donné.)
Il a raison aussi en disant qu'il ne faut pas sous-estimer la tâche : implémenter un langage complet, c'est dur. À mon avis, commencez par un petit langage impératif (avec un typage statique) simple, il sera toujours possible de rajouter des choses après (mais si vous arrivez déjà à un interpréteur complet pour un langage impératif avec des procédures, ce sera un réel succès). Un petit Lisp (avec un système de types simple), c'est aussi une bonne idée sur le papier, mais c'est probablement moins dans la zone de confort de ceux qui pourraient profiter du projet pour apprendre des choses, donc je suis moins convaincu.
Pour le langage d'implémentation, choisissez un langage expressif. Il y a un cours pas trop mal sur http://progmod.awesom.eu/tutoriel/10/interpreter-un-petit-langage-imperatif/index.html pour écrire un interpréteur pour un langage impératif très simple en OCaml si vous voulez (si vous partez sur Lisp, vous pourrez l'utiliser aussi, le cours consiste surtout à présenter les outils pour faire l'analyse syntaxique).
Si OCaml vous fait trop peur, il y a des trucs en Python pour faire de l'analyse syntaxique proprement (PLY, de mémoire). C'est dommage de se priver des outils des langages fonctionnels fortement typés pour manipuler les arbres et les structures riches qu'on rencontre quand on manipule des programmes, mais ça restera un meilleur choix qu'un Java (ANTLR, c'est relativement puissant, mais beaucoup trop compliqué) ou un C (la gestion de la mémoire, vraiment, vous avez autre chose à faire).
Ceci étant dit, vous pouvez aussi avoir plusieurs projets : certains auront envie de faire ça dans leur coin pour implémenter des idées à eux, d'autres auront trop peur de s'y lancer de but en blanc et préfèreront contribuer des petits trucs à quelque chose d'existant.
Dans tous les cas, c'est une très bonne idée. Espérons que ça marche, et n'hésitez pas à venir en parler ici souvent (surtout si vous faites ça en OCaml, ça nous changera un peu.)
Vous savez à quoi servira ce langage ?
À rien. Il ne faut pas espérer écrire le futur remplaçant du Python, c'est complètement hors de portée. Mais implémenter un langage (un interpréteur dans un premier temps, puis pourquoi pas un compilateur, peut-être en commençant par un langage cible relativement facile comme le C) est un excellent exercice de programmation, qui vous apprendra énormément de choses. Lancez-vous !