Functional Programming

langage de programmation informatique

Le Functional Programming, abrégé FP, est un langage créé par John Backus en 1977 dans son article intitulé « Can programming be liberated from the von Neumann style ? : a functional style and its algebra of programs » en français : « La programmation peut-elle se libérer du style de von Neumann ? : un style fonctionnel et son algèbre des programmes ».

La fonction factorielle s'y écrit :

Def fact = eq0 -> ~1 ; * o [ id, fact o sub1 ]

avec :

Def eq0 = eq o [ id, ~0 ]

Def sub1 = - o [ id, ~1 ]

Vue d'ensemble

modifier

Il existe plusieurs types de valeurs atomiques : booléens, entiers (positifs), caractères, symboles…

Étant donné des valeurs x1, …, xn, la suite <x1, …, xn> est elle-même une valeur pour le langage.

⊥ (« antitruc ») est la valeur « indéfini » ; elle est absorbante par formation de suite : si une suite comporte la valeur ⊥, alors elle est évaluée à ⊥.

<x1, …, ⊥, …, xn> = ⊥

Une fonction f transforme une valeur x en une autre, dénotée f:x.

Toute fonction est stricte (en), c'est-à-dire que si x s'évalue à ⊥, alors f:x = ⊥.

Fonctionnelles

modifier

Une fonctionnelle est une fonction opérant sur d'autres fonctions.

Exemples :

  • unit ;
  • composition ;
  • construction ;
  • condition ;
  • apply-to-all ;
  • insert-right ;
  • insert-left.

À voir aussi

modifier

Bibliographie

modifier

Liens externes

modifier