| Flussi Streams è una libreria I / O progettata per sostituire le strutture I / O corrente in base all'utilizzo di maniglie. |
Scarica ora |
Flussi Classifica e riepilogo
- Nome editore:
- Bulat Ziganshin
- Sito web dell'editore:
- http://haskell.org/haskellwiki/Library/Streams
Flussi Tag
Flussi Descrizione
STREAMS è una libreria I / O progettata per sostituire l'attuale impianti I / O in base all'utilizzo di maniglie. STREAMS è una libreria I / O progettata per sostituire l'attuale impianti I / O in base all'utilizzo di maniglie. Il vantaggio principale è il suo forte design modulare con Typeclasses. Consiste di piccoli moduli indipendenti, ciascuno implementazione di un tipo di flusso (file, buffer di memoria, tubo, ecc.) O da una parte della funzionalità comune del flusso (buffering, codifica del char, bloccaggio, ecc.). La libreria di 3a partito può facilmente aggiungere Nuovi tipi di flussi e nuove funzionalità comuni. Altri vantaggi della nuova biblioteca includono il supporto per i flussi di flussi che funzionano in qualsiasi compatibilità monaca, abbracci e ghc, alta velocità e un facile percorso di migrazione dalla libreria I / O esistente. È fortemente basato sul modulo HVIO scritto da John Goerzen.Simple Streams Il concetto chiave della chiave della lib è la classe di stream, la cui interfaccia imita un'interfaccia familiare per le maniglie, solo con "H" sostituito con "V" nei nomi delle funzioni: Classe (Monad m) => Stream mh dove vputstrln :: h -> stringa -> m () vogacontents :: h -> m stringa visisef :: h -> m bool vclose :: h -> m () ...... .............. Questo significa che sai già come usare qualsiasi flusso! L'interfaccia Stream ha attualmente 8 implementazioni: una maniglia stessa, file grezzi, tubi, buffer di memoria e buffer di stringa. I piani futuri includono il supporto per i file mappati a memoria, le prese, i buffer circolari della memoria per la comunicazione interprocessa e i flussi basati su Uarray. Da soli, queste implementazioni del flusso sono piuttosto semplici. Basticamente, per implementare il nuovo tipo di streaming, è sufficiente fornire operazioni VUPTFUF / VGETBUF o anche VGetChar / Vputhar. Quest'ultimo modo, anche se inefficiente, ci consente di implementare flussi che possono funzionare in qualsiasi monade. StringReader e StringBuffer Streams Utilizzare questo per fornire implementazioni di classe Stream basate su corde sia per IO e St Monad. Sì, puoi usare la piena potenza delle operazioni di flusso all'interno della st monada!
Flussi Software correlato