7 votes

Comment mettre en œuvre un langage de programmation fonctionnel ?

Dans le paradigme fonctionnel, une fonction est une "structure de contrôle" primaire. Par exemple, le + est également traité comme une fonction et vous pouvez le faire circuler comme n'importe quel autre "objet". Je me demandais si, dans le cas où je devais implémenter un langage fonctionnel jouet, j'implémenterais les fonctions simples comme de vraies fonctions (c'est-à-dire que je traduirais + en une routine appelable) ou les traduire en instructions normales qui seraient placées "en ligne" dans le code traduit. Mais alors, avec la seconde stratégie, serais-je capable de les passer et de les appliquer partiellement comme en haskell ? Que pensez-vous de l'implémentation/traduction des fonctions en tant qu'idée centrale dans un langage fonctionnel ?

0voto

Je peux vous recommander le livre de PJL. J'ai écrit un compilateur avec l'aide de ce livre (en 1989-90, en Prolog) et le livre est une très bonne introduction au sujet.

Il est peut-être dépassé (il a été écrit en 1987, il y a 30 ans), mais il couvre encore très bien l'essentiel. Il est cependant complètement axé sur les langages paresseux comme Haskell. À l'époque, Haskell n'existait pas et le livre utilise LML ou Miranda, un langage prédécesseur, mais les langages sont très proches.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X