Ramda : une bibliothèque pour faire de la programmation fonctionnelle avec JavaScript Open source, elle inclut la curryfication automatique

Les langages fonctionnels
auraient-ils le vent en poupe ?
C’est peut être le cas et certains
développeurs repensent leurs
applications à l’image d’IMVU qui
a réécrit une partie du back-end de son
application en langage Haskell, d’autres encore
penchent pour le développement de
bibliothèques dédiées à la programmation
fonctionnelle en se basant sur des langages
usuels très connus.
C’est le cas par exemple de Michael Hurley et
Scott Sauyet qui ont développé Ramda, une
bibliothèque dédiée à la programmation
fonctionnelle écrite en JavaScript, au même
titre qu’Underscore et Lodash.
Toutefois, contrairement aux deux
bibliothèques citées précédemment qui gardent
un semblant de langage non fonctionnel, la
bibliothèque Ramda modèle le langage
JavaScript à sa manière avec un résultat proche
des langages fonctionnels, sans oublier qu’elle
se base sur deux caractéristiques qu’elle ne
partage pas avec ses concurrentes :
Les fonctions en premier, les données en
dernier : le développeur construit en premier
ses fonctions puis introduit les données. Cette
drôle de manière de procéder peut être vue
comme un arbre où les fonctions (qui peuvent
être vues comme des opérateurs) sont les
nœuds et les données (qui peuvent être vues
comme les opérandes) sont les feuilles.
La curryfication automatique : principe cher à
la programmation fonctionnelle, il permet de
traduire une fonction à plusieurs arguments en
une fonction à un argument qui retourne une
fonction prenant le reste des arguments. Alors
que pour les autres bibliothèques, la
curryfication doit se faire de manière
manuelle, Ramda le fait automatiquement pour
toutes les fonctions prenant plus de deux
paramètres en entrée.
4
5
// fonction non curryfié
var value=R.prop(‘myProperty’,obj);
// equivalent de la curryfication automatique de la fonction précédente
var getprop=R.prop(‘myProperty’);
var value=getprop(obj);
Enfin, il est important de noter que Ramda est
open source et peut être utilisée avec Node.js
ou par un navigateur. Elle représente une
bonne alternative aux personnes souhaitant
programmer avec les paradigmes de la
programmation fonctionnelle tout en tirant
avantage de la puissance et des fonctionnalités
de JavaScript. Le seul reproche de Ramda est
sa documentation qui manque de lisibilité.

Publicités
%d blogueurs aiment cette page :