
On 08/11/2014 08:41 PM, Bram Neijt wrote:
Dear reader,
I'm still new to haskell, and decided to convert a simple bash script to a full-on-bells-and-whistles Haskell program (as a learning experience). As you might guess I could use some help.
The program is very simple, in Bash it reads: CMDPATTERN="$@" while [[ "`pgrep --count --full "$CMDPATTERN"`" -gt 1 ]]; do sleep 5 done
AKA: while there is a command running with the given string, loop. I called this script "after" and use it on the commandline to chain commands from different terminals.
The Haskell version is available at https://github.com/bneijt/after
What I have done: - Add Travis CI - Add a first test case using test-framework - Add commandline option parsing using "options" - Implement a fork-join behavior using parallel-io
What I would like help with: - How to add a --version that reflects the after.cabal version?
You can use the symbols cabal generates at build time. See [1].
- Is there a library for what I'm doing in Process.hs (listing running processes, etc.)? - How to add "-p <pid>" support, so I can do "after -p 129 -p 402" (after both pids)
Hm, I don't know. Seems like you could use waitForProcess from the process package but it doesn't seem to expose a way to create a ProcessHandle without spawning the process ourselves which is reasonable I suppose. You might need to implement something yourself. If you find out how to solve your previous question then this should become easy.
- Should I move from exitcode-stdio-1.0 to detailed-1.0? - Any and all other hints you might have
Also if you have projects you want to point to for inspiration, I'd be happy to take a look.
Greetings,
Bram _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[1]: http://stackoverflow.com/questions/2892586/how-can-my-haskell-program-or-lib... -- Mateusz K.