NOTA: Se stai scrivendo un’app, probabilmente vuoi
<http://hackage.haskell.org/package/microlens-platform microlens-platform> – ha
il maggior numero di funzionalità. <http://hackage.haskell.org/package/microlens microlens>
è pensata più per gli autori di librerie che vogliono una minuscola libreria di lenses (dopo tutto,
le lenses sono piuttosto utili per quasi tutto, non solo per aggiornare i records!).
Questa libreria è un estratto da <http://hackage.haskell.org/package/lens lens>
(senza dipendenze). Non è una libreria di lenses giocattolo, inadatta al «mondo
reale», ma semplicemente una piccola. È compatibile con lens e dovrebbe avere le
stesse prestazioni. Ha anche una documentazione migliore.
C’è un readme più lungo <https://github.com/stevenfontanella/microlens#readme
su Github>. Contiene una guida alla migrazione per gli utenti di lens, una descrizione degli altri
pacchetti della famiglia, una discussione di altre librerie di lenses che potresti usare
invece, e così via.
Ecco alcuni casi d’uso per questa libreria:
* Vuoi definire lenses o traversals nella tua libreria, ma non vuoi
dipendere da lens. Avere le lenses disponibili spesso rende più piacevole
lavorare con una libreria.
* Vuoi solo poter usare le lenses per trasformare i dati (o anche solo usare
'over _1' per cambiare il primo elemento di una tupla).
* Sei nuovo alle lenses e vuoi una piccola libreria con cui sperimentare.
Tuttavia, non usare questa libreria se:
* Hai bisogno di 'Iso's, 'Prism's, traversals indicizzati, o in realtà qualsiasi altra cosa
che non sia definita qui (anche se alcune funzioni indicizzate sono disponibili altrove
– containers e vector le forniscono per i loro tipi, e
<http://hackage.haskell.org/package/ilist ilist> fornisce funzioni indicizzate per
le liste).
* Vuoi una libreria con un’implementazione pulita e comprensibile (nel qual caso
stai cercando <http://hackage.haskell.org/package/lens-simple
lens-simple>).
Come già detto, se stai scrivendo un’applicazione che usa le lenses in modo più
estensivo, guarda <http://hackage.haskell.org/package/microlens-platform
microlens-platform> – combina le funzionalità della maggior parte degli altri pacchetti microlens
(<http://hackage.haskell.org/package/microlens-mtl microlens-mtl>,
<http://hackage.haskell.org/package/microlens-th microlens-th>,
<http://hackage.haskell.org/package/microlens-ghc microlens-ghc>).
Se vuoi esportare getters o folds e non ti dispiace la
dipendenza <http://hackage.haskell.org/package/contravariant contravariant>,
considera di usare <http://hackage.haskell.org/package/microlens-contra
microlens-contra>.
Se non hai mai usato le lenses prima, leggi
<http://hackage.haskell.org/package/lens-tutorial/docs/Control-Lens-Tutorial.html
questo tutorial>. (È per lens, ma si applica altrettanto bene a microlens.)
Nota che microlens non ha dipendenze a partire da GHC 7.10 (base-4.8).
Prima di allora, dipende da transformers-0.2 o superiore.
Paths come from the repository package-file index for the observed builds. They describe archive/package associations, not every file that will exist on a running system after maintainer scripts, alternatives, generated state, diversions, or installation choices.
Ogni riga è metadato dell'indice pacchetti per una versione, architettura, suite e repository. Nomi, URL e dimensioni arrivano dalla fonte; un link è un punto di recupero mutabile, non una redistribuzione OpenFactory.
Repository signatures authenticate metadata. Artifact hashing is recorded separately. Neither establishes package safety.
0.5.0.0-1.8 / x86_64Osservato Sep 1, 2026sha512 276c5eb81ef4…06620116Impronta della fonte
Metadata observed; artifact bytes were not independently fetched or hashed by this catalog import. The digest below is source-reported.
Impronta della fonte (sha512): 276c5eb81ef4f7c3a5512c62e80f5513db97356da827e61758e3e2f6d4bdfd0917af84e456e58617c7b19032188c27475dff6b89bcefd6035785ecb006620116