Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
Peter J. Jones 402c023744 Style changes so the code fits on slides for a presentation 5 лет назад
src Style changes so the code fits on slides for a presentation 5 лет назад
util @ 36a98650ac Clean a few things up, implement reading from STDIN or several files 5 лет назад
.gitignore Bring in the haskell-util submodule 5 лет назад
.gitmodules Bring in the haskell-util submodule 5 лет назад
GNUmakefile Bring in the haskell-util submodule 5 лет назад
LICENSE Initial commit 5 лет назад
README.md Add basic README file 5 лет назад
Setup.hs Initial commit 5 лет назад
wc-streams.cabal Clean a few things up, implement reading from STDIN or several files 5 лет назад

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