
Hello, I'm pleased to announce the first release of HSH. HSH is designed to let you mix and match shell expressions with Haskell programs. With HSH, it is possible to easily run shell commands, capture their output or provide their input, and pipe them to/from other shell commands and arbitrary Haskell functions at will. HSH makes it easy to run shell commands. But its real power is in piping. You can pipe -- arbitrarily -- between external programs, pure Haskell functions, and Haskell IO functions, mixing and matching at will. Here are a few examples to get you started: runS $ "echo /etc/pass*" -> "/etc/passwd /etc/passwd-" run $ "ls -l" -|- "wc -l" -> 12 run $ "ls -l" -|- wcL -> 12 wcL is a pure Haskell function: wcL :: [String] -> [String] wcL inp = [show $ genericLength inp] More information, including downloads and further examples, is at the HSH homepage: http://software.complete.org/hsh -- John