Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
Peter J. Jones 402c023744 Style changes so the code fits on slides for a presentation vor 5 Jahren
src Style changes so the code fits on slides for a presentation vor 5 Jahren
util @ 36a98650ac Clean a few things up, implement reading from STDIN or several files vor 5 Jahren
.gitignore Bring in the haskell-util submodule vor 5 Jahren
.gitmodules Bring in the haskell-util submodule vor 5 Jahren
GNUmakefile Bring in the haskell-util submodule vor 5 Jahren
LICENSE Initial commit vor 5 Jahren
README.md Add basic README file vor 5 Jahren
Setup.hs Initial commit vor 5 Jahren
wc-streams.cabal Clean a few things up, implement reading from STDIN or several files vor 5 Jahren

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