toolz est une ensemble de fonctions d’utilité générale pour les itérateurs, les fonctions et les dictionnaires.

Toutes ces nouvelles fonctions sont :

  • Composables (sont interopérables)
  • Sans effet de bord
  • Efficientes : ne calculent que le necéssaire
  • Low Tech : Pas d’artifice ou de syntaxe complexe à apprendre
  • Optimisées
  • Sérialisables ; elles supportent les solutions courantes de calcul parrallélisé

toolz est divisé en trois sous-modules :

  • itertoolz pour les interactions avec les itérateurs (par exemple, groupby, unique, interpose, …)
  • functoolz pour les fonctions d’ordre supérieur (par exemple, memoize, curry, compose, …)
  • dicttoolz pour les opérations sur les dictionnaires (par exemple, assoc, update-in, merge)

Toutes ces fonctions sont inspirées des langages fonctionnels travaillant sur des listes. Des tâches assez complexes peuvent être effectuées en couplant plusieurs de ces fonctions.