[Haskell-beginners] [OT] Haskell-inspired functions for BASH

Patrick LeBoutillier patrick.leboutillier at gmail.com
Thu Feb 18 11:31:33 EST 2010


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?
- Does anyone find this interesting?
- Any other comment/suggestion/feedback


Thanks a lot,

Patrick LeBoutillier


-- 
=====================
Patrick LeBoutillier
Rosemère, Québec, Canada


More information about the Beginners mailing list