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.4.13.1-bp156.1.1 / aarch64Osservato Sep 1, 2026sha512 12f55a410f4d…4a5a4495Impronta 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): 12f55a410f4d250fbf0895d023dba94d943db51602c285efc1adb96a7fc2d55a337b0576a980793207b942b6795630ad5ee226780d828437e3679ff44a5a4495
0.4.13.1-bp156.1.1 / ppc64leOsservato Sep 1, 2026sha512 a9b7fd2d8b29…be2c7ffdImpronta 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): a9b7fd2d8b29de9303b9a1b5dac3ee31ea3958f233abf938a6de7664b9d1cab39f63b8d551020c07e7840bf766ace8013f22c921cafe7b15edba9e02be2c7ffd
0.4.13.1-bp156.1.1 / s390xOsservato Sep 1, 2026sha512 48ee4bf74d18…bfa125d3Impronta 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): 48ee4bf74d181a7d184fd4ebaf5df42edb45ce2bdc12b748b5c51b9b53ff1dbed0158d13d4af03b3f0eca23f47023f861524775735145eca8f20f9c6bfa125d3
0.4.13.1-bp156.1.1 / x86_64Osservato Sep 1, 2026sha512 bdc58a573036…67d8e10cImpronta 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): bdc58a5730360e661784ab90758c8a838643d0362e4ef204d779342bac1a7223470f36a03f644123d20f066930c80ccdeb9f96407ce1807fee00c63d67d8e10c