Questo modulo implementa un certo numero di elementi base per la costruzione degli iteratori ispirati ai costrutti dei linguaggi di programmazione Haskell e SML. Entrambi sono stati riadattati ad una forma adeguata per Python.
Il modulo standardizza un nucleo di strumenti veloci ed efficienti nell'uso della memoria, che sono utili separatamente o in combinazione. La standardizzazione aiuta ad evitare i problemi di leggibilit� ed affidabilit� che sorgono quando differenti individui creano le loro personali implementazioni, che differiscono lievemente fra loro, ognuna con le proprie variazioni e convenzioni sui nomi.
Gli strumenti sono stati progettati per poter essere utilizzati in combinazione. Questo semplifica la costruzione di strumenti pi� specializzati in modo sintetico ed efficiente in puro Python.
Per esempio, SML fornisce uno strumento di tabulazione: tabulate(f) che
produce una sequenza di f(0), f(1), .... Questo modulo
fornisce imap() e count() che possono essere
combinati per formare imap(f, count()) e produrre un risultato
equivalente.
In maniera simile, gli strumenti funzionali sono stati progettati per cooperare in modo adeguato con le funzioni ad alta velocit� fornite dal modulo operator.
L'autore del modulo accetta volentieri suggerimenti per altri semplice elementi base da inserire nelle future versioni del modulo.
Che siano realizzati in puro Python o in codice C, gli strumenti che sfruttano gli iteratori sono pi� efficienti nell'uso della memoria (e pi� veloci) rispetto ai corrispondenti basati sulle liste. Adottando il principio della realizzazione in tempo reale, creano dati dove e quando necessario, evitando di tenere occupata la memoria del computer come se fosse un ``magazzino''.
Il vantaggio prestazionale degli iteratori diventa sempre pi� evidente man mano che aumenta il numero degli elementi - in alcuni casi, le liste divengono talmente grandi da provocare un pesante impatto sulle prestazioni della memoria cache e causarne il rallentamento.
Vedete anche:
The Standard ML Basis Library, The Standard ML Basis Library.
Haskell, A Purely Functional Language, Definition of Haskell and the Standard Libraries.