
Patrick LeBoutillier wrote:
Hi all,
I've been studying Haskell for about a year now, and I've really come to like it. In my daily work I write a lot of BASH shell scripts and I thought I'd try add some of the haskell features and constructs to BASH to make my scripting life a bit easier. So I've been working on a small BASH function library that implements some basic functional programming building blocks.
Note: There is no actual Haskell code involved here.
All this is very prototypical, but here is an example of some of the stuff I've got so far (map, filter, foldr):
$ ls data 1.txt 2.txt
# basic map, argument goes on the command line $ ls -d data/* | map basename 1.txt 2.txt
# map with lambda expression $ ls -d data/* | map '\f -> basename $f .txt' 1 2
# simple filter, also works with lambda $ ls -d data/* | map basename | filter 'test 1.txt =' 1.txt
# sum $ ls -d data/* | map '\f -> basename $f .txt' | foldr '\x acc -> echo $(($x + $acc))' 0 3
Before I continue with this project, I'm looking for a bit of feedback/info: - Does anyone know if there are already similar projets out there?
Once upon a time, there was the es shell, based on the Unix version of Tom Duff's Plan 9 rc shell, IIRC. It was intended to provide a functional language for shell programming. Never caught on at all, as far as I know, but it might be interesting. http://192.220.96.201/es/es-usenix-winter93.html Looks like there is a Google project for it: http://code.google.com/p/es-shell/
- Does anyone find this interesting?
Yep. :-) Looks pretty cool to me.
- Any other comment/suggestion/feedback
-- Tommy M. McGuire mcguire@crsr.net