[Haskell-fr] Caractérisation des langages fonctionnels

Laurent Pierron Laurent.Pierron at inria.fr
Fri Mar 21 10:46:54 UTC 2014


Bonjour,

Récemment je me suis posé la question avec un collègue pour introduire un séminaire interne sur les langages fonctionnels, et on n’a pas réussi à trouver une réponse satisfaisante, on s’est heurté aux différents types de langage fonctionnel (Lisp, ML famille, Haskell, etc.), qui peuvent inclure des éléments de langages impératifs, des objets, des types algébriques ou uniquement des types simples et qui ont des stratégies d’évaluation différentes.

Personnellement, je dirais que dans un langage de fonctionnel l’exécution d’un programme se fait uniquement par substitution d’expression sans modification de l’état d’une machine alors que dans un langage impératif l’exécution se fait par évaluation d’expression et modification de l’état de la machine. 

On peut aussi dire que les langages fonctionnels sont basés sur le lambda-calcul de Church, alors que les langages impératifs sont basés sur la machine de Turing, mais il faut expliquer ce qu’est le lambda-calcul.


Laurent Pierron

Le 20 mars 2014 à 11:26, Gautier DI FOLCO <gautier.difolco at gmail.com> a écrit :

Bonjour,

Je vais peut-être poser une question très générale, mais qu'est-ce qui caractérise un langage de programmation fonctionnel ?
Je m'explique :
 - je sais qu'un LPF se base sur des expressions
 - je sais en reconnaître un quand j'en vois un

mais chaque fois qu'on me pose la question, je ne suis pas foutu de donner des éléments caractéristiques clairs.

Est-ce que vous auriez une "phrase toute faite" ou quelque chose qui me permette de l'expliquer simplement/clairement de manière juste ?

Merci par avance.
_______________________________________________
Haskell-fr mailing list
Haskell-fr at haskell.org
http://www.haskell.org/mailman/listinfo/haskell-fr



More information about the Haskell-fr mailing list