Maxime et Olivier ont déjà mentionné le désir de faire la conception
d'un nouveau langage de programmation dans le cadre d'études
doctorales. Voici un exemple de PhD réussi en décembre dernier avec
cette approche:
Gnu epsilon - an extensible programming language
http://arxiv.org/abs/1212.5210
Reductionism
is a viable strategy for designing and implementing practical
programming languages, leading to solutions which are easier to
extend, experiment with and formally analyze. We formally
specify and implement an extensible programming language, based on
a minimalistic first-order imperative core language plus strong
abstraction mechanisms, reflection and self-modification features.
The language can be extended to very high levels: by using
Lisp-style macros and code-to-code transforms which automatically
rewrite high-level expressions into core forms, we define closures
and first-class continuations on top of the core.
Non-self-modifying programs can be analyzed and formally reasoned
upon, thanks to the language simple semantics. We formally develop
a static analysis and prove a soundness property with respect to
the dynamic semantics. We develop a parallel garbage collector
suitable to multi-core machines to permit efficient execution of
parallel programs.
L'important c'est la thèse, que j'ai mise en italique, qui est
avancée et supportée par l'implémentation et qui justifie la
démarche. Notons qu'il ne s'agit pas d'un argument de performance et
que l'étendue des fonctionnalités supportées semble suffisant pour
supporter la thèse. Pour le reste, je dois encore lire la thèse pour
juger du choix des primitives ;-).
Erick
PS: Originellement découvert sur Lambda-the-Ultimate:
http://lambda-the-ultimate.org/node/4671