
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

On Thu, Mar 01, 2007 at 01:47:38PM -0600, John Goerzen wrote:
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.
Looks pretty cool. I had one question/comment/complaint, though, from the docs:
catFromS :: String -> String -> String
Takes a string and sends it on as standard output.
The input to this function is never read.
Shouldn't this be called echo? Or just let people use the preexisting function "const", which does the same thing? catFromS just seems confusing. -- David Roundy Department of Physics Oregon State University

On 2007-03-01, David Roundy
On Thu, Mar 01, 2007 at 01:47:38PM -0600, John Goerzen wrote:
The input to this function is never read.
Shouldn't this be called echo? Or just let people use the preexisting function "const", which does the same thing? catFromS just seems confusing.
You're right. I'll shortly release a 1.2.0 with this change.
participants (2)
-
David Roundy
-
John Goerzen