Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
Peter J. Jones 402c023744 Style changes so the code fits on slides for a presentation il y a 5 ans
src Style changes so the code fits on slides for a presentation il y a 5 ans
util @ 36a98650ac Clean a few things up, implement reading from STDIN or several files il y a 5 ans
.gitignore Bring in the haskell-util submodule il y a 5 ans
.gitmodules Bring in the haskell-util submodule il y a 5 ans
GNUmakefile Bring in the haskell-util submodule il y a 5 ans
LICENSE Initial commit il y a 5 ans
README.md Add basic README file il y a 5 ans
Setup.hs Initial commit il y a 5 ans
wc-streams.cabal Clean a few things up, implement reading from STDIN or several files il y a 5 ans

README.md

Haskell / io-streams Implementation of wc

This repository contains an implementation of the POSIX wc utility written in Haskell using the io-streams library. It was written to demonstrate the io-streams library for the Boulder Haskell Programmers user group.

The Basics of the io-streams Library

The io-streams library allows you to write stream processing code that runs in constant space. It’s a streaming library similar to Conduit and Pipes but with significantly fewer features.

Basic features:

  • Values are read from an InputStream
  • InputStreams produce a Maybe a; Nothing means EOF
  • Values are written to an OutputStream
  • OutputStreams accept a Maybe a
  • Streams can be files, sockets, vectors, parsers, etc.

Pros and Cons

  • io-streams is great because…

    • It’s really easy to learn and use
    • Stream processing is very fast
    • It’s easy to compose stream functions together
  • io-streams is less desirable because…

    • It makes heavy use of the IO type
    • Limited functionality compared to Conduit and Pipes